Haskell には Integer があるので、RSA の計算は簡単なのではと思い立ち、作ってみました。RSA の計算方法や、RSA129 を知らない人は、まず「はやわかりRSA」を読んでみましょう。 暗号化と復号化 x^exp (mod n) を高速に計算する関数を実装できれば、暗号化も復号化も簡単です。 rsaEncrypt :: Integer -> Integer -> Integer -> Integer rsaEncrypt e n plain = powerMod plain e n rsaDecrypt :: Integer -> Integer -> Integer -> Integer rsaDecrypt d n cipher = powerMod cipher d n powerMod x exp n = iter exp seq 1 where seq = it