Qu'est-ce qu'un chiffre asymétrique extrêmement basique que je peux présenter au pub?


30

J'essaie d'expliquer les bases du Bitcoin à mes parents.

L'un des principaux composants du bitcoin est la signature de transactions pour s'assurer que votre identité ne peut pas être usurpée, et donc la nécessité d'expliquer un chiffrement asymétrique simplifié.

Qu'est-ce qu'un chiffrement asymétrique extrêmement simple que je peux utiliser comme exemple?

Comment ce chiffrement simplifié peut-il être utilisé pour la signature?


17
Pourquoi auriez-vous besoin de vous lancer dans la cryptographie pour parler au Bitcoin d'un pub? À ma connaissance, le bitcoin résout le problème du maintien d'un grand livre distribué, en évitant spécifiquement le problème de la double dépense. La motivation est d'éviter d'avoir une autorité centrale, et cela peut être réalisé en permettant à chaque participant d'approuver une transaction (au lieu de donner cette autorité à la banque). Pour éviter que les participants adversaires approuvent leurs propres transactions invalides, le concept de preuve de travail est introduit. Pas besoin de parler de cryptographie à clé publique.
Ariel

@Ariel La cryptographie à clé publique, ou au moins les signatures numériques, intervient lorsque vous voulez savoir que la personne qui dit d'envoyer 3 BTC d'Ariel à Ryan est en réalité Ariel.
Derek Elkins

1
D'accord, mais ce n'est pas spécifique au bitcoin, donc ses parents ne le trouveront que déroutant.
Ariel

1
Vous pouvez expliquer la crypto asymétrique, la chaîne de blocs ou le Bitcoin. Choisissez-en un.
Raphael

2
Cette question peut être mieux adaptée à la cryptographie .
Raphael

Réponses:


28

Si vous souhaitez présenter la cryptographie à clé publique à vos parents ou amis, je vous suggère de suivre quelques directives. Tout d'abord, ne parlez pas de fonctions spécifiques, personne ne se soucie de SHAxxx, gardez votre discours conceptuel. Le problème résolu par la cryptographie à clé publique permet à deux parties qui ne se sont jamais rencontrées auparavant d'échanger des informations en toute sécurité sur un canal public. Ne confondez pas cela avec d'autres applications obtenues par le chiffrement à clé publique, telles que les signatures numériques ou l'authentification.

PS1,S2P,S1P,S2P,S1,S2

xproblème. La motivation est d'éviter d'avoir une autorité centrale, et cela peut être réalisé en permettant à chaque participant d'approuver une transaction (au lieu de donner cette autorité à la banque). Pour éviter que les participants adversaires n'approuvent leurs propres transactions invalides, le concept de preuve de travail est introduit. POW utilise le hachage comme une boîte noire, vous pouvez donc éviter de mentionner des candidats spécifiques.


Bitcoin résout à la fois le problème de la double dépense (ce qu'il fait via la blockchain, pour lequel l'algorithme de "preuve de travail" que vous décrivez est essentiel) et l'authentification distribuée des demandes de transfert (qui est moins souvent discutée, car elle se résume à un déjà - problème résolu, c.-à-d. authentification des messages via des clés asymétriques).
Jules

15

Une métaphore courante que j'entends utilisée est la fabrication d'un tas de cadenas, la conservation de toutes les clés et l'envoi de cadenas ouverts à tous ceux qui le souhaitent. Ensuite, toute personne possédant un tel cadenas peut vous envoyer des messages secrets en les mettant dans une boîte, puis en utilisant l'un de vos cadenas pour le verrouiller avant de vous l'envoyer. Personne d'autre que vous n'a les clés, de sorte que même l'expéditeur ne peut pas déverrouiller la boîte une fois verrouillée - en particulier, le service postal ne peut pas du tout espionner votre message. Ils pourraient même avoir un cadenas de votre part, mais cela ne les aide pas à déverrouiller la boîte.

(Je fournis cet exemple pour répondre à votre question comme indiqué, sans aucune opinion particulière quant à savoir s'il est réellement utile pour l'explication du bitcoin.)


1
C'est une explication utile du cryptage asymétrique, mais pour expliquer comment fonctionne le bitcoin, ce dont vous avez vraiment besoin est la vérification de signature , qui est le contraire: vous avez un lot de cadenas qui se cassent lorsque vous les ouvrez, et envoyez des clés à toute personne qui pourrait en avoir besoin leur. Ensuite, lorsque vous envoyez un message, vous le mettez dans une boîte et y mettez un cadenas, afin que quiconque possédant la clé puisse vous dire que vous l'avez envoyé.
Jules

@Jules J'aime vraiment cette explication, la rendant analogue à un sceau de sabotage.
Ryan The Leach

7

Le problème avec l'explication des cyphers asymétriques (et la raison pour laquelle la plupart des explications pop ne parviennent pas à expliquer quoi que ce soit) est qu'ils sont liés à l'idée qu'il existe des problèmes qui sont (soi-disant) insolubles, ce qui est l'une des idées derrière la complexité de calcul.

Une fois ce point franchi, un chiffre asymétrique n'est "qu'une" fonction facile à calculer mais difficile à inverser. Vous pouvez même créer le vôtre, voir l'implémentation originale d'échange de clés Diffie-Hellman comme référence.


3
Ce n'est pas toute l'histoire. Il doit être difficile à inverser sauf si vous avez la clé privée.
Ben Millwood

+1 pour Diffie-Hellman. C'est un protocole assez simple à expliquer, qui correspond à l'exemple des couleurs.
Ariel

4

Je ne pense pas qu'il existe un système de chiffrement asymétrique facilement démontrable. Décrivez plutôt ce qu'il fait, pas comment il le fait. En fait, j'ai dû le faire récemment pour décrire le fonctionnement de PGP. Pour BitCoin, concentrez-vous sur la deuxième partie, la signature des messages.

Je peux créer deux numéros liés. L'une s'appelle la clé privée , l'autre la clé publique . Je garde le premier secret et je le dis à tout le monde. Quiconque souhaite m'envoyer un message prend ma clé publique et chiffre son message avec. Une fois cela fait, personne ne peut décrypter le message, pas même l'expéditeur. Lorsque je reçois le message, je peux le déchiffrer avec ma clé privée.

Ou, je peux crypter un message avec ma clé privée et envoyer le message crypté et non crypté à une deuxième personne. S'ils ont ma clé publique, ils peuvent déchiffrer la partie chiffrée du message, et ce sera la même chose que la partie non chiffrée. Cela montre que j'étais la personne qui a chiffré le message.

S'ils demandent comment les clés sont générées, alors dites

Je pense à deux très grands nombres premiers, puis je les transforme par une fonction mathématique. Il crache les clés privées et publiques.

C'est bien sûr ignorer le fait que le cryptage asymétrique ne fonctionne normalement pas sur le message lui-même, mais sur une clé de session (pour le cryptage) ou sur un hachage (vérification de signature). Il ignore également l'exigence très importante que vous devez garder votre clé privée privée - toute personne y ayant accès peut prétendre être vous.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.