概要
「暗号」「パスワード」は私達の日常には欠かせない存在です。セキュリティ上のいろいろな脅威から私たちを守ってくれる暗号やパスワードはアルファベットや数字,記号の組み合わせですが,一体どんなしくみなのでしょうか。実は,中学数学を使って2桁の暗号を作ることができます。本書はその解説から始めます。暗号は,素数(1と自分自身以外に約数をもたない数),素因数分解,ユークリッド互除法などを駆使して作られ,さらに深くなると整数論や楕円曲線論などへと発展していきます。
著者が高校の授業で実際に行った練習問題(手計算,Basic利用等)をふんだんに盛り込み,暗号のしくみをたのしく学んでいきます。現在主流であるRSA暗号がどのように生まれたのか,歴史的な背景も振り返ります。
こんな方におすすめ
- 中学生以上,セキュリティ,パスワード,暗号,公開鍵方式,RSA暗号などに興味がある人
- 数学の整数論初学者
目次
【前編】暗号の歴史あれこれ
第1章 高校生,ダイヤモンドを盗まれる?! -アトバシュ式暗号
第2章 またまた被害に -シーザー式暗号とエニグマ暗号機
第3章 上杉謙信,誰思う -ポリュビオス式暗号と日本版ポリュビオス式暗号
第4章 お母さんも被害者? -不可能な素因数分解
第5章 ユークリッドさん,お母さんを助けて
-最大公約数の求め方とユークリッドの互除法
【後編】現代の暗号
第6章 RSA暗号を作ってみよう(暗号化) -合同式
第7章 RSA暗号を解読してみよう(復号化)
-「ふみ」を暗号化,そして小熊先生の恋の行方は
第8章 最終問題
サポート
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。
P.160 上から4行目
誤 |
1308162×723814××1344915
|
正 |
1308162×723814×1344915
|
P.160 上から13行目
P.32 2つ目のグレー網掛け四角内 上から4行目から8行目
誤 |
Int main (void)
{
print f(“hello!”)
return 0
}
|
正 |
int main (void)
{
print f(“hello!”);
return 0;
}
|
P.17 暗号を作って解いてみよう の最後の行
P.20 暗号を作って解いてみよう の解答 下から2行目と一番下の行