Avatar
気にすんなと言われたので加速. 離散対数の基数を計算するのは(つまり平文を計算する),計算時間的に不可能. しかし,EとNをうまく設定してあげると, (平文)^E mod N = (暗号文) (暗号文)^D mod N = (平文) が成立します. このEが公開鍵で,Dが秘密鍵です. NとEから,Dを推定することは,計算時間的に不可能です. しかし,Nは,実は素数pとqの積から計算されており,そのNを作る二つの素数pとqが逆算されてしまうと, Dが,NとEから計算されてしまいます. 量子コンピュータがRSAの根底を揺るがすと言われるのは,量子コンピュータNの素因数pとqを実時間内で計算できる可能性を秘めているからです. もしそうなると,RSA暗号は,暗号文と鍵を一緒に送っていることになってしまうのです. (edited)
2:47 AM
余談 過去,debianのOpenSSLが生成するpとqがshortくらいのサイズで計算するバグが発生. サイズが小さい整数だと,brute forthで,素因数分解できてしまいます. このため,秘密鍵が一瞬で計算できてしまい,どえらいセキュリティ問題が発生したことがあります.