Le Cryptage RSA, la taille de sortie
Qu'est-ce que le cryptage RSA, la taille de sortie lors de l'utilisation de 2048 bits clé (à l'aide de pkcs1padding). Est-il toujours de 256 octets indépendant de la taille de l'image?
comment puis-je calculer pour d'autres tailles de clé?
Avez-vous remarqué que 256*8=2048?
oui, mais je ne suis pas sûr que la sortie est toujours de 256 octets. s'agit-il?
À partir de
oui, mais je ne suis pas sûr que la sortie est toujours de 256 octets. s'agit-il?
À partir de
RSA_size
: "RSA_size() retourne le RSA le module de la taille en octets. Il peut être utilisé pour déterminer la quantité de mémoire doit être alloué pour un RSA de valeur chiffrée." (La taille du message dépend de la taille de module).OriginalL'auteur hyda | 2014-09-06
Vous devez vous connecter pour publier un commentaire.
Oui, il est.
La de sortie de taille devrait est toujours égale à la taille de la
Modulus
(partie de la clé), donc:Si elle n'est pas, il existe de nombreuses attaques sur RSA, voir ici pour les informations de base à ce sujet.
Afin de garantir que sortie est
2048 bit
même lorsque le entrée à chiffrer est, disons7
,un rembourrage doit toujours être appliqué!
La raison pour laquelle la sortie étant le même que le module d'élasticité est parce que il est explicitement fait pour s'adapter à la taille du module. Est-ce pas en raison de rembourrage est appliquée. Même lorsque le remplissage est appliqué moduluar exponentiation entraînera au hasard à la recherche de la valeur entre zéro et le module, et cette valeur peut être codé en moins d'octets que le module. Voir ma réponse pourquoi le résultat est toujours de la même taille que le module. Cette réponse ne permet pas d'expliquer pourquoi le résultat est de la même taille que le module en octets.
OriginalL'auteur i_turo
La sortie (entier) de RSAEP (cryptage RSA primitive) est toujours entre 0 et n:
Si le message représentant m n'est pas entre 0 et n-1, sortie
message représentant de gamme et de s'arrêter.
Let c = m^e mod n.
De sortie c.
Bien sûr,
c
est un certain nombre. Donc vous devez le convertir en d'octets pour qu'il soit utilisable. La seule chose connue surc
est qu'il est plus petit quen
pour une grande valeur dem
. Il se peut quec
est quelques octets de plus petits, même sim
est grande.Vous l'ai mentionné PKCS1Padding, qui fait partie de la RSAES-PKCS1-V1_5-CHIFFRER schéma de chiffrement. Le rembourrage est assurez-vous que
m
est toujours grand et aléatoire; les exigences pour le cryptage RSA, pour être sûr.Vous trouverez que le codage de
c
est spécifié dans:...
Étape 4: Convertir le texte chiffré c représentant d'un texte chiffré C de
longueur k octets: C = I2OSP (c, k)
...
où k est la taille du module en octets (bytes).
Donc oui, la réponse est toujours
k
, la taille du module en octets. Tout simplement parce que la norme exige d'elle de cette façon. C'est une valeur codée comme unsigned big endian numéro avec le préfixe autant de zéro octets requis.Notes:
le module size définit la taille de la clé. Donc la sortie d'un chiffrement RSA est la même que la taille de la clé:
ceil(keySize /8.0)
à l'aide de flotteurs ou de(keySize + 8 - 1) /8
à l'aide de nombres entiers.RSA avec padding oaep utilise la même technique, donc la réponse est correcte pour OAEP. ainsi (et la plupart des autres, moins connus des régimes tels que RSA-KEM).
De nombreuses routines de la bibliothèque qui effectuent des "brutes" RSA (juste exponentiation modulaire du message avec le public exposant) continuent à effectuer les I2OSP fonction mais en mieux assurez-vous.
OriginalL'auteur Maarten Bodewes
La taille de la sortie de la plaine de RSA par le biais d'un protocole de remplissage, mais pas de chiffrement hybride) est toujours à la taille de la clé. La raison en est que, pour certains de clé publique
n
le résultat est certain entierc
avec0<=c<n
. Il y a beaucoup d'introductions pour le RSA, par exemple http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-045j-automata-computability-and-complexity-spring-2011/lecture-notes/MIT6_045JS11_rsa.pdfOriginalL'auteur Perseids