une clé publique RSA de 1, 2 ou 3 bits est-elle sure ?
3 réponses
x-kane
Bonjour
J'ai implanté un système de signature digitale sur un update logiciel,
et pour cette signature j'utilise un chiffrement RSA 1024 bits.
--> le modulo n est de 1024 bits
--> le chiffrement du hash est fait avec l'exposant privé de taille
environ 1024 bits
--> le déchiffrement du hash est fait avec l'exposant public de petite
taille
Par peur et ignorance, j'ai donné à l'exposant public une taille assez
grande quand même (64 bits environ). Mais un copain m'a dit que même si
l'exposant public est très petit (1, 3 ou 5), cela n'entraine pas de
vulnérabilité sur la clé privée.
Est-ce vrai ?
L'intéret serait d'accélérer d'un facteur 30 le temps de déchiffrement!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillermito
On Mon, 24 May 2004 22:21:33 +0200, x-kane wrote:
Par peur et ignorance, j'ai donné à l'exposant public une taille assez grande quand même (64 bits environ). Mais un copain m'a dit que même si l'exposant public est très petit (1, 3 ou 5), cela n'entraine pas de vulnérabilité sur la clé privée.
Peut-être ce message donnera un début de réponse à votre question:
Par peur et ignorance, j'ai donné à l'exposant public une taille assez
grande quand même (64 bits environ). Mais un copain m'a dit que même si
l'exposant public est très petit (1, 3 ou 5), cela n'entraine pas de
vulnérabilité sur la clé privée.
Peut-être ce message donnera un début de réponse à votre question:
Par peur et ignorance, j'ai donné à l'exposant public une taille assez grande quand même (64 bits environ). Mais un copain m'a dit que même si l'exposant public est très petit (1, 3 ou 5), cela n'entraine pas de vulnérabilité sur la clé privée.
Peut-être ce message donnera un début de réponse à votre question:
si l'exposant public est très petit (1, 3 ou 5), cela entraine (-t-il une) vulnérabilité ?
L'esposant public 1 est à proscrire (aucune sécurité).
Le plus petit exposant public utilisable pour RSA est 3 (2 bits).
L'exposant 2 est utilisable (et conseillé) dans un système similaire, Rabin.
On ne connais d'attaque pour les petits e que si un "padding" innaproprié est utilisé, par exemple - chiffrement sans padding, de sorte que m^e mod n = m^e ce qui permet de trouver le message par un racine e-ième - chiffrement du même message vers e destinataires, quel que soit le padding s'il est non aléatoire
Si un padding est faible, un petit e tend à rendre les attaques plus faciles, surtout en chiffrement, et dans une moindre mesure en signature. Mais si le padding est faible, il faut le changer, plutôt que e !!
Pour de la signature de code, on peut utiliser un padding PKCS#1 ou ISO 9796-2; l'avantage de ce dernier est que la taille perdue par la signature peut être réduite à celle du hash plus 2 octets (e.g. 22 octets avec SHA-1), et non à celle du module n (e.g. 128 octets avec un clé de 1024 bits)
Je considère que bien employé, e=3 est sur; et que personne n'a jamais regretté d'utiliser 65537 plutôt qu'une valeur plus grande.
François Grieu
Dans l'article <40B2594D.3090409@aol.com>, x-kane <x-kane@aol.com>
dit:
si l'exposant public est très petit (1, 3 ou 5), cela
entraine (-t-il une) vulnérabilité ?
L'esposant public 1 est à proscrire (aucune sécurité).
Le plus petit exposant public utilisable pour RSA est 3 (2 bits).
L'exposant 2 est utilisable (et conseillé) dans un système
similaire, Rabin.
On ne connais d'attaque pour les petits e que si un "padding"
innaproprié est utilisé, par exemple
- chiffrement sans padding, de sorte que m^e mod n = m^e
ce qui permet de trouver le message par un racine e-ième
- chiffrement du même message vers e destinataires,
quel que soit le padding s'il est non aléatoire
Si un padding est faible, un petit e tend à rendre
les attaques plus faciles, surtout en chiffrement, et dans
une moindre mesure en signature. Mais si le padding est faible,
il faut le changer, plutôt que e !!
Pour de la signature de code, on peut utiliser un
padding PKCS#1 ou ISO 9796-2; l'avantage de ce dernier
est que la taille perdue par la signature peut être réduite
à celle du hash plus 2 octets (e.g. 22 octets avec SHA-1),
et non à celle du module n (e.g. 128 octets avec un clé de
1024 bits)
Je considère que bien employé, e=3 est sur; et que personne
n'a jamais regretté d'utiliser 65537 plutôt qu'une valeur
plus grande.
si l'exposant public est très petit (1, 3 ou 5), cela entraine (-t-il une) vulnérabilité ?
L'esposant public 1 est à proscrire (aucune sécurité).
Le plus petit exposant public utilisable pour RSA est 3 (2 bits).
L'exposant 2 est utilisable (et conseillé) dans un système similaire, Rabin.
On ne connais d'attaque pour les petits e que si un "padding" innaproprié est utilisé, par exemple - chiffrement sans padding, de sorte que m^e mod n = m^e ce qui permet de trouver le message par un racine e-ième - chiffrement du même message vers e destinataires, quel que soit le padding s'il est non aléatoire
Si un padding est faible, un petit e tend à rendre les attaques plus faciles, surtout en chiffrement, et dans une moindre mesure en signature. Mais si le padding est faible, il faut le changer, plutôt que e !!
Pour de la signature de code, on peut utiliser un padding PKCS#1 ou ISO 9796-2; l'avantage de ce dernier est que la taille perdue par la signature peut être réduite à celle du hash plus 2 octets (e.g. 22 octets avec SHA-1), et non à celle du module n (e.g. 128 octets avec un clé de 1024 bits)
Je considère que bien employé, e=3 est sur; et que personne n'a jamais regretté d'utiliser 65537 plutôt qu'une valeur plus grande.
François Grieu
x-kane
Merci
Francois Grieu a écrit:
Dans l'article , x-kane dit:
si l'exposant public est très petit (1, 3 ou 5), cela entraine (-t-il une) vulnérabilité ?
L'esposant public 1 est à proscrire (aucune sécurité).
Le plus petit exposant public utilisable pour RSA est 3 (2 bits).
L'exposant 2 est utilisable (et conseillé) dans un système similaire, Rabin.
On ne connais d'attaque pour les petits e que si un "padding" innaproprié est utilisé, par exemple - chiffrement sans padding, de sorte que m^e mod n = m^e ce qui permet de trouver le message par un racine e-ième - chiffrement du même message vers e destinataires, quel que soit le padding s'il est non aléatoire
Si un padding est faible, un petit e tend à rendre les attaques plus faciles, surtout en chiffrement, et dans une moindre mesure en signature. Mais si le padding est faible, il faut le changer, plutôt que e !!
Pour de la signature de code, on peut utiliser un padding PKCS#1 ou ISO 9796-2; l'avantage de ce dernier est que la taille perdue par la signature peut être réduite à celle du hash plus 2 octets (e.g. 22 octets avec SHA-1), et non à celle du module n (e.g. 128 octets avec un clé de 1024 bits)
Je considère que bien employé, e=3 est sur; et que personne n'a jamais regretté d'utiliser 65537 plutôt qu'une valeur plus grande.
François Grieu
Merci
Francois Grieu a écrit:
Dans l'article <40B2594D.3090409@aol.com>, x-kane <x-kane@aol.com>
dit:
si l'exposant public est très petit (1, 3 ou 5), cela
entraine (-t-il une) vulnérabilité ?
L'esposant public 1 est à proscrire (aucune sécurité).
Le plus petit exposant public utilisable pour RSA est 3 (2 bits).
L'exposant 2 est utilisable (et conseillé) dans un système
similaire, Rabin.
On ne connais d'attaque pour les petits e que si un "padding"
innaproprié est utilisé, par exemple
- chiffrement sans padding, de sorte que m^e mod n = m^e
ce qui permet de trouver le message par un racine e-ième
- chiffrement du même message vers e destinataires,
quel que soit le padding s'il est non aléatoire
Si un padding est faible, un petit e tend à rendre
les attaques plus faciles, surtout en chiffrement, et dans
une moindre mesure en signature. Mais si le padding est faible,
il faut le changer, plutôt que e !!
Pour de la signature de code, on peut utiliser un
padding PKCS#1 ou ISO 9796-2; l'avantage de ce dernier
est que la taille perdue par la signature peut être réduite
à celle du hash plus 2 octets (e.g. 22 octets avec SHA-1),
et non à celle du module n (e.g. 128 octets avec un clé de
1024 bits)
Je considère que bien employé, e=3 est sur; et que personne
n'a jamais regretté d'utiliser 65537 plutôt qu'une valeur
plus grande.
si l'exposant public est très petit (1, 3 ou 5), cela entraine (-t-il une) vulnérabilité ?
L'esposant public 1 est à proscrire (aucune sécurité).
Le plus petit exposant public utilisable pour RSA est 3 (2 bits).
L'exposant 2 est utilisable (et conseillé) dans un système similaire, Rabin.
On ne connais d'attaque pour les petits e que si un "padding" innaproprié est utilisé, par exemple - chiffrement sans padding, de sorte que m^e mod n = m^e ce qui permet de trouver le message par un racine e-ième - chiffrement du même message vers e destinataires, quel que soit le padding s'il est non aléatoire
Si un padding est faible, un petit e tend à rendre les attaques plus faciles, surtout en chiffrement, et dans une moindre mesure en signature. Mais si le padding est faible, il faut le changer, plutôt que e !!
Pour de la signature de code, on peut utiliser un padding PKCS#1 ou ISO 9796-2; l'avantage de ce dernier est que la taille perdue par la signature peut être réduite à celle du hash plus 2 octets (e.g. 22 octets avec SHA-1), et non à celle du module n (e.g. 128 octets avec un clé de 1024 bits)
Je considère que bien employé, e=3 est sur; et que personne n'a jamais regretté d'utiliser 65537 plutôt qu'une valeur plus grande.