アルゴリズム論特論(特講)(塩田) 2008年度教材

  • 平成9年度教材 (pdfファイル)

  • 計算機システムでの Python

  • Windowsユーザの為の環境整備

  • Tera Pad のツール設定例

  • 第1回 Python 入門 (4.10)

  • 第2回 四則演算の計算量、最大公約数、ユークリッドのアルゴリズム (4.17)

  • 第3回 不定方程式 ax+by=c、ユークリッドのアルゴリズム拡張版 (4.24)

  • 第4回 数当て手品、合同式(法演算)、九去法、剰余系 (5.8)

  • 第5回 法演算における逆数、一次合同式 ax ≡ b、一次合同式 ax ≡ ay (5.15)

  • 第6回 既約剰余類、オイラー関数とオイラーの定理、mod p の乗法構造 (5.22)

  • 第7回 中国剰余アルゴリズム、オイラー関数の乗法性 (6.5)

  • 第8回 シーザー暗号、暗号システム、換字式暗号と置換式暗号、共通鍵暗号と公開鍵暗号 (6.12)

  • 第9回 RSA 暗号、高速べき乗 (6.19)

  • 第10回 RSA 暗号が安全と信じられている理由、RSA 暗号の攻撃法 (6.26)

  • 第11回 離散対数問題、Diffie-Hellman 鍵交換システム (7.3)

  • 第12回 Pohlig-Hellman 法による離散対数計算 (7.10)

  • 第13回 中国剰余アルゴリズムを利用した秘密分散法 (7.17)

  • 第14回 平方剰余問題を利用した暗号プロトコル (7.24)

Python のサンプルプログラムは cygwin のコマンドラインで実行することを 想定して書いてありますので、 各自の環境に合わせて適宜変更を加えてください。

  • 計算機システムの Mac では
    • 1行目を #!/usr/bin/python に書き換え、
    • 2行目を #-*- coding: utf-8 -*- に書き換え、
    • コードを UTF-8 に変換してください。

  • Python for Win32-JP では
    • 1行目の #!/bin/env python は不要です。(書いてあっても動きます。)
    • IDLE で文字化けしないためにはコードを UTF-8 に変換し、 2行目を #-*- coding: utf-8 -*- に書き換えます。

    • ダブルクリックで起動して使いたい人は、 実行後ウィンドウが閉じてしまうので、 プログラムの最後に fin = stdin.readline() という行を付け加えてください。 Enter キーを押すまでウィンドウが閉じなくなります。

戻る