Une clé publique peut-elle être utilisée pour déchiffrer un message chiffré par la clé privée correspondante?

21

D'après ce que j'ai vu sur l'utilisation d'une paire de clés publiques et privées, la clé publique est utilisée pour crypter un message et la clé privée est utilisée pour décrypter le message crypté.

Si un message est chiffré par la clé privée, peut-il être déchiffré par la clé publique correspondante?

Si oui, pouvez-vous donner quelques exemples d'utilisation de ce boîtier?

Merci.

Tim
la source
Pourquoi voudriez-vous le chiffrer si la clé de déchiffrement était publique?
Bergi
5
@Bergi Signature numérique?
user11153
6
@Bergi: La réponse longue: en chiffrant un message avec votre clé privée d'une manière qui peut être déchiffrée avec votre clé publique, vous pouvez envoyer un message qui peut être lu par n'importe qui mais qui n'a pu être écrit que par vous. En chiffrant d'abord avec votre clé privée, puis avec la clé privée du destinataire, vous créez un message qui ne peut être déchiffré que par le destinataire prévu et qui ne peut avoir été écrit que par vous.
gnasher729
2
@ gnasher729 Je pense que vous vouliez d'abord chiffrer avec votre clé privée puis avec la clé publique du destinataire . Vous n'êtes pas censé avoir la clé privée de quelqu'un d'autre
kiamlaluno

Réponses:

49

Q: Si vous pédalez en arrière sur un poisson, est-ce qu'il recule?
UNE: ???

Un poisson n'est pas un vélo. De même, vous ne pouvez pas utiliser une clé privée pour crypter un message ou une clé publique pour décrypter un message. Ils n'ont pas le bon équipement.

Avec RSA , qui est un cryptosystème à clé publique populaire mais pas le seul, la clé privée et la clé publique ont les mêmes propriétés mathématiques, il est donc possible de les utiliser de manière interchangeable dans les algorithmes. (Ils n'ont pas les mêmes propriétés de sécurité, cependant - la clé publique est généralement facilement devinable à partir de la clé privée.) Vous pouvez prendre un algorithme de chiffrement RSA et lui donner une clé privée, ou un algorithme de déchiffrement RSA et le nourrir un public clé. Cependant, les résultats ne sont pas significatifs selon les algorithmes standard.

Cette symétrie entre les clés publiques et les clés privées ne s'étend pas à la plupart des autres cryptosystèmes à clé publique. En général, la clé publique n'est pas le bon type d'objet mathématique à utiliser pour l'algorithme de décryptage, et la clé privée n'est pas le bon type d'objet mathématique à utiliser pour l'algorithme de cryptage.

Cela dit, les cryptosystèmes à clé publique sont basés sur le concept de fonctions de trappe . Une fonction unidirectionnelle est une fonction facile à calculer, mais dont l'inverse est difficile à calculer. Une fonction de trappe est comme une fonction à sens unique, mais il existe une valeur «magique» qui rend l'inverse facile à calculer.

Si vous avez une fonction de trappe, vous pouvez l'utiliser pour créer un algorithme de chiffrement à clé publique: à l'avenir (dans la direction la plus simple), la fonction crypte; en reculant (dans la direction difficile), la fonction décrypte. La valeur magique requise pour déchiffrer est la clé privée.

Si vous avez une fonction de trappe, vous pouvez également l'utiliser pour créer un algorithme de signature numérique : en reculant (dans la direction difficile), la fonction signe ; aller de l'avant (dans la direction facile), la fonction vérifie une signature. Encore une fois, la valeur magique requise pour signer est la clé privée.

Les fonctions de trappe viennent généralement dans les familles; les données nécessaires pour spécifier un élément particulier de la famille sont la clé publique.

Même si le chiffrement à clé publique et les signatures numériques reposent sur les mêmes concepts, ils ne sont pas strictement identiques. Par exemple, la fonction de trappe RSA est basée sur la difficulté d'annuler une multiplication à moins que vous ne connaissiez déjà l'un des facteurs. Il existe deux familles courantes de schémas de chiffrement à clé publique basés sur RSA , appelés PKCS # 1 v1.5 et OAEP. Il existe également deux familles courantes de schémas de signature numérique basés sur RSA, appelés PKCS # 1 v1.5 et PSS. Les deux «PKCS # 1 v1.5» sont de conception similaire, mais ils ne sont pas identiques. Cette réponse de Thomas Pornin et cette réponse de Maarten Bodewes détaillent la différence entre signature / vérification et déchiffrement / chiffrement dans le cas de RSA.

Méfiez-vous que certaines présentations profanes de la cryptographie à clé publique masquent la signature numérique et la vérification en tant que décryptage et cryptage, pour des raisons historiques: RSA a été popularisé en premier, et le fonctionnement principal de RSA est symétrique. (L'opération principale de RSA, connue sous le nom de «manuel RSA», est l'une des étapes d'un algorithme de signature / vérification / chiffrement / déchiffrement RSA, mais elle ne constitue pas en soi un algorithme de signature, de vérification, de chiffrement ou de déchiffrement.) Ils sont symétriques de la vue 10000 pieds, mais ils ne sont pas symétriques une fois que vous entrez dans les détails.

Voir aussi Réduction des signatures au chiffrement? , ce qui explique que vous pouvez créer un schéma de chiffrement à partir d'un schéma de signature, mais uniquement sous certaines conditions.

Gilles 'SO- arrête d'être méchant'
la source
2
+1 pour avoir clairement expliqué une idée fausse que je ne savais même pas que j'avais quand j'ai cliqué sur cette question.
Ixrec
1
Merci. "la clé publique n'est pas le bon type d'objet mathématique à utiliser pour l'algorithme de décryptage, et la clé privée n'est pas le bon type d'objet mathématique à utiliser pour l'algorithme de cryptage." Voulez-vous dire qu'ils peuvent toujours être utilisés à ces fins, mais ne sont pas de bonnes options, ou ils ne peuvent pas l'être? Quelles propriétés mathématiques qui décident qu'elles ne sont pas du "bon" type, en plus des propriétés de sécurité (par exemple asymétrie de dureté pour deviner une clé de l'autre)?
Tim
2
Serait couper les deux premiers paragraphes, mais sinon, c'est une réponse très perspicace. Je suis venu ici d'une explication d'un profane sur le chiffrement / déchiffrement et la signature / vérification et comment la clé privée pourrait être utilisée pour "chiffrer", et votre réponse a clarifié exactement ce que je me demandais.
Kyle Chadha
Cet article est-il donc incorrect: globalsign.com/en/blog/how-do-digital-signatures-work ? Il mentionne qu'une clé publique est utilisée pour le décryptage et la clé privée est utilisée pour le cryptage
Kenneth Worden
@KennethWorden C'est généralement correct, mais certains détails sont faux. Sous «Application de la signature», «le hachage est crypté» doit être «le hachage est signé », et cela seul fait la signature numérique. Et sous "Vérification de la signature", il n'y a pas de "hachage déchiffré": pour la plupart des schémas de signature, vous ne pouvez pas récupérer le hachage de la signature, ce qui se passe à la place est qu'il y a une opération mathématique différente (appelée vérification) qui prend le hachage et la signature comme entrées et sorties «ok» ou «bad».
Gilles 'SO- arrête d'être méchant'
6

Lorsque le schéma PKE utilise une permutation de trappe comme boîte noire , le "chiffrement" avec la clé privée suivi du "déchiffrement" avec la clé publique donnera le message d'origine. Pour les autres schémas PKE, on ne peut même pas nécessairement comprendre cela. (Par exemple, essayer de "chiffrer" avec la clé privée peut être une erreur de type .)

[Le cryptage d'un message "par la clé privée" suivi du décryptage "par la clé publique correspondante"] est utilisé lorsque les gens pensent que le cas est pour les signatures numériques et ne sont pas corrigés à temps. Voir cette réponse et cette question .

Communauté
la source
4
Non. Vous perpétuez les mythes selon lesquels le manuel RSA est le seul cryptosystème à clé publique et cette signature est la même chose que le décryptage.
Gilles 'SO- arrête d'être méchant'
Le premier est un excellent point que je vais corriger. La dernière partie de votre commentaire est-elle due au fait que ma longue phrase n'est pas suffisamment claire?
4
Je ne comprends pas ce que vous entendez par «quand les gens pensent que c'est pour les signatures numériques». Il semble que vous disiez que les gens croient à tort que les signatures numériques sont différentes du cryptage à clé publique. Venant de vous, je suis sûr que ce n'est pas ce que vous vouliez dire, mais votre réponse est vraiment déroutante, même après avoir ajouté le premier paragraphe.
Gilles 'SO- arrête d'être méchant'
2

Oui, un message chiffré à l'aide d'une clé privée peut être déchiffré à l'aide de la clé publique.

En fait, cela est mis en œuvre pour vérifier l'authenticité des données. Dans la signature numérique, une personne crypte le hachage des données avec sa clé privée. N'importe qui peut déchiffrer le même avec la clé publique disponible de la personne et vérifier l'authenticité des données.

Kevin Amipara
la source
2
Vous pouvez le faire avec le cryptosystème RSA, mais pas avec tous les cryptosystèmes à clé publique. Le crypto-système El-Gamal est différent du schéma de signature El-Gamal, par exemple. Voir aussi la réponse de Gilles
Lézard discret
Vrai que. J'essayais de donner une réponse directe indépendamment des algorithmes particuliers @Discretelizard
Kevin Amipara
Merci d'avoir donné une réponse simple.
jrahhali
0

Considérez la clé publique d'un cryptage asymétrique comme un verrou au lieu d'une clé. Est-ce que le pirate qui a une serrure et une boîte verrouillée avec cette serrure déverrouillerait la boîte verrouillée? Bien sûr que non, et pour déverrouiller cette boîte, vous avez besoin de la clé de verrouillage. Qui n'a jamais été envoyé en public, et seul l'expéditeur l'a.

Cependant, la réponse est oui : D il est en fait possible pour un pirate de décrypter le message en utilisant uniquement la clé publique (verrou et boîte verrouillée). Mais c'est extrêmement difficile pour n'importe quel ordinateur aujourd'hui. Parce que la restauration de ce message chiffré à l'aide de cette clé publique est une opération mathématique très difficile, en particulier lorsque cette clé est aussi grande qu'un nombre de 2048 bits. La force de l'opération mathématique repose sur la dureté de la factorisation première d'un grand nombre.

Voici une bonne vidéo expliquant le fonctionnement de l'algorithme RSA https://www.youtube.com/watch?v=wXB-V_Keiu8

Mahmoud Zalt
la source
0

La question est valable en termes d'eMRTD où la clé publique AA est utilisée pour décrypter la réponse d'authentification interne cryptée par la clé privée eMRTD. Il fait partie de la norme OACI 9303.

MJR2022
la source