cs_mikevkb
Messages postés24Date d'inscriptionsamedi 8 décembre 2007StatutMembreDernière intervention16 mars 2010
-
14 mars 2010 à 19:58
cs_mikevkb
Messages postés24Date d'inscriptionsamedi 8 décembre 2007StatutMembreDernière intervention16 mars 2010
-
16 mars 2010 à 08:19
Bonjour,
pour mes cours je dois réaliser un prog. qui permet à deux personnes (X & Y) de s'échanger des messages cryptés et authentifiés par RSA...
Pour crypter le message on emploi la clé secrète de X, et pour l'authentifier on emploi la clé publique de Y.
Y applique au message sa clé secrète, puis la clé publique de X.
Exemple:
X:
clé publique (e=107, n=4453);
clé privé (d=323);
Y:
clé publique (e=5, n=247);
clé privé (d=173);
M (message):
M = 88 (code ascii de X)
X1:
M'=(88^323)%4453= 1932
X2:
M''=(1932^5)%247= 242
X envoi M'' à Y
Y1:
M'''=(242^173)%247=203
Y2:
M''''=(203^107)%4453=2596
Pour savoir si le message est authentique M'' & M'''' devraient être identique?
Je ne comprends pas comment utiliser l'authentification par RSA!
cs_47
Messages postés197Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention20 février 20131 14 mars 2010 à 22:05
Bonjour,
une idée
Pour X on a PuX sa clé public, PrX sa clé privée et nX (=p*q)
Pour Y on a PuY, PrY et nY
on va prendre le cas
X code son message (88 pour reprendre tes données) puis l'envoi à Y
X envoi l'authentification à Y
Pour l'authentification, X va faire un hash du message envoyé, hash(88) 7 (c'est un exemple), il va coder son hash avec sa clé privé d'ou signature 7^323 [4453] = 3921, X envoi 3921 à Y
Y a recu 88 (le message une fois décodé) et 3921 la signature, en utilisant la clé public de X, il va retrouver la valeur 7 (3921^107 [4453] = 7) ce qui permet de savoir que c'est bien X qui a envoyé le message
la démonstration du fonctionnement de la signature se trouve sur internet (utilise le théoréme du reste chinois si mes souvenirs sont bons)
on peut se passer du hash du message (pour faire plus simple) en codant la clé public de X avec sa clé privée
107^323 [4453] = 1256
1256^107 [4453] = 107
en espérant que l'exemple est suffisamment bien expliqué