|
@@ -92,3 +92,20 @@ decrypt d n bsize cmsg =
|
|
|
let msg = unpad pmsg in
|
|
|
messageToString msg
|
|
|
|
|
|
+main::IO ()
|
|
|
+main =
|
|
|
+ let e = choosePrime 256 in
|
|
|
+ let q = choosePrime e in
|
|
|
+ let p = choosePrime q in
|
|
|
+ let n = p * q in
|
|
|
+ let d = modInv e n in
|
|
|
+ let clearmsg = "Z" in
|
|
|
+ let msg = encrypt e n 1 clearmsg in
|
|
|
+ let outmsg = decrypt d n 1 msg in
|
|
|
+ do
|
|
|
+ print "Message clear :"
|
|
|
+ print clearmsg
|
|
|
+ print "Message cyphered :"
|
|
|
+ print msg
|
|
|
+ print "Message decyphered :"
|
|
|
+ print outmsg
|