2010-08-30 17 views
0

Ou concret - J'utilise this javascript Bibliothèque RSA pour le code client de mon projet expérimental ... Je voudrais pouvoir signer et vérifier les messages (-> chiffrer avec privé et décrypter avec la clé publique)Comment faire pour que cette librairie RSA (avec la fonctionnalité en/décryption seulement (!)) Signe quelque chose?

Existe-t-il un moyen de modifier les données clés de telle sorte que les algorithmes pour en/décryptage le fassent avec la touche "reverse"? J'ai essayé d'échanger e et d (parce que c'est ce qu'il me semblait de wikipedia la différence est) - pour "signer" ça a marché (mais je suppose que c'était des ordures indéchiffrables) ... pour "vérifier" j'ai essayé de calculer d mod (p-1), d mod (q-1) et 1/q mod p avec e au lieu de e pour l'utilisation de l'algorithme de décryptage pour la vérification ... mais est-ce vraiment ce que je pense qu'il est? Si c'était le cas, je suppose qu'il ne devrait pas être stocké dans la clé privée, car il serait très facile à calculer, ayant d, p et q ...? Le point: Le point: S'il y a un moyen d'alimenter une clé privée modifiée dans l'algorighme de cryptage pour la signature et la même chose pour la contrepartie - comment je fais cela? Quelles modifications doivent être apportées aux clés?

+0

Vous vous connectez avec la clé privée et vérifiez avec la clé publique. Pourquoi n'est-ce pas assez bon? –

+0

Il suffit, si cela fonctionne réellement ... comme écrit dans le titre - la bibliothèque que j'utilise ne supporte pas cela hors de la boîte ... donc je dois soit bricoler avec les touches pour tromper le en algorithme de décryptage là, ou je dois mettre en œuvre la signature moi-même ... – apirogov

Répondre

1
+0

ce n'est pas tout à fait une réponse spécifique à ma question, mais merci, je vais lire à travers et essayer de faire quelque chose avec ... – apirogov

+0

Ok je pense J'ai compris la différence ... mais tout de même: j'ai besoin que mon implémentation soit compatible avec OpenSSL - pouvez-vous me dire comment openssl le fait? Je veux dire, quel digest utilise-t-il? etc ... – apirogov

+0

oh putain je l'ai eu ... l'algorithme de signature PKCS! ok merci encore :) – apirogov

0

Vous ne pouvez pas.

Le cryptage et les signatures ont différents paddings. Parfois, vous voyez des suggestions pour crypter le hachage de votre message pour obtenir une signature. Cependant, cette suggestion est bincorrect. Cela conduit à quelque chose d'incompatible avec les schémas de signature corrects. De plus, votre mise en œuvre peut être réellement non sécurisée. Les rembourrages RSA ont une longue histoire de défauts. Même les comités de normalisation ne le font pas toujours correctement.

+0

En utilisant les informations du lien ci-dessus j'ai implémenté avec succès une signature compatible openssl ... et je pense que openssl est assez sécurisé? ... – apirogov