human
Comment fonctionnent les signatures numériques Et comment vous pouvez vérifier qu'elles sont authentiques sans pouvoir les falsifier. Explique comme si j'avais cinq ans.
gpt
Les signatures numériques reposent sur ce qu'on appelle la cryptographie à clé publique. Vous êtes probablement familier avec un [ chiffrement par rotation ] ( URL_0 ) . C'est là que vous encodez un message en substituant une lettre à une autre lettre qui se trouve plus tard dans l'alphabet. Le nombre de lettres que vous déplacez s'appelle la * clé * . Si votre clé est 1 , le cryptage d'un message fonctionne comme ceci : A => B , B => C , C => D , etc . Si votre clé est 5 , le cryptage fonctionne comme ceci : A = > F , B = > G , C = > H , etc . Vous envoyez ce message à un ami, qui connaît la clé que vous avez utilisée. Ils prennent chaque lettre, comptent à rebours dans l'alphabet le montant indiqué par la clé et remplacent les lettres de cette façon. S'ils le font correctement, ils devraient récupérer le message d'origine. Ceci est un exemple de _ chiffrement à clé symétrique _ , car la même clé ( le chiffre 5 ) a été utilisée pour chiffrer et déchiffrer le message . La cryptographie à clé symétrique est géniale et utile, mais elle ne peut pas être utilisée pour créer des signatures numériques. Entrez la cryptographie à clé publique . Dans la cryptographie à clé publique, il existe deux clés. Nous les appellerons A et B pour l'instant. La façon dont cela fonctionne est que tout message chiffré avec la clé A ne peut être déchiffré qu'avec la clé B. De plus, tout message chiffré avec la clé B ne peut être déchiffré qu'avec la clé A. Aussi, si vous n'avez qu'une des clés, c'est impossible de comprendre quelle est l'autre clé. Il existe plusieurs façons de procéder, mais la plus courante est appelée RSA. Il existe de nombreux articles et vidéos sur RSA si vous souhaitez en savoir plus. Maintenant que vous avez vos deux clés, A et B, vous en choisissez une (disons A) et vous la publiez quelque part où tout le monde peut la voir. Ceci est votre * clé publique * . Vous gardez l'autre (B) secret. Maintenant, si quelqu'un veut vous envoyer un message, il peut chiffrer le message avec la clé A. Puisque vous êtes la seule personne avec la clé B, vous seul pourrez le lire. Mais, rappelez-vous, vous pouvez faire les choses dans l'autre sens. Si vous cryptez quelque chose avec la clé B, n'importe qui avec la clé A peut le décrypter et le lire. Mais puisque la clé A est publique, et que tout le monde a la clé A, cela signifie que n'importe qui peut déchiffrer votre message, alors à quoi cela sert-il ? Eh bien, la clé A ne fonctionne qu'avec les messages chiffrés avec la clé B. Puisque vous êtes la seule personne avec la clé B, alors en déchiffrant ce message, le monde entier peut être sûr que * vous * avez envoyé le message. Le fait que le message puisse être déchiffré avec votre clé publique revient à avoir votre signature unique sur le message. C'est l'idée de base derrière les signatures numériques. Donc, disons que je veux t'envoyer un message secret, et quand tu le reçois, tu veux être sûr que c'est moi qui l'ai envoyé. Nous générons chacun une clé publique et une clé privée. Nous nous disons nos clés publiques. Je prends le message secret et je le chiffre d'abord avec ma clé privée. J'ai effectivement signé le message , mais n'importe qui avec ma clé publique peut toujours le lire . Donc , je le chiffre avec votre clé publique . Je vous l'envoie, vous le décryptez avec votre clé privée, puis le décryptez à nouveau avec ma clé publique. Vous avez maintenant un message secret que moi seul pouvais avoir envoyé.