Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Julia-ohjelma RSA_encrypt_decrypt.jl
- # originmsg UTF-8 merkistön mukaista tekstiä
- # tekstin pituus < julkisen avaimen pituus (77 merkkiä)
- # teksti dekoodataan byte-muotoon jotta kelpaa powermod-funtioon
- # esimerkissä julkinen avain d on 256-bittinen eli 77 numeroinen
- # Juhani Kaukoranta 4.9.2019
- function rsaencrypt(originmsg, n, e)
- bytes = parse(BigInt, "0x" * bytes2hex(collect(UInt8, originmsg)))
- return powermod(bytes, e, n)
- end
- function rsadecrypt(cryptomsg, n, d)
- decoded = powermod(cryptomsg, d, n)
- return join(Char.(hex2bytes(string(decoded,base=16))))
- end
- originmsg = "Hiphei - hörhöt!"
- n = big(98192617636653636141238012338108484137954487342964318282087546585872528680299)
- e = 65537
- d = big(33574153109097960014509849390092679748726042392305041135147739978253446722693)
- cryptomsg = rsaencrypt(originmsg, n, e)
- plaintext = rsadecrypt(cryptomsg, n, d)
- println("originmsg = ",originmsg)
- println("cryptomsg = ",cryptomsg)
- println("plaintext = ",plaintext)
Advertisement
Add Comment
Please, Sign In to add comment