Pythonの桁数無制限整数をつかって、べき乗計算を簡単におこない、RSA方式の概要を把握することを目的とします。実際に、Pythonでプログラムしながら、習得できるようなっています。 目次 1 実験しながら暗号の仕組みを学ぶ 2 実験をすすめるのに必要な知識 2.1 数学領域 2.2 Python の使い方 3 「シーザー暗号」をプログラムしてみる 3.1 シーザ暗号 3.2 ’z’ を超える値をどうするif 文による条件分岐 3.3 26 文字一回転を計算する剰余計算(modulo) 3.4 if 文ではなく、剰余計算で、シーザー暗号を確かめる 4 べき乗した値のmodulo 計算を使った暗号を考える 4.1 RSA 公開鍵暗号へ 5 RSA 公開鍵暗号 5.1 まずは、公開鍵暗号を計算してみよう 6 Python で計算しながら各ステップを確かめる 6.1 鍵生成 6.2 素数を手