haskell-ja > Archives > 2013/02/04

2013/02/04 00:45:39 UTCcutsea110
#
IFPH 4thの日程変更案内します。一週間遅らしての2/16(土)です。
#
これにより都合が悪くなった型は型エラーということでお手数ですがデバッグしてください。
2013/02/04 09:23:25 UTCcutsea110
#
Codec.Crypto.RSAのencrypt/decryptなんですが、公開鍵による暗号化をencrypt、秘密鍵による暗号化をdecryptとしているようです。
#
それはいいんですが、RSAって、(この実装の話ではなく原理としては)秘密鍵と公開鍵って対称ですよね。
#
つまり公開鍵で暗号化したものを秘密鍵で平文に戻したり、秘密鍵で暗号化したものを平文に戻せると。
#
このCodec.Crypto.RSAのAPIだと、後者のような利用はダメということになると思うのですが、なぜこうなってるんでしょう。
#
常にメッセージを送る側は受け取り手の公開鍵で暗号化して送るというのが当たり前ということですかね。
2013/02/04 09:33:45 UTCcutsea110
#
Crypto.PubKey.OpenSshのライブラリもちょっと違いますが、PublicKeyのencode/decode(n,eではなくid_rsa.pubなんかにシリアライズされるbase64(?)の例のアレ)は実装されていますが、PrivateKeyについては無いのでこれもなんでかなと。
#
ssh-keygenとかで生成したキーファイルをencode/decodeしてみたかったのですが秘密鍵の方ができないのでどうしたものかと。
#
逆にCodec.Crypto.RSAでgenerateKeyPairしたものをシリアライズしておきたかったのですが、やはり秘密鍵が。。。数値で持てということなのか、あるいはPublicKeyやPrivateKey自体Read/Showが実装されてるんだからそれで持てってことなのか。
#
遡れば、そもそもPublicKeyとPrivateKeymo
#
も、データコンストラクタの構造が対称じゃないので、このあたりも同じ理由がありそうな気がしますが。