Existe-t-il un moyen de modifier une clé publique d'une manière que le décryptage peut encore être fait avec la clé privée après une modification?

StackOverflow https://stackoverflow.com/questions/2361631

Question

Dans un schéma de cryptage asymétrique, je me demandais s'il était possible de réaliser ce qui suit:

  1. Bob envoie à Alice sa clé publique
  2. Alice modifie la clé publique de Bob et crypte un document avec
  3. Alice envoie le document crypté à Bob
  4. Bob récupère le document mais ne peut pas le décrypter avec sa clé privée
  5. Plus tard, Alice envoie des informations supplémentaires (probablement liées à la méthode qu'elle a utilisée pour modifier la clé publique de Bob) à Bob
  6. Bob utilise ces informations supplémentaires pour modifier sa clé privée et décrypter avec succès le document

Quelqu'un?

Je suppose que RSA pour la génération, le cryptage et le déchiffrement des clés, mais si c'est plus facile à faire avec un autre schéma, n'hésitez pas à commenter.

Était-ce utile?

La solution

(Je suppose que vous parlez de RSA.)

Oui c'est possible, mais pas à 100%.

La clé publique fait partie de la clé privée. Il contient le module et l'exposant de la clé.

Vous pouvez oublier complètement de changer le module, car vous devrez générer une nouvelle clés RSA, qui est le même problème que celle que nous essayons de résoudre.

Mais il est possible de changer l'exposant. Vous pouvez sélectionner n'importe quel numéro (premier) entre 1 et votre exposant comme nouvel exposant et espoir que c'est Coprime avec le total. Sans connaître le TOTIENT, il est impossible de sélectionner toujours un exposant correct. Pour découvrir le TOTIENT, vous devrez connaître les principaux facteurs de la clé, ce qui signifie que vous devrez briser la clé (amusez-vous!).

Alors, C'est en fait impossible Avoir une méthode de travail à 100% pour le faire, du moins pas tout en ne connaissant que la clé publique.

Si vous avez besoin de plus d'informations sur la vérification théorique ici

Autres conseils

J'espère que mon idée fonctionne.

Supposons que (e,d,n) est un tuple de l'exposant public RSA. L'exposant privé RSA et le module RSA n :

Sélectionnez un nombre premier, disons p, entre 1 et un entier de 256 bits.

À Crypter un message m, calculer le nouvel exposant public comme e*p et le texte chiffré comme:

c= m^{e*p} mod n.

À décrypter, le récepteur doit connaître le premier p, donc vous envoyez ceci p Plus tard à lui, avec ça, il calcule

(1) P = p^{-1} mod phi(n)

et

(2) m^e=c^{P} mod n

et

finalement m=(m^e)^d mod n. Cela fonctionne car le récepteur connaît PHI (n).

Au fait, où pouvons-nous utiliser ceci? Y a-t-il une application que vous avez en tête pour cela?

Comme le soyeux l'indique dans sa réponse, la façon dont la RSA est généralement utilisée pour crypter un document est en combinaison avec un algorithme symétrique, comme AES. Une clé aléatoire sécurisée est générée pour l'algorithme AES, le documenté est chiffré par cette clé AES, et la clé AES est chiffrée avec la clé publique du destinataire. Les deux pièces sont fournies au destinataire.

Vous pouvez vous adapter à votre situation simplement en envoyant uniquement le document crypté avec la clé AES dans la première étape, et en retenant la clé AES cryptée avec la clé publique du destinataire jusqu'à la deuxième étape. La première partie sera sur l'ordre de la taille du fichier d'origine, et la deuxième partie sera une petite taille constante (à l'ordre de la taille de la clé RSA).

Hum ... intéressant.

Vous faites référence à RSA, Je suppose?

Pour info, RSA n'est pas habitué à chiffrer les documents. Il est utilisé pour échanger des clés (clés pour un algorithme symétrique, comme AES).

Donc, ce dont vous parlez vraiment, c'est une approche qui change les clés.

Techniquement (mathématiquement) Si vous mettez un numéro différent, vous obtiendrez un autre numéro. Ce n'est donc pas un problème; Changer la clé publique d'une certaine manière (en supposant que vous convaincez votre implémentation RSA de l'utiliser, ou de préparer un nombre approprié différent) entraînera une clé symétrique différente, donc un document uncryptable de Bob (car il s'attendra à une clé différente).

Vraiment, cependant, je ne suis pas sûr de vous en soucier. C'est une chose assez inutile à faire. Peut-être, Cependant, vous êtes réellement intéressé par Fractionnement clé (ou "partage secret" comme Wikipedia semble l'appeler).

Hth. Je ne suis en aucun cas un expert.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top