アルゴリズム論特論(塩田) 2017年度教材 第12回

  • 追加
    • 現在実用化されている公開鍵暗号は2種類ある。
      • 素因数分解の困難さに基づく暗号
        ... RSA暗号など
      • 離散対数問題の困難さに基づく暗号
        ... Diffie-Hellman鍵交換システム、ElGaml暗号、楕円曲線暗号など

  • 課題講評
    • java の BigInteger でコンストラクタを使って乱数を生成すると、 奇数ばかりが生成され、素数確率のパラメータを 0 にしても不自然に素数が多い。
      → 数ビット長めに生成して右シフトで切り捨てるとまし。 (ただし、分布が一様でなくなる恐れがある。)
    • Python2 で / だった整数の商は、Python3 では //(ダブルスラッシュ)に変更され、 「整数 / 整数」の返り値は浮動小数点実数になってしまった。 異常終了してくれるならまだしも、違う意味のまま実行されてしまうのは困るよね。

  • 本講義のまとめ
    • 講義で習ったアルゴリズムとその計算量についておさらいをしましょう。

戻る