ここから本文です

素数は自前で? RSA暗号の暗号化・復号化・解読をSwiftでプログラミングしてい...

kfs214さん

2018/7/105:02:56

素数は自前で?

RSA暗号の暗号化・復号化・解読をSwiftでプログラミングしています。32bit(2^16未満の素数を利用)までは作れましたが、64bitに挑戦するとパソコンが固まります。

アルゴ

リズムの幼稚さもあるでしょうが、ここでの疑問は、「一般的な暗号化アルゴリズムにおいて、素数は毎回自前で見つけ出すのか?それとも素数一覧が前もって与えられて、その中から選ぶだけでいいのか?」ということです。

ご存知の方、どうかご教授いただけますでしょうか。

閲覧数:
105
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

ner********さん

2018/7/109:54:42

OpenSSLのRSA鍵生成では、Miller-Rabin素数判定法というのを用いて、ランダムに選んだ巨大な数が素数であるかどうかを確率的に判断しているそうです。

参考:「RSA鍵の生成時に確率的素数判定法を使って問題ないのか」
http://d.hatena.ne.jp/hnw/20140610

https://ja.wikipedia.org/wiki/ミラー–ラビン素数判定法

Miller-Rabin素数判定法は、素数ではないことをチェックするアルゴリズムなので、否定的な結果が得られたからと行って素数であるとは言えないのですが、確率的にはその可能性はだいぶ低いはずなので良しとしているそうです。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる