純粋数学の理論が詰まった暗号について分かり易く解説した一冊です!
2020/02/10 13:06
0人中、0人の方がこのレビューが役に立ったと投票しています。
投稿者:ちこ - この投稿者のレビュー一覧を見る
本書は、私たち一般人には馴染みが薄い「暗号」技術について詳細に解説した一冊です。暗号と言えば、テレビのスパイ映画などで目にする程度ですが、実は、この暗号には、純粋数学者が追究した緻密で膨大な研究成果が惜しみなく投入されていると著者は主張します。暗号の開発者とそれを解こうと攻撃する者との熾烈な争いを追いながら、実際に使われている暗号技術を、私たち一般人にも分かり易く解説してくれる一冊です。「共通鍵暗号」、「ハッシュ関数」、「公開鍵暗号」といった暗号には欠かせない数学理論も登場して、興味深い内容となっています!
投稿元:
レビューを見る
ICカード内で利用されているDESの解読方法(差分電力解析)が印象に残った。
DESの1ボックスの鍵長は高々6ビット。電圧は出力ビットの1の個数に比例する。
まずは鍵を仮定する。
入力の特定ビットが0と1の群で出力電圧を計測すると、鍵が正しければ平均して電圧に1ビット分の差が表れる。
鍵が間違っていれば、平準化されて電圧に差が出ない。
こうやって秘密鍵を特定するという手法らしい。
近年テクノロジーでは、確率・統計の重要度が高まってきている気がする。
自分が高校のころの確率・統計はおまけのような扱いだったのにな。
投稿元:
レビューを見る
かなりハイレベル。半分も理解できない。入門とは思えない内容。理屈の部分はある程度知ってないといけない。暗号に完璧はない事はわかる。
投稿元:
レビューを見る
現在の情報社会を支える暗号技術について、数学的背景を交えて概説している。図での説明も多く、専門外の人にも分かるよう、関連する数学的な概念や定理は平易に解説されてはいるものの、やはりすぐに理解が及ばなかった部分は多かった。とはいえ、個々の技術の概略の理解には大いに役立った。巧みに平文から変換を行い単体では解読困難になったとしても、平文同士での差がシャッフルされていない場合、異なる平文からの暗号文同士の比較から容易に暗号を破れてしまうという点はなかなか気づきにくかった。解読と新たな暗号の開発のせめぎ合いも興味深い。
投稿元:
レビューを見る
例えばある企業のウェブサイト上で個人情報を入力するとき、パスワードでログインしさえすればそれが機密事項として守られているだろうことを我々は当然視している。そしてその機密性がどのような機構をもって担保されたものなのか最早気に留めようとしない。この本はそういった暗号を用いた情報のやり取りが、如何なる研究の積み重ねによって今日の姿となったのかを比較的平易な記述で解き明かす。
情報の世界では「秘密をいかに他者に知られずやりとりするか(または如何に掠め取るか)」にこそ価値があるのであり、これが数多の研究者たちを突き動かす動機となっていることが改めてよく理解できる。フランク・ザッパの箴言「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)(2)がどのように使われるか?包括的に理解できます。
(1)共通鍵暗号
ストリーム暗号、ブロック暗号、ハッシュ関数
(2)公開鍵暗号
RSA暗号、楕円曲線暗号
投稿元:
レビューを見る
ネットも、携帯も、SUICAなどのカードもみんな暗号で守られている現代社会、でも果たして安全か!? サイバー空間ではハッカーたちとどのような攻防が繰り広げられているのか、暗号はどのように守られ、あるいは破られるのか、その舞台裏を実際に起きた事件や実例をもとに描きながら、社会の隅々に浸透した暗号技術の実態(どのように実装されているか)と、現代暗号の進化とその仕組みについて分かりやすく解説します。
投稿元:
レビューを見る
ブロックチェーンやICチップの仕組みが何となく知れて良かった。ただ数式までは追えていないし、理解が不十分なところもあるから、また読み返したい。
投稿元:
レビューを見る
情報処理安全確保支援士試験を受けるにあたって、暗号の知識を深めたいと思い購入。数式などの難解な箇所はほとんど飛ばして読んだが、暗号の奥深さをざっくりと理解することができた。
投稿元:
レビューを見る
難しかった〜
かなりわかりやすい例えを駆使して、本質部分に絞って説明してくれてるんだろうなと。でも、わかんね〜
いまだに暗号の一番わからんところは、まだ解消しない。
もう少し勉強して、読み返そう。
個人的には、別の本に頼れっていう話だろうけど、サイドチャネルアタックなど、防御をどうするねんというところを学びたい。
投稿元:
レビューを見る
ICカード≒小型のコンピュータ
----------------
Suica(SonyのFelica採用)・・共通鍵暗号を使う内部認証方式=チャレンジレスポンス認証(#共通鍵=共通の秘密鍵を使うということか!)
①改札機から発信される電波によって起電力が
生じる(電磁誘導によって発電)
②改札機は、所定の長さの乱数を発生させ、電波でICカードにその乱数を送信する(=チャレンジ)
③ICカードは、自分が保持している秘密鍵を使って、改札機から受け取った乱数を暗号化する。それを改札機に送る。(レスポンス)
④改札機(andサーバ)は、改札機が保持する秘密鍵を使って、②の乱数を暗号化する。
⑤ ③と④が一致すれば、改札機の秘密鍵と、ICカードの秘密鍵が同じであることが分かる(0.5秒で判断)
▲リスク:改札機(サーバー)側でも秘密鍵を持っておく必要がある
ーーーーーーーーーーーーーーーーーーーーー
マイナンバー
=自分のRSA秘密鍵が格納されている
=カード自体に個人情報は含まれていない
・2048ビットのRSA電子署名を使ったチャレンジレスポンス認証
①利用者がICカードリーダーにマイナンバーカードをセットする
②地方公共団体情報システム機構)利用者電子証明書用サーバに認証のリクエストをする
③サーバは、ICカードへ乱数Rを、マイナンバーカードへ送信
④マイナンバーカードは、秘密鍵を使って、電子署名を作成し、サーバへ送り返す
⑤サーバは、公開鍵簿から適切な公開鍵を探し、これを使って復号する
⑥ ⑤が③と一致すれば、マイナンバーカードの正当性が証明される
★サーバー内に秘密鍵がないため安全性が高い
公開鍵が流出しても、個人情報が流出することがない
投稿元:
レビューを見る
現代社会は暗号技術によって成り立つといえる。
SUICA等のICカード、インターネット等、今の生活は暗号により保証され守られている。基本的な概念を知ることは使用する側にとっても、その限界や脆弱性、有用性を理解して、自分を守ることになるだろう。
投稿元:
レビューを見る
現代の暗号技術について。日本軍とかの話は特になく、コンピューターを用いてることが前提。
ICカードや無線通信等で使われてる技術の概要が理解できた。暗号資産についても簡単な解説がある。
投稿元:
レビューを見る
現代暗号で使われている技術について、ブルーバックスらしく、分かりやすく、でもしっかり説明されていてよかった。数式的な説明だけでなく、暗号器、復号器の構成についても説明されていてよかった。
投稿元:
レビューを見る
実際にシステム開発に携わる技術者の基礎教育フェーズの必読本にしたい!が、本当は実学として高校教育や大学教育の中に含めてほしいくらいの内容だと思う。誰もが安全にスマホを運用するには若年層のITリテラシーを高めていく必要がある。
ある前提に立てば今や誰しも暗号技術抜きに安全な生活ができない、というのは事実だと思う。一方で計算の非対称性でなんとか安全を守っているという現実や最も脆弱なデバイスが人間自身って現実もあり、何が大事でそれをどうやって守りますか?ということを考えるベースになる知恵をつけていきたいね。