• Amazonで購入
  • 楽天で購入
  • ビーケーワンで購入

Pythonでいかにして暗号を破るか古典暗号解読プログラムを自作する本

『退屈なことはPythonにやらせよう』の著者Al Sweigart氏による、Pythonと暗号の超実践的入門書!

著者
Al Sweigart/翻訳:IPUSIRON
定価
3,960円(本体価格 3,600円)
発売日
2020年12月22日
判型/ページ数
B5変型判/520
ISBN
978-4-8026-1216-6
備考
-

暗号を用いた秘密のメッセージの作り方を指南する、初心者向けの書籍はたくさんあります。また、暗号の解読法を指南する、初心者向けの書籍はいくつか存在します。しかし、暗号を解読するためのプログラミングを指南する、初心者向けの書籍は皆無といえるでしょう。本書はそのギャップを埋めるためのものです。

本書は、暗号、暗号解読、暗号学について興味を持っている人のためのものです。本書の暗号(23章と24章の公開鍵暗号を除く)はすべて古典的なものであり、ノートPCの計算能力でも解読できます。現在の組織や個人はこうした古典暗号を使用しません。しかし、古典暗号を通じて、暗号を構成する土台や、脆弱な暗号の解読法について学べます。

ジャンル
キーワード

立ち読みPDF本書の一部をダウンロードしてお読みいただけます

読者サポート

  • 正誤情報
  • ダウンロード

目次

簡易目次

第0章 導入
第1章 紙製の暗号ツールをつくる
第2章 対話型シェルのプログラミング
第3章 文字列とプログラムの作成
第4章 逆暗号
第5章 シーザー暗号
第6章 総当たり攻撃によるシーザー暗号の解読
第7章 転置式暗号で暗号化する
第8章 転置式暗号を復号する
第9章 プログラムテスト用プログラムを作成する
第10章 ファイルの暗号化と復号
第11章 プログラムによる英語の検出
第12章 転置式暗号を解読する
第13章 アフィン暗号のためのモジュラー算術モジュール
第14章 アフィン暗号のプログラミング
第15章 アフィン暗号を解読する
第16章 単一換字式暗号のプログラミング
第17章 単一換字式暗号を解読する
第18章 ヴィジュネル暗号のプログラミング
第19章 頻度分析
第20章 ヴィジュネル暗号を解読する
第21章 ワンタイムパッド暗号
第22章 素数の検索と生成
第23章 公開鍵暗号の鍵を生成する
第24章 公開鍵暗号のプログラミング

詳細目次を見るには「目次をすべて見る」をクリックしてください。

目次をすべて見る

追加のオンラインリソース

原文Additional Online Resources
原著者Webサイトhttps://inventwithpython.com/cracking/
原著出版社によるサポートページhttps://nostarch.com/crackingcodes/

第1章

モールス符号
https://ja.wikipedia.org/wiki/モールス符号

オンライン暗号ホイール
https://inventwithpython.com/cipherwheel/

負数の加算と減算(英文、原著者のサイトにリンク)
https://inventwithpython.com/chapter12.html#_Toc405145134

第2章

一般的なPythonのエラーメッセージ(英文、原著者のブログ記事にリンク)
https://inventwithpython.com/blog/2012/07/09/16-common-python-runtime-errors-beginners-find/

第3章

オンライン差分ツール(原著者運営)
https://inventwithpython.com/cracking/diff/
日本語版サイトで配布されるソースコードはコメントを訳出しています。
オンライン差分ツールで差分を確認する際はご注意ください。

第5章

Pyperclipモジュール(原著者が作成したモジュール)
https://inventwithpython.com/pyperclip.py

第7章

helloFunction.pyの実行をトレースする(外部サイトpythontutor.comへのリンク)
https://goo.gl/KzXaRr

transpositionEncrypt.pyの実行をトレースする(外部サイトpythontutor.comへのリンク)
https://goo.gl/b5nTeu

第9章

random.SystemRandom().randint()関数についての情報(Python 3公式ドキュメント)
https://docs.python.org/3/library/random.html#random.SystemRandom

第10章

Pythonのdatetimeモジュールについての情報
https://automatetheboringstuff.com/chapter15/

第13章

拡張ユークリッドのアルゴリズム
https://ja.wikipedia.org/wiki/ユークリッドの互除法

第16章

単一換字式暗号の鍵の総数は、26×25×24×…×1または26!(「26の階乗」)または403,291,461,126,605,635,584,000,000です。これは、単一換字式暗号の鍵がアルファベットの26文字をランダムに並べたものであることに由来します。鍵を作成する場合、鍵の最初の文字は、26文字の中から選べます。鍵の2番目の文字は、残りの25文字の中から選べます。鍵の3番目の文字は24文字の中から1つを選べます。つまり、可能な組み合わせの数は、26から1までの数字の積である403,291,461,126,605,635,584,000,000になります。

第17章

正規表現についての詳細情報(英文、著者が執筆した書籍の公開原稿へのリンク)
https://automatetheboringstuff.com/chapter7/

第23章

暗号化ソフトウェアの一覧(英文)
https://en.wikipedia.org/wiki/Comparison_of_disk_encryption_software

暗号通貨についての詳細情報
https://ja.wikipedia.org/wiki/暗号通貨

認証と公開鍵基盤についての詳細情報
https://ja.wikipedia.org/wiki/公開鍵基盤

匿名Webサーフィンについての詳細情報(英文)
https://www.torproject.org/

この書籍の購入

  • Amazonで購入する
  • 楽天で購入する
  • ビーケーワンで購入する