私が読む限りでは、
2 つの数 p と q がある。RSA ではこれらは大きな素数であるべきだ。
n = p*q
公開鍵は 2 つのフィールド (n, e) だ。e は公開指数と呼ばれ、一般的な値のセットから選ばれるようだ。 秘密鍵も 2 つのフィールド (n, d) だ。d は秘密指数と呼ばれ、e、p-1、q-1 を知ることで導出される。
トリックは、n を p と q に因数分解するのが本当に難しいこと。したがって p-1 と q-1 を見つけるのも同様に難しい。
私の仮説は、n が任意で、e が一般的な値の 1 つなら、動く p, q のペアはたくさんあるということだ。数が素数でないほど p と q を見つけやすく、したがって p-1 と q-1 も見つけやすい。そして大きな任意のデータブロックがあれば、ハッシュの衝突を試みる際に多くの柔軟性が得られる。
(ここが完全に的外れかもしれないところだ。暗号の専門家が私より詳しければ、本当に知りたい。)
鍵生成アルゴリズムは p と q を「ほぼ確実に素数」として生成するが、確実に知るには計算コストが高すぎるという記述を読んだ。これは非素数が明らかな失敗を引き起こさないことを示唆している。間違っているかもしれないが。