暗号と符号[22C1173]

科目名
Course Title
暗号と符号[22C1173]
Cryptography and Coding Theory
授業言語
Language
Japanese
科目区分・科目種 数学科 クラス 数学科
CCBM キャリアデザイン  
単位数 2.0単位 履修年次 34

担当教員 萩田 真理子
学期 後期
曜日・時限・教室
月曜 5 6 理学部2号館507室

受講条件・その他注意
2022年度は大学から基本オンラインと指定されている場合にはZoomを用いたオンラインで行い、基本対面と指定されている場合には教室で開講します。対面の場合にもZoomでも配信する予定です。数学は、テレビを観るように眺めて聞き流しているだけでは理解するのが難しいと思います。ノートをとり、演習問題は積極的に解いて、できるだけ参加するようにしてください。スマホだけで履修する場合は画面が小さいため理解が難しい場合があります。なるべく教科書を用意し、PDFで事前に配布する資料は印刷するかノートに写して、書き込みながら聴くようにしてください。履修者のカメラの設定はオフで顔が映ることはありません。マイクは通常はミュートし、必要なときだけ解除するようにしてください。Zoomの接続先はmoodleに掲載します。セキュリティ上の理由から、SNS等への転載はしないようにしてください。

授業の形態
講義,演習,一部対面授業あり

教科書・参考文献
サイエンス社 コンピュータサイエンスライブラリ5「暗号のための代数入門」萩田真理子

ALH区分
ALHとして実施

評価方法・評価割合
小論文(レポート)=65,授業への参加態度=15,ALH(アクティブ・ラーニング・アワー)=20

主題と目標
暗号などのアルゴリズムを理解するために必要となる代数学を実際に扱いやすい形で学びます。
手計算で確認できる範囲で,様々なアルゴリズムの仕組みがわかる小さな例を実際に計算して、素数判定, 擬似乱数, 暗号など代数学が応用されている例を見ていきましょう。

授業計画
前半は,暗号などのアルゴリズムを理解するために必要となる代数学の実際に扱いやすい形で解説します。
後半では, 素数判定, 擬似乱数, 暗号など代数学が応用されている分野を紹介します。
手計算で確認できる範囲で,様々なアルゴリズムの仕組みがわかる小さな例を実際に計算してみましょう。
第1回 暗号と電子署名のしくみを簡単に紹介します.
第2回 (ALH)第1回で紹介された暗号を参考に,それぞれオリジナルの暗号を考えてきてください。
第3回 アクティブラーニングの成果を周りの人と共有し,グループのオリジナルの暗号を決めて文書を送ってみましょう。
第4回 集合と写像, 同値関係についての定義と記号を確認します.
第5回 暗号や擬似乱数などのアルゴリズムによく使われる代数系 群, 環, 体の定義と性質を簡単に紹介します. 特に情報セキュリティアルゴリズムでよく使われる環の代表例として, 「整数」の性質を詳しく調べてみましょう.
第6回 高速べき乗アルゴリズム,ユークリッドアルゴリズム,拡
張型ユークリッドアルゴリズム,環の逆元の求め方を紹介します.
第7回 暗号や擬似乱数では素数がとても重要です. ここでは素数の性質を学び,小さな素数の見つけ方を考えてみましょう.
第8回 大きな素数を探すための, 素数判定アルゴリズムを紹介します.
第9回 位数が素数以外の素数べきの有限体の,具体的な構成方法を学びます.
第10回 ランダムに数字が並んでいるように見えますが, 実際には計算機で確定的な計算によって求めている数列は擬似乱数と呼ばれ, シミュレーションに使われています. 簡単な構成法を紹介します.擬似乱数メルセンヌツイスターは非常に長い周期を持ち, 高次元空間に均等に分布することが数学的に保証されている高速な擬似乱数生成アルゴリズムです. どのように長周期が実現されているか紹介します.
第11回 共有する秘密情報を用いて暗号通信するための共有鍵暗号のしくみと具体的例を学びます.最初に作ったオリジナルの暗号で通信し,他のチームの暗号文をもらいましょう.
第12回(ALH)オリジナルの共有鍵暗号での通信データから他のチームの暗号を解読してみましょう.
第13回 アクティブラーニングでの暗号解読が正しくできたかどうか聞いてみましょう.
共有する秘密情報などの事前の準備がなくすべての通信を見られる可能性がある場合に秘密情報を送るための通信方法である,公開鍵暗号方式を紹介します.
第14回 公開鍵暗号を用いると,電子データに署名をつけることができます. その例とハッシュ関数を紹介します.
第15回 符号のしくみを学びます.
以上のように予定していますが進み具合によって日程は変更するかもしれません。

時間外学習
毎週の授業の最後にその日の内容についての簡単な演習問題を配ります。次の授業で解説しますが、時間内に終わらなかった部分は時間外に考えてみてください。

学生へのメッセージ
暗号などのアルゴリズムを理解するために必要となる代数学を実際に扱いやすい形で学びます。
手計算で確認できる範囲で,様々なアルゴリズムの仕組みがわかる小さな例を実際に計算して、素数判定, 擬似乱数, 暗号など代数学が応用されている例を見ていきましょう。