]>
gitweb.pimeys.fr Git - NK2015_Client_Python_Alpha.git/blob - rsa_source/monRSA.py
16 def decoupe(s
,taille
):
23 tranche
=s
[ind
*taille
:(ind
+1)*taille
]
26 def crypte(message
,pub
):
27 """Crypte le message, même si il est est trop long.
28 sort une chaîne b64-encodée avec les sauts de lignes à chaque découpage"""
29 # NB : ici, trop long veut dire >245,
30 # en vrai je sais pas comment on fait pour savoir
31 vraimessage
=decoupe(message
,245)
34 lignecrypt
=rsa
.encrypt(i
,pub
)
35 out
.append(base64
.b64encode(lignecrypt
))
38 def decrypte(message
,priv
):
39 """Décrypte un long message, en prenant en entrée des lignes de b64"""
41 vraimessage
=message
.split('\n')
43 lignecrypt
=base64
.b64decode(i
)
44 out
.append(rsa
.decrypt(lignecrypt
,priv
))
51 def litcles(privfile
,pubfile
):
54 futurpriv
=lit(privfile
)
55 priv
=rsa
.PrivateKey
.load_pkcs1(futurpriv
)
58 pub
=rsa
.PublicKey
.load_pkcs1(futurpub
)
62 if __name__
=="__main__":
63 priv
,pub
=litcles(privfile
,pubfile
)
64 message
= raw_input("Entrez un message :")
65 print "message avant :\n%s\n"%(message)
66 message
= crypte(message
,pub
)
67 print "message crypté (avec la clé publique) :\n%s\n"%(message)
68 message
= decrypte(message
,priv
)
69 print "message crypté décrypté :\n%s\n"%(message)