RSA暗号で実はpが素数でなかったら?

RSA暗号では「2つの素数の積N」が出てくるけど、現在の実装上、実際には素数でない確率がごくごくごく僅か存在する。その時の影響について考察した多分少々マニアックなネタ。
52
前へ 1 ・・ 4 5
angel (as ㌵㌤の猫) @angel_p_57

ちょっと分かりにくいけど、暗号化→復号によってできた mdec の16進ダンプで、先頭の 0002、そこから続く "00" までの "6f48c4621049cf3031193b30fe522ade1c20" が埋め込まれたランダムデータと見ることで、復号データの16進ダンプが 8958168f… と、openssl の結果と整合するということだ。

2022-10-16 22:53:47
angel (as ㌵㌤の猫) @angel_p_57

この実行例は、オンラインIDEのこのページ ideone.com/bz5dK7 でも確認できる。ただ不思議なことに、元が同じデータのはずなのに結果にブレが出る。( ちゃんと "hoge" に復号できるパターン、エラーになるパターンも出る )

2022-10-16 22:54:23
angel (as ㌵㌤の猫) @angel_p_57

復号処理にランダム要素はないはずなのに…? という謎は残っているけど、まあ取り敢えずこの点の追及は止めておく。

2022-10-16 22:55:00
angel (as ㌵㌤の猫) @angel_p_57

ということで。もちろん現実には、そんな都合のいい擬素数が出てきて、なおかつ針の孔を通すようにミラー・ラビン法で誤判定して…なんて確率はほぼゼロなんだけど。もしあれば「破綻」しかもエラー・誤復号両方が実現できることが確認できた、というお話でした。

2022-10-16 22:56:44
前へ 1 ・・ 4 5