2009-12-04 22 views
3

Je me demande: 1) si je calculer le résumé de certaines données avec SHA-512 => résultant en un hachage de 64 octets 2), puis-je signer ce hachage avec RSA-1024 => so un bloc de 128 octets, qui est plus grand que les 64 octets du condenséSigner avec RSA-1024 un condensé SHA-256: quelle est la taille?

=> cela signifie-t-il qu'à la fin mon hachage signé sera exactement 128 octets?

Merci beaucoup pour toute information.

Répondre

6

Avec RSA, comme spécifié par PKCS#1, les données à signer est d'abord hachés avec une fonction de hachage, alors le résultat est rembourré (une opération plus ou moins complexe qui transforme le résultat de hachage en un nombre entier modulaire), et alors l'opération mathématique de RSA est appliquée sur ce nombre. Le résultat est n -bit entier, où n est la longueur en bits du "module", habituellement appelée "taille de la clé RSA". Fondamentalement, pour RSA-1024, n est 1024. Un entier de 1024 bits est codé comme 128 octets, exactement, selon la méthode de codage décrite dans PKCS # 1 (PKCS # 1 est très lisible et pas trop long).

si une clé RSA n de bits peut être utilisé pour une connexion de données avec une fonction de hachage qui produit des sorties de longueur m dépend des détails du rembourrage. Comme son nom l'indique, le remplissage implique l'ajout de données supplémentaires autour de la sortie de hachage, donc n doit être supérieur à m, laissant de la place pour les données supplémentaires. Une clé de 1024 bits peut être utilisée avec SHA-512 (qui produit des chaînes de 512 bits). Vous ne pouvez pas utiliser une clé de 640 bits avec SHA-512 (et vous ne le feriez pas, de toute façon, car les clés RSA de 640 bits peuvent être cassées - mais pas trivialement).