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 testInverse(self): self.assertEqual(tp2.inverse(2, 7), 4) self.assertEqual(tp2.inverse(-2, 7), 3) self.assertEqual(tp2.inverse(-9, 7), 3)