def testSignature_RSA_CRT(self): message = 11 p, q, N, d, e = tp2.generer_cle_RSA(1024) s1 = pow(message, d, N) s2 = tp2.signature_RSA_CRT(message, (p, q, N, d, e)) self.assertEqual(s1, s2)
def test_RSA_CRT_Bellcore(self): m = 11 K = tp2.generer_cle_RSA(1024) # K[4] = e, K[2] = N p, q = tp2.RSA_CRT_Bellcore(m, K) # On peut retrouver d(decrypt) phi = (p - 1) * (q - 1) # On a deduit p, et q, on deduit phi pour deduire d (voir suite) d = tp2.inverse(K[4], phi) # d a pardir de e(encrypt) = K[4] qui est publique # On test si un message dechiffre avec la cle trouve est le meme que celui avec la vrai cle self.assertEqual(pow(m, d, (p*q)), pow(m, K[3], K[2]))
def testGenerationCleRSA(self): message = 11 p, q, N, d, e = tp2.generer_cle_RSA(1024) c = pow(message, e, N) self.assertEqual(pow(c, d, N), message)