【感想・ネタバレ】現代暗号入門 いかにして秘密は守られるのかのレビュー

1,078円 (税込)
539円 (税込) 12月18日まで

2pt

あらすじ

現代の暗号技術には、純粋数学者が追究した緻密で膨大な研究成果が惜しみなく投入されている。開発者と攻撃者の熾烈な争いを追いながら、実際に使われている暗号技術を解説する。現代的な暗号の基本要素である「共通鍵暗号」「ハッシュ関数」「公開鍵暗号」にくわえ、類書ではほとんど解説のなかった、ハードウェアの面からの暗号解読についても紹介する。※この商品は紙の書籍のページを画像にした電子書籍です。文字だけを拡大することはできませんので、タブレットサイズの端末での閲読を推奨します。また、文字列のハイライトや検索、辞書の参照、引用などの機能も使用できません。

...続きを読む
\ レビュー投稿でポイントプレゼント / ※購入済みの作品が対象となります
レビューを書く

感情タグBEST3

このページにはネタバレを含むレビューが表示されています

Posted by ブクログ

ネタバレ

例えばある企業のウェブサイト上で個人情報を入力するとき、パスワードでログインしさえすればそれが機密事項として守られているだろうことを我々は当然視している。そしてその機密性がどのような機構をもって担保されたものなのか最早気に留めようとしない。この本はそういった暗号を用いた情報のやり取りが、如何なる研究の積み重ねによって今日の姿となったのかを比較的平易な記述で解き明かす。
情報の世界では「秘密をいかに他者に知られずやりとりするか(または如何に掠め取るか)」にこそ価値があるのであり、これが数多の研究者たちを突き動かす動機となっていることが改めてよく理解できる。フランク・ザッパの箴言「Information is not knowledge」が例文として本書に登場するのは単なる著者の気まぐれではなかろう。

(以下読書メモ)
第1章 共通鍵暗号
* シーザー暗号…文字を巡回的にずらす
* 単換字暗号…ランダムな一対一対応 鍵数は飛躍的に増加 頻度分析に弱い
* バーナム暗号…鍵と平文が一対一対応しており堅牢だが、毎回平文と同じ長さの鍵が必要
* ストリーム暗号…1ビット毎に暗号化、スピード重視。平文に比して短い鍵を共有し、その鍵を元に乱数に見えるビット列を作る(伸ばす)
* ブロック暗号…複数ビットをまとめて暗号化。換字と転字を組み合わせたSPネットワークを用いる。フェイステル構造を用いたDESが標準とされていたが、撰択平文攻撃(一定の差分を持つ平文のペアをSボックスに入力し出力の偏りから鍵を推測する)に弱い。日本人の線形解読法(予め平文を選択する必要がない)により破られる。現在の標準はAES。ブロック長よりも長いデータ構造は隠蔽できない。
* SuicaなどのICカードは共通鍵方式(チャレンジ&レスポンス)

第2章 ハッシュ関数
* 語源は「切り刻んで混ぜる」。わずかの改変で出力(ハッシュ値)が大きく変化する
* 「一方向性」「原像計算困難性」「衝突困難性」
* ブロック関数から構成可(逆も)
* バースデーパラドックスによる衝突の回避のためには十分なサイズが必要
* APOP(パスワード認証)…サーバーからのチャレンジとパスワードをハッシュしてサーバーに送信、サーバーでも同じことをしてハッシュ値が同一であることをチェック…辞書攻撃に弱い

第3章 公開鍵暗号ーRSA暗号
* 公開鍵から秘密鍵を知ることの困難性…計算量的安定性
* 一方向性関数…因数分解の性質(順方向に比べ逆方向の計算が著しく困難)を利用
* RSA関数…オイラーの定理を利用。平文Mをe乗して巨大な素数の積Nで割り、その商dを隠して余りCだけを見せる。Cをd乗すればオイラーの定理よりMが得られる。しかし商d=秘密鍵が分からない限り、C、e=公開鍵、Nだけでは元のMもわからない(一方向性)。
* ただしeとNを公開しても、そこから秘密dを計算することが困難であることが必要⇒十分な数と大きさの素数が必要
* ある大きな数画素数であると判定するいくつかの方法があるが、いずれも時間がかかる
* ハイブリッド暗号方式…AESの秘密鍵をRSA暗号により相手方に送る。時間短縮と堅牢さの両立
* 電子署名…RSA暗号の処理を逆方向に行う。署名者は送信者より受け取ったMをハッシュ化したうえで秘密鍵(d,N)で暗号化し送信者に送り、送信者は公開鍵(d,N)でMを復元しハッシュ値を比較する。その場合、公開鍵の正当性が証明されていることが必要⇒公開鍵証明
* SSL…クライアントはサーバの公開鍵で秘密鍵(の基)になる乱数を暗号化しサーバに送り、暗号化された通信経路を確立
* マイナンバーカード…電子署名とほぼ同じ。ICカードと異なりサーバ側に秘密鍵がない
* RSAの脆弱性…Nの素数が共有されている場合、Nが共通である公開鍵、小さな公開指数e、連分数攻撃

第4章 楕円曲線暗号
* RSAの弱点=巨大な素数を準備しなくてはならない ⇒楕円曲線暗号
* 楕円曲線上の離散対策問題…有限体上の楕円曲線では、スカラー倍(Q=mP)を計算するのは簡単だが、PとQからmを求めるのは困難(一方向性)
* ビットコイン…直前10分間の取引の承認のため、直前のブロックのハッシュ値に「ナンス」を加えてハッシュ関数に通し、先頭に決まった数以上のゼロが並ぶようなハッシュ値を探し出したマイナーに12.5ビットコインが付与される
* 計算量…データのサイズnが十分に大きいとき、計算回数がnのどのような式で表されるか。指数時間>準指数時間>多項式時間
* 一方向性…「計算アルゴリズムの改良には限界があり、多項式時間のアルゴリズムまでは到達できない」という前提。これが量子コンピュータにより崩壊するとするなら、理論計算機科学におけるP≠NP問題(検算するよりも問題を解く方が難しい)が成り立たないこととなり、RSA暗号も楕円曲線暗号も安全ではない

第5章 サイドチャネルアタック
* ハードウェアの誤作動を手掛かりに暗号解読
* フォールトアタック…故意にICチップに誤動作を起こさせ、間違った処理と正しい処理を比較。e.g.レンストラDFA
* ハードウェアでは、ICチップ上のデータの流れの変化(0→1、1→0)が電圧の変化として現れる(データ依存性)。DPAトレースはこれを利用し、多数の鍵候補の中からフェイステル構造のボックスに対応する正しい鍵を割り出す

1
2018年03月24日

「IT・コンピュータ」ランキング