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
pornin
According to Mark Nama :
Dans le systeme d'ElGamal le message M a chiffrer est masque par la multiplication avec un alea modulo p.
Y-a-t-il des precautions a prendre si on doit chiffrer plusieurs fois le meme message avec differentes cles possedant le meme modulus p?
Plus précisément :
On a des paramètres publics : p nombre premier, gros (1024 bits ou plus) g nombre modulo p, un générateur du groupe multiplicatif Zp*
Une clé privée est un entier x compris entre 1 et p-1. La clé publique correspondante est y = g^x mod p.
Pour chiffrer un message M avec une clé publique : on commence par représenter le message M comme un entier m compris entre 1 et p-1 (c'est-à-dire un élément du groupe Zp*). Ceci implique un processus de padding quelconque qui s'assure qu'on n'obtient pas 0, et qui transfère l'information pertinente. Pour autant que je sache, n'importe quel processus de padding fait l'affaire dans le cas d'El-Gamal (contrairement au cas de RSA).
Une fois qu'on a m, on choisit un entier r aléatoire entre 1 et p-1. Ensuite on calcule : a = m * (y^r) mod p b = g^r mod p
Pour déchiffrer, à l'aide de la clé privée : a * (b^(-x)) = m mod p
Tout ceci étant dit, voilà ce que je sais de la question posée : il n'y a pas de problème de sécurité à chiffrer le même message M (c'est-à-dire le même entier m) avec deux clés publiques distinctes, même si ces deux clés utilisent les mêmes paramètres p et g. Il est en revanche crucial que l'entier r soit choisi aléatoirement selon un processus cryptographiquement fort (imprédictible) pour _chaque_ chiffrement. En particulier, pour les deux chiffrements (du même message) dont on parle, chacun devra avoir son r particulier, et donc son g^r. Ce qui signifie que non, on ne peut pas accélérer les choses en partageant le g^r.
--Thomas Pornin
According to Mark Nama <mark.nama@bigfoot.com>:
Dans le systeme d'ElGamal le message M a chiffrer est masque par la
multiplication avec un alea modulo p.
Y-a-t-il des precautions a prendre si on doit chiffrer plusieurs fois
le meme message avec differentes cles possedant le meme modulus p?
Plus précisément :
On a des paramètres publics :
p nombre premier, gros (1024 bits ou plus)
g nombre modulo p, un générateur du groupe multiplicatif Zp*
Une clé privée est un entier x compris entre 1 et p-1. La clé publique
correspondante est y = g^x mod p.
Pour chiffrer un message M avec une clé publique : on commence par
représenter le message M comme un entier m compris entre 1 et p-1
(c'est-à-dire un élément du groupe Zp*). Ceci implique un processus
de padding quelconque qui s'assure qu'on n'obtient pas 0, et qui
transfère l'information pertinente. Pour autant que je sache,
n'importe quel processus de padding fait l'affaire dans le cas
d'El-Gamal (contrairement au cas de RSA).
Une fois qu'on a m, on choisit un entier r aléatoire entre 1 et p-1.
Ensuite on calcule :
a = m * (y^r) mod p
b = g^r mod p
Pour déchiffrer, à l'aide de la clé privée :
a * (b^(-x)) = m mod p
Tout ceci étant dit, voilà ce que je sais de la question posée : il n'y
a pas de problème de sécurité à chiffrer le même message M (c'est-à-dire
le même entier m) avec deux clés publiques distinctes, même si ces
deux clés utilisent les mêmes paramètres p et g. Il est en revanche
crucial que l'entier r soit choisi aléatoirement selon un processus
cryptographiquement fort (imprédictible) pour _chaque_ chiffrement. En
particulier, pour les deux chiffrements (du même message) dont on parle,
chacun devra avoir son r particulier, et donc son g^r. Ce qui signifie
que non, on ne peut pas accélérer les choses en partageant le g^r.
Dans le systeme d'ElGamal le message M a chiffrer est masque par la multiplication avec un alea modulo p.
Y-a-t-il des precautions a prendre si on doit chiffrer plusieurs fois le meme message avec differentes cles possedant le meme modulus p?
Plus précisément :
On a des paramètres publics : p nombre premier, gros (1024 bits ou plus) g nombre modulo p, un générateur du groupe multiplicatif Zp*
Une clé privée est un entier x compris entre 1 et p-1. La clé publique correspondante est y = g^x mod p.
Pour chiffrer un message M avec une clé publique : on commence par représenter le message M comme un entier m compris entre 1 et p-1 (c'est-à-dire un élément du groupe Zp*). Ceci implique un processus de padding quelconque qui s'assure qu'on n'obtient pas 0, et qui transfère l'information pertinente. Pour autant que je sache, n'importe quel processus de padding fait l'affaire dans le cas d'El-Gamal (contrairement au cas de RSA).
Une fois qu'on a m, on choisit un entier r aléatoire entre 1 et p-1. Ensuite on calcule : a = m * (y^r) mod p b = g^r mod p
Pour déchiffrer, à l'aide de la clé privée : a * (b^(-x)) = m mod p
Tout ceci étant dit, voilà ce que je sais de la question posée : il n'y a pas de problème de sécurité à chiffrer le même message M (c'est-à-dire le même entier m) avec deux clés publiques distinctes, même si ces deux clés utilisent les mêmes paramètres p et g. Il est en revanche crucial que l'entier r soit choisi aléatoirement selon un processus cryptographiquement fort (imprédictible) pour _chaque_ chiffrement. En particulier, pour les deux chiffrements (du même message) dont on parle, chacun devra avoir son r particulier, et donc son g^r. Ce qui signifie que non, on ne peut pas accélérer les choses en partageant le g^r.