670 likes | 884 Views
第3章 情報 の伝達と 通信. プロトコル (3.2.2) (a) 通信の際の決めごと 通信の秘密と相手の認証 (3.2.3) (a) 暗号 盗聴を防ぐ ( 認証 通信参加者の身元の保証 ) ( 署名 通信内容の改竄の防止、否認の防止 ). 1. Shannon の情報理論. C.E. Shannon, A mathematical theory of communications , Bell Syst. Tech. J. 27 (1948), pp.10-21.
E N D
第3章情報の伝達と通信 プロトコル (3.2.2) (a) 通信の際の決めごと 通信の秘密と相手の認証 (3.2.3) (a) 暗号盗聴を防ぐ (認証通信参加者の身元の保証) (署名通信内容の改竄の防止、否認の防止) 1
Shannonの情報理論 C.E. Shannon, A mathematical theory of communications, Bell Syst. Tech. J. 27 (1948), pp.10-21. C. E. Shannon, A mathematical theory of communications, Bell Syst. Tech. J. 27 (1948), pp.379-423. C. E. Shannon, Communications in the presence of noise, Proc. IRE 37 (1949), pp.10-21. C. E. Shannon and W. Weaver, The Mathematical Theory of Communication, Univ. Illinois Press, 1949. 2
通話路 復号化 Decoding 符号化Coding C ビット/秒 情報源 A1’ A2’ ・・・ H C 通話路容量 事象{A1,A2,…An} が確率的に生起する H 情報源の出す1事象あたりの平均情報量(情報源のエントロピー) ビット 最適な符号化を取れれば、平均 C/H 文字(事象)伝送できる 3
情報とは何か ( Shannon の情報理論の中で) 情報の「定義」 Lを非空有限集合。その元を記号と呼ぶ。 「情報」とは有限の長さの記号列のことである。 ここでは この定義が最適である。 ----パターンで表したものは、情報として扱えない。 現在、Shannon 流のほかの情報理論は、知られていない。Shannon は「通信の数学的理論」を作ったのであって、情報理論を作ったわけではない。 4
3.1.2 情報量の定義 情報量 (ビット bit (binary digit)) (1)確率事象の生起に伴う情報量 確率 p で生起する事象が起こったことを伝達されたとき得る情報量 ビット (2)記号列としての情報量 (場合の数の対数) (記号列のとりうる場合の総数) ビット = 0, 1 の記号列の長さ [注] 8ビット (bit) を1バイト (byte)と呼ぶ。 5
(2) 記号列の長さから定義された情報量 10 進法の記号列 A=2008 の場合の数 10000 をかりに情報量と思う 10 進法の記号列 B=101 場合の数 1000 並べた記号列としてAB= 20081010 : 場合の数 は1000+1000 にはならない しかし 情報量=記号列の長さとすると Aの列の長さ+Bの列の長さ=ABの列の長さ となってうまくいく。しかし、使える記号が増えれば、短い長さで同じ場合の数が表せる。使える記号の数に依存する。
2種類 {0,1} の記号の記号列として表現したときの列の長さとして情報量を決めれば、比較可能に一意にうまく定まる。記号列 A の場合の数 M を 0,1 列に直すと の長さが必要になる。この量の単位をビット (bit) と呼ぶ。 01100011 8ビット 2^8 = 256 通りのパターンを表現できる ほかの記号種類の記号列のメモリ容量(情報量) ・ {a,b,c,…,x,y,z,w}長さ 3 の列 26*26*26=17576 通り ・ {0,1,2,3,…,9} 長さ 3 の列 1000 通り これらを 0, 1 の記号列として表すのに必要な長さは ビット ビット 7
必要なメモリの容量を見積もってみよう。 1冊200ページからなり、1ページに20行、1行に45文字例題:1 冊の日本語の本を収納するのに 計算上あるとする。1文字2バイト必要と考えて 200 ページ * 20 行 * 45 文字 * 2 バイト = 360 * 10 の 3 乗 バイト = 360 K Byte (キロバイト) のメモリ容量が必要と考えられる。これと同じサイズの本を100 万冊蔵書にもつ図書館があるとすれば、その図書館 の本の全体を記録するのに、計算上 360 G Byte (ギガバイト) 必要だということになる。現在のパソコンのハードディスクの容量が 300GBから800GB程度だということを考えると、逆に、いかに大きな容量のメモリが身近に使えるようになっているかが分かる。 8
情報量の加法性 • 情報を一度に受け取った場合 (A) • メッセージA: 「アメリカ史を出題する」場合の数 4 → 1 • 分割して受け取った場合 (B+C) • メッセージB: 「世界史を出題する」場合の数 4 → 3 • メッセージC: 「東洋史と西洋史は出題しない」場合の数 3 → 1 • 情報量(A) = 情報量(B)+情報量(C) としたい
情報量の加法性の再検討 なぜ成り立たないのか? 日本史 東洋史 西欧史 アメリカ史 日本史 東洋史 西欧史 アメリカ史 日本史 東洋史 西欧史 アメリカ史 世界史です 東洋史でも西欧史でもありません 場合の数 2 場合の数 3 アメリカ史です P(日本史 or アメリカ史) = 2/4 = 1/2 P(東洋史 or 西欧史 or アメリカ史)= 3/4 日本史 東洋史 西欧史 アメリカ史 P(アメリカ史)=1/4 場合の数 1
確率事象の独立性 P(A) : 事象Aが起こる確率 P(B) : 事象Bが起こる確率 P(A,B) : A,B がともに(同時に)起こる確率 定義: P(A,B)=P(A)P(B) のとき確率事象A,B は独立であるという。 例20 面体さいころを振る。 事象A : 4 の倍数の目がでる。 P(A)=5/20=1/4 {4,8,12,16,20} 事象B : 6 の倍数の目がでる。 P(B)=3/20 {6,12,18} A,B がともに起こる: P(A,B)=1/20{12} P(A,B) = P(A)P(B) なので A,B は独立な事象ではない。 実は常に で、相関があると 右辺はより小さくなる。
・ 前提:情報量は確率によって決まる。 ・ 前提: 情報量の加法則が成立する。つまり 確率事象AとBが独立で、それぞれの生起確率 がp 、 qとするとき 以下が成立する。 確率p の事象の生起を知って得られる情報量は 13
加法則 ゆえに ゆえに
ここでCの値を決めると、それぞれの単位の取り方に対応するここでCの値を決めると、それぞれの単位の取り方に対応する ビット のとき のとき ニット ディット
例 • サイコロの目 -log2(1/6) 2.59 ビット • ルーレットの目 -log2(1/100) 6.64 ビット • コイン投げの裏表 -log2(1/2) = 1 ビット 記号列の長さとしての情報量ビットと確率事象の生起の情報量ビットの同値性 0,1 の2値がどちらも確率 1/2 で生起するとすると、そのひとつの値の情報量は 1 ビットになる。このとき 0,1 の特定の長さ n の記号列が発生する確率は で、ゆえにその生起確率から計算される情報量は ビットである。ゆえに、長さ n の 0,1 列の情報量を n ビットとした記号列の長さで定義した情報量と、整合的である。 16
Information n. • facts provided or learned about something or someone • what is conveyed or represented by a particular arrangement or sequence of things (OED) 情報 ある事柄に関して伝達(入手)されるデータ(の内容). [通常は送り手・受け手にとって何らかの意味を持つ(形に並んでいる)データを指すが、データの意味内要そのものを指すこともある。さらに、そのデータをもとにして適切な判断を下したり行動をとったりするという判断材料としての側面に重点を置く場合が多い。また、個別のデータが生のままの未整理段階にとどまっているというニュアンスで用いられることもあり、知識に比べて不確実性を包含した用語] (新明解国語辞典(第四判)三省堂) 17
熱力学的観点から:熱力学のエントロピーと情報エントロピーの関係熱力学的観点から:熱力学のエントロピーと情報エントロピーの関係 ・ 1 ビット 0.7 k erg (エルグ) ボルツマン定数 ・ 1 erg は 1 dyn の力で 1cm 物を動かしたときの仕事・エネルギー のCGS単位 ・ 1 dyn は 1 g の質量に の加速度を与える力の大きさ (約98グラムの重さ) 18
3.1.3 平均情報量 事象 A1,A2,…,An が独立に確率 (p1,…,pn) で発生する情報源があったとする。この情報源の1文字あたりの平均情報量(情報源のエントロピー)を H とすると、それは 情報源の生起事象を復元可能な符号化によって 0,1 に符号化した列で通知しようとすると、その長さの平均値を L ビットとすると、常に以下の不等式が成立する。 19
情報源符号化定理 (Shcannon の第一定理) 任意の に対して平均符号長 L が以下を満たすような符号化が存在する。 つまり、良い符号化を使えば平均符号長が、情報源のエントロピー(平均情報量) H にいくらでも近くできるということが保証されている。 20
良い符号化を見つけよう [ハフマン 符号化の原理] データに出現する記号の個数を求める。 それが木構造の葉に相当すると見なし、木を構成する。 まず、葉を含むすべての節点のうち、親を持たないものを集める。 その中から、最小の値をもつものと2番目に小さい値をもつものを取り出す。 それらを子供にもつ新しい節点を作る。 このとき、新しい節点の値は、両方の子供の値の和とする。 21
以上を繰り返して根節点まで到達して木が完成される。 次に、根から順に左右に0と1の値を割り振っていく(左右のどちらに0と1を与えるかは任意)。 すると、それぞれの葉(記号)に対して、一意にビット列が与えられる。 この記号とビット列の関係をもとに、もとのデータの記号をビット列に変換していくことで符号化が行われる。 ハフマン符号は一意復元可能である。 22
Sample データ : DAEBCBACBBBC 出現頻度と割り当てられた符号 記号 個数 推定確率 符号 23
[例] DAEBCBACBBBC 12桁 を0,1のビット列に符号化 • A:000, B:001, C:010, D:011, E:100 と符号化すると011000100001010001000010001001001010 36 ビット • 平均符号長3.0 ビット • A:1110, B:0, C:10, D:110, E:1111 と符号化すると • 110 1110 1111 0 10 0 1110 10 0 0 0 10 26ビット • 平均符号長2.1666… ビット 情報源のエントロピー ハフマン符号化で達成された 2.1666… ビットは、良い値である。 24
同じ例で違う木による符号化 左の木による符号化 12 0 1 0 5 B 7 0 1 3 C 4 1 0 2 A 2 前の例での符号化 0 1 1 D 1 E 25
Huffman Code の例 1.0 0 1 0.5 A 0.5 0 1 0.3 0.2 B 0 1 0.12 0.18 0 1 0 1 0.07 0.05 E 0.1 C 0.08 D 0 1 0.03 0.04 F 1 0 0.01 H 0.02 G 26
Shannon 最適に近づける ---反復を用いる 平均符号長 ハフマン符号化しても、少しも良くなっていない。 情報源のエントロピーの値 27
ハフマン符号化の平均符号長 もとの1文字あたりの平均符号長 ゆえに以下のように情報源のエントロピーの値により近づく 28
3.2.2 プロトコル (protocol) • 通信の意図を理解するための決めごと • 電話「もしもし」, トランシーバ「どうぞ」 • コンピュータ同士の通信: 人間の場合より厳密 • WWW (HTTP) • 電子メイル (SMTP) • プロトコルを正しく使えば機器によらず通信可能
クライアント ーサーバ の例 WWW WebブラウザーWebサーバ HTTPプロトコル 電子メイル メイルソフトーメイルサーバ imap, pop, smtp のプロトコル 30
3.2 情報通信---- HTTPプロトコルの例 クライアント サーバ 要求を出す側 プロトコル 応答を返す側 (通信の規格) WWW の場合 クライアント=ウェッブブラウザ サーバ=ウェッブサーバ プロトコル=HTTP 以下、HTTP プロトコルを解説 クライアント サーバ 31
HTTPプロトコル リクエストメッセージ Webブラウザ サーバ レスポンスメッセージ リクエストメッセージ メソッドURIHTTPバージョン データ レスポンスメッセージ HTTPバージョン ステータス データ 32
・ リクエストメッセージ 1. メソッド「どうする」 GET サーバからデータを読み出す PUT URIで指示されたCGIプログラム スクリプトの実行結果を送り返す 2. URI「何を」 ・レスポンスメッセージ ステータス「実行結果の通知」 2** 正常終了 4** クライアント側のエラー 404 Not Found 5** サーバ側のエラー 33
HTTPリクエストメッセージ送信手順 DNS サーバに問い合わせてURLに対応する相手の IP アドレスを取得する。 パケットを作る(データが大きいときには複数のパケットに分割する) LAN アダプタを通して電気信号に変換されて出力される リピータハブスイッチングハブルータインターネット 34
3.3.3 通信の秘密と相手の認証 ・ 共通鍵暗号(対称鍵暗号) 送信する暗号化での鍵と受信での復号化の鍵が同じもの。(シーザー暗号など) 公開鍵暗号(非対称鍵暗号) 暗号化と復号での鍵が違うもの(RSA方式など) 35
最近の暗号理論の歴史 1970年NIST (National Institute of Standards of Technology, USA) は、DES (data encryption standard) を標準規格に採用 1998 年NIST はDES に取って代わる新たな規格AES (Advance Encryption Standard) を求めた 36
2000年10月NIST はDESに代わるAESとして、 ラインデール暗号(Rijnder cipher) を規格に採用 ----3個の異なったブロックと 128, 192, 256 ビットの鍵をもつ --- 有限体 F_2 の数論的演算を利用している 37
共通鍵暗号(対称鍵暗号) ヴァーナム使い捨て鍵暗号 (Vernam‘s one-time pad) 全ての受動的攻撃に耐えられる完全秘匿(perfectly secure)な暗号系 欠点 文書と同一の長さの真正ランダム鍵が必要 その鍵が、安全に届けられなければならない(ワシントンモスクワ間での信頼できる特使により運搬されていたそうである) 38
共通鍵暗号 一つの鍵で暗号化と復号化が両方できるモデル 鍵を秘密に保つ必要がある 39
公開鍵暗号 40
署名と検証 これによりメッセージの発信者が特定でき、かつメッセージが改ざんされていないことが分かる。別掲PDFファイルへ 41
公開鍵暗号(RSA暗号方式) 別掲PDFファイルへ 42
3.3 交換の方式 通信の交換の方式 (1) 回線交換 (2) パケット交換 --パケットごとに送られて受信側に到達すると、受信側でもとに組み立て直す。 ネット内でのパケットの大きさは、数十から数千バイト程度の大きさ。 イーサネット内では 1500 Byte 43
交換方式の特性 44
3.4 インターネット • ネットワークの集合体と通信 (3.4.1) • 階層プロトコル (3.4.2) • IPアドレスとポート番号 (3.4.3)
ルーターのネットワーク番号 各機器は同じネットワーク番号 各機器はホスト番号を持つ ルーター インターネットの世界 46
IPアドレス: インターネット内の住所 8ビット. 8ビット.8ビット.8ビットの32ビット これらの8ビットは通常0~255の整数で表す (ゆえに 172.16.11.13 のように表示する) インターネットに接続するホストは、すべて一意のアドレスを必ず持つ 連続する番号が意味を持つ 組織毎にIPアドレスのまとまりで使用を許可される ネットワークの住所を表す IPアドレス 47
ネットワーク番号 ホスト番号 IPアドレスは、ネットワーク番号と機器のホスト番号をつなげたもの。 最初の何ビットがネットワーク番号となるかは、ネットワークごとに異なる IPアドレス 左から何桁がネットワーク番号になるかは、ネットマスクで表される。 48
IPアドレスとネットマスクの例 ・ 172.16.30.6 / 255.255.255.0 ネットマスクの値が 111....1100000000 で左から24 個1が並んでいるので24ビットまでが ネットワーク番号、その後がホスト番号。 ・ 上を 172.16.30.6 /24と表記しても、同じ意味である。 49
インターネットの通信 • ネットワークの集合体: グループごとに管理 • ルータ: ネットワーク間の通信を中継 • 様々なプロトコル: 役割毎に分割