暗号

共通科目情報処理(講義)、国際総合学類対象、1997年02月05日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/kokusai-kougi-1996/1997-02-05
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo
http://www.ipe.tsukuba.ac.jp

■復習

■暗号

キーワード

暗号が使われてきたグループの人々4つ

◆暗号に関する基本用語と安全性

暗号とは、情報の意味が当事者以外にはわからないように情報を変 換することである。ここで、元の情報を平文、変換された情報を暗 号文という。平文、暗号文といっても、文字だけでなく、画像や音 声などコンピュータが扱えるあらゆるデータが想定されている。

平文を暗号文に変換することを暗号化、逆に暗号文を平文にもどす ことを復号化という。暗号化と復号化には、それぞれ暗号化鍵、復 号化鍵と呼ばれるパラメタが必要である。当事者以外の第三者が、 暗号文を元にもどすこと、あるいは、復号化鍵を得ることを解読と いう。

暗号の方法は、大きく対称暗号系(慣用暗号系)と、公開鍵暗号系 (非対称暗号系)に分類される。対称暗号系では、暗号化鍵と復号 化鍵の一方から、他方を容易に求めることができる。しばしば暗号 化鍵と復号化鍵は、同じものを用いる。公開鍵暗号系では、暗号化 鍵から復号化鍵を容易に類推できない。対称暗号系の例としては、 DES、公開鍵暗号系の例としては、RSAがあげられる。

暗号の安全性は、鍵の安全性によっている。暗号化のプログラムを 作成した人でも、鍵を知らなければ平文を得ることができない。ま た、鍵の管理が非常に重要となることを意味している。人間を相手 に限り、100%安全な暗号を行うことは不可能である。また、 100%に近くなると急速にコストが上昇する。

暗号の安全は、解読にかかるコストを大きくすることで、解読され た平文から得られる利益を相対的に小さくすることに依存している。 暗号の安全にとって、最近のコンピュータの高速化と低下価格下は、 1つの脅威となっている。たとえば、現在のコンピュータで解読す るのに100年を要するようなものでも、1000台規模の並列コ ンピュータでは、数ヵ月で解読できることを意味する。

----


        暗号化鍵           復号化鍵
           |                  |
           v                  v 
        +------+  暗号文  +------+
平文 -> |暗号化| -------> |復号化| -> 平文
        +------+    |     +------+
                    |
                 +----+
                 |解読|
                 +----+
                   |鍵、平文
                   v

              図 暗号系

◆分類

暗号アルゴリズム

◆Caesar暗号

Caesar暗号は、置換暗号(substitution cipher)の1つ。置換暗号では、各 文字あるいは文字群が、それぞれ別の文字あるいは文字群に置換される。

Caesar暗号は、知れている最後の暗号である。 平文アルファベットをN文字ずらした暗号文アルファベットに変える。

N=2 の時の対応表

abcdefghijklmnopqrstuvwxyz
CDEFGHIJKLMNOPQRSTUVWXYZAB
暗号の説明では、平文を小文字で、暗号文を大文字で書く習慣がある。 カルタゴ人以来騙された人はいない。

N=13 で、大文字小文字を保存する方法を、rot13 暗号という。rot13 は、電 子メールやネットワーク・ニュースで「ネタばらし」の部分を書く時に使われ る。

◆コード化

暗号の文脈でコード化とは、可変長の言語単位(単語)などを符号化すること を意味する。普通の暗号では、文字単位など固定長を符号化http://mech00.mech.ibaraki.ac.jp/~kondo/kaken/k96mac/する。

◆スーパー暗号化

コード化されたメッセージを暗号化する。 うまくつかえば、解読が難しくなる。

第2次世界大戦中、ローマ字でかかれた日本語が解読された。解読されたとい う事実がシカゴの新聞に出たのに、日本政府はそれを信用せず、終戦までその コードを使い続けた。

◆排他的論理和

排他的論理和(exclusive or)は、暗号でよくつかわれる演算。 記号は、+に○。

真理値表

------------------------
入力1	入力2	出力
------------------------
0	0	0
1	0	1
0	1	1
1	1	0
------------------------

AND、OR、NOTで表わすと次の通り

OR(AND(入力1,NOT(入力2)),AND(NOT(入力1),入力2))

次のような性質がある。

◆バーナム暗号

同期式ストリーム暗号。暗号化は、(真性)乱数と平文をビットごとの排他的 論理和をとる。復号化は、暗号文と乱数を排他的論理和をとる。完全な暗号。 メッセージ長と等しい長さの乱数を、暗号化側と復号化側で持つ必要がある。

◆乱数(random numbers)

数の集合から、無作為抽出で抜き出された数。

真性乱数。ビット列にすると、0と1の発生確率がそれぞれ1/2で、各ビッ トは他の部分と独立なiid(independent and identically distributed) である。

物理乱数。量子力学の効果を増幅してディジタル化したもの。 平滑化して0,1のバランスをとれば、真性乱数になる。

疑似乱数(pseudo random number)。種(seed)と呼ばれる入力ビットパタンを基 に計算された、種よりも長いランダムに見えるビット・パタン。決定的 (deterministic)アルゴリズムから生成されるので、種が決まれば出力乱数 は一意に決まる。暗号に使う時には、種を秘密にする。

疑似乱数には、髭と周期がある。

◆バーナム暗号法

Caesar暗号では、定数だけずらしていた。バーナム暗号(Vernam cipher)では、 定数ではなく、乱数ストリーム(無限の長さの乱数表、実際に使うのはメッセー ジの長さだけ)を使い、文字ごとに乱数の数だけだけずらす。

例:

乱数表: 0 18 19 22 22  7  9  4 14  3
 平文: h  e  l  l  o  w  o  r  l  d
        8  5 12 12 15 23 15 18 12  4
暗号文: H  W  E  H  K  D  X  V  Z  G
   : 8 23  5  8 11  4 24 22 26  7
乱数表そのものや、大きな乱数表の中でどこから使い始めるかを鍵にすること ができる。

真性乱数を使うと、解読する方法はない。しかし、使うのが大変。送信側と受 信側で同じ真性乱数を作るのが大変。

乱数表を記憶する変わりに、疑似乱数を使う方法がある。使う疑似乱数の性質 が悪いと解読される。

実際には、文字をずらすのではなく、「排他的論理和」が使われることが多い。

◆転置暗号

Caesar暗号やバーナム暗号では、平文の文字の順序を変えずに、文字を置き換 える。これを置換暗号という。これにたいして、転置暗号(transposition cipher)では、平文の文字の順序を入れ替えるが、文字の置き換えは行わない。 (下の例では、大文字小文字が変わっているが、これは暗号化の説明のために 変えて書いているだけである。)

次は、転置暗号の1つ、コラム転置の例である。キーは、同じ文字を含まない 1個の単語や熟語である。このキーでコラムに番号付けをする。たとえばコラ ム1は、アルファベットで先頭に近い文字の下のコラムとなる。

MEGABUCK
--------
74512836
--------
pleasetr
ansferon
emillion
dollarst
omyswiss
bankacco
untsixtw
otwoabcd
 平文: pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo
暗号文: AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNTWRNNTSOWDPAEDOBUOERIRICXB

◆DES

DES(Data Encryption Standard)は、アメリカ商務省標準局 (NBS, National Bureau of Standard, 現在のNIST, National Institute of Standrds and Technology)が1977年に定めた暗 号標準である。IBM社による提案が元になっている。DESは、 アメリカ政府内で、コンピュータ・データのうち、非機密だが取扱 い注意(unclassified but sensitive)のデータを暗号化するため の標準である。DESを一般の商用にも使うことを推奨している。 たとえば、UNIXのパスワード・ファイルは、DESにより暗号 化されている。

DESは、対称暗号系(慣用暗号系)の1つであり、暗号化と復号 化に同一の鍵(56ビット)を用いる。DESは、転時暗号の一種 である。転時暗号では、平文の文字の順序(コンピュータでは、ビッ ト)を入れ替えるものである。DESでは、64ビットの平文につ いて、鍵をもとにビットの入れ替えを16段繰り返す。

アメリカでは、DESを取り扱うチップ(IC)が多く利用されて いる。アメリカは、暗号に関する製品がソフトウェアも含めて輸出 禁止になっており、DESチップもその制約を受けている。DES 暗号化を行うソフトウェアについては、アメリカ以外で開発された ものが広くインターネット上で配布されている。

DESが作られる時、コンピュータ科学者は、56ビットのキーの長さでは短 すぎると主張した。IBMの提案は、128ビットだった。安全保証局の要求 で、56ビットに減らされた。1988年にアメリカ連邦政府は、1988年 にDESの効果を保証しないと決定した。

◆公開鍵暗号系とRSA暗号

公開鍵暗号系では2つの異なる鍵を用いる。これらの鍵は、互いに 相手の逆関数になっている。ある鍵で暗号化した平文は、もう1つ の鍵でのみ復号化することができる。2つの鍵のうちの1つを、暗 号化鍵のとして、公開しておく(公開鍵)。もう1つの方は、復号 化鍵として情報の受け手の手元にのみ保存しておく(秘密鍵)。

情報の送り手は、公開されている暗号化鍵を使って暗号文を作り、 それを情報の受け手に送る。情報の受け手は、受け取った暗号文を、 秘密にしている復号化鍵によって復号化し、元の平文を得る。ここ で、公開されている暗号化鍵から復号化鍵を予測することは難しい。 さらに、ある平文を公開されている暗号化鍵を使って暗号化してみ たところで、復号化鍵を得ることは難しい。

公開鍵暗号系の利点は、鍵を管理する手間が掛からない点にある。 DESのような対称暗号系では、情報を交換する間で鍵を安全に共 有しなければならない。しかも、通信相手ごとに鍵を変える必要が ある。一方、公開鍵の場合、受け手ごとに、1つの暗号化鍵を公開 するだけでよい。鍵を管理する手間が不要である。今までに通信を したことがない人からでも、暗号化されたメッセージを受け取るこ とが可能である。

RSA暗号は、Rivest, Shamir, Adleman の3人によって開発され た公開鍵暗号系である。RSA暗号の安全性は、大きな数を素因数 分解することの難しさに基づく。北米では、RSAは、2000年 まで特許が有効である。RSAの技術は、Netscape社のWorld-Wide Web ブラウザでも利用されている。

公開鍵暗号系は、暗号だけでなく認証やディジタル署名にも利用す ることが可能である。

◆クリッパー・チップ

クリッパー・チップ(Clipper chip)とは、アメリカ政府がスポン サーとなり開発されている暗号化を行うためのチップ(IC)であ る。これは、1987年から開始された Capstone と呼ばれる長期プロ ジェクトの成果として開発された。チップの内部では、Skipjackと 呼ばれるアルゴリズムが使われている。Skipjack は、80ビットの 鍵を用いる対称暗号系であり、64ビットのブロックについて32 回の転字を行っていることが知られているが、その詳細なアルゴリ ズムは公開されていない。

アメリカでは、このチップが大きな論争の的になっている。まず、 アルゴリズムが公開されていないため、解読に対する安全性の検証 がなされていないという批判がある。アルゴリズムの設計者により 容易に解読できるように設計されているのではないかという疑いも 残っている。ハードウェアしか提供されないという問題もある。そ して、最大の論点は、escrowed key と呼ばれる鍵の存在である。

暗号技術の発達により、麻薬取引などの違法行為を行う側が暗号技 術を用いるようになると、それを取り締まる側の捜査が困難になる と予想される。クリッパー・チップは、そのような捜査とプライバ シーのバランスを取ることを目的としている。その基本的な考え方 は、escrowed エージェントと呼ばれる第三者機関に鍵を保存して おくことである。通常の電話やFaxの通信は、クリッパー・チッ プにより暗号化することで、プライバシーを高める。同時に、捜査 当局は、裁判所の許可を得て、その第三者機関に対して暗号化の鍵 の提出させることができるようにする。

こうした政府の動きに対して、民間で草の根的にプライバシーを守 るための動きも起きている。たとえば、PGP(Pretty Good Privacy)と呼ばれる一連の暗号に関するソフトウェアを発表して いるグループがある。また、公開鍵を用いることで捜査とプライバ シーのバランスをとる研究も発表されている。

■認証

認証とは、情報の正当性や完全性を確保する技術である。利用者認 証とは、アクセスしてきた人が正当か否かを判定する機能である。 これを行うためには、しばしばパスワードや暗唱番号が用いられる。 利用者認証のために、公開鍵暗号系を用いることができる。銀行の 口座を例に、これを説明する。

口座を開く時に、顧客は、公開鍵と秘密鍵を生成し、公開鍵を銀行 に届け、秘密鍵を自分で保持する。顧客が通信回線を通じて銀行に アクセスしてきた時、銀行は乱数を1つ生成し、顧客の公開鍵でそ れを暗号化し、顧客に送り返す。顧客は、送られてきた暗号化され た乱数を、保持している秘密鍵で復号化し、銀行に送り返す。銀行 は、顧客から返された乱数が正しければ、正当な顧客であると判定 する。次回の呼び出しでは、別の乱数を用いることで、通信を記録 している傍受者にも対応することができる。

■ディジタル署名

ディジタル署名とは、通常の署名とおなじく、送られてきたメッセージが送信 者本人のものであることを識別、確認することである。メッセージ認証とも呼 ばれる。

ディジタル署名では、次のようなシステムが必要である。

ディジタル署名もまた、公開鍵暗号系を使って行うことができる。簡単な方法 としては、メッセージの送信者が送りたいメッセージの平文を、秘密鍵を使っ て暗号化する。メッセージの受信者は、送信者の公開鍵を使ってそれを復号化 する。きちんと復号化できれば、確かにそのメッセージがその送信者から送ら れてきたものであると判定することができる。

メッセージ全体を暗号化する代わりに、メッセージを平文で送り、それにメッ セージのある種のチェックサムを、秘密鍵で暗号化したものを送る方法もある。

これらの認証は、公開鍵暗号系ではなく、対称暗号系を用いても可能である。 ただし、この場合、鍵を管理する信用できる管理センターが必要となる。

■電子現金(electric cash)

◆電子現金の性質

電子現金(electric cash)とは、現金が持っている有用な性質を ディジタル情報を使って実現しようとするものである。ここで、電 子現金で実現しようしている現金が持っている性質としては、次の 2つがあげられる。

これに加えてさらに、実際の現金にはないが、インターネット上で の買物などにも利用することを考え、次のような性質が重要となる。

電子現金の目標は、小額の現金にについても遠隔地への支払コスト を0に近づけることである。

現在実験段階にある電子現金は、ICカード型とネットワーク型に 分類される。

ICカード型の電子現金は、ICカードが持っている耐タンパー性 (内部の情報が不正に読み書きできない性質)を利用して、ネット ワークが使えない環境にあっても利用可能である。この方式により、 1995年7月から、イギリスの National WestMinster 銀行と Midland 銀行が中心になって、Mondex と呼ばれるシステムの実験 が行われている。

ネットワーク型の電子現金は、コンピュータ・ネットワークを利用 することで、大規模な設備を用いることなく利用可能である。この 方式により、94年10月よりオランダの DigiCash 社が ecash と呼 ばれる電子現金の実験を行っている。最近では、米国の Mark Twain 銀行や、フィンランドの Marita 銀行も実験を開始した。

現在、ネットワーク型の電子現金をネットワークが使えないような 環境(オフライン)でも利用するための研究や電子現金を分割して 利用するための研究が行われている。

◆ネットワーク型電子現金の仕組み

ネットワーク型の電子現金は、公開鍵暗号の技術、ディジタル署名 の技術、および、一方向関数(結果から引数の値が推察できないよ うな関数)の技術を用いて実現されている。ここで最も重要な技術 が、ディジタル署名の中でも、「ブラインド署名」と呼ばれている 技術である。普通のディジタル署名では、署名する人が署名される メッセージの内容を目にすることになる。これに対して、ブライン ド署名では、メッセージの内容を見ることなく署名するものである。

客、銀行、店の間の電子現金の引き出しと支払の手順の概要を以下 に示す。

  1. 客が、額面、乱数、額面に応じた銀行の公開鍵より、一方向関 数などを使ってある数値を計算する。
  2. 銀行は、客から (1) の計算結果と額面を受け取ると、客の口 座から額面を引き落とし、客には、(1) に対して金額に対応する署 名をした数値を返す。
  3. 客は、(2) の数値と (1) で用いた乱数を使って、電子紙幣 (数値)を作る。
  4. 客は、額面と (3) で得られた電子紙幣を店に渡す。
  5. 店は、銀行に連絡して、その電子紙幣の有効性((2)の銀行に よる署名の有無)と、その電子紙幣が過去に使われていないかを確 認し、商品を客に渡す。
  6. 銀行は、店の口座に現金を振り込み、その電子紙幣が使われた ことをデータベースに記録する。
ここで、銀行は、店から問い合わされた電子紙幣より元の客を知る ことはできない(ブラインド署名)。この方法の安全性は、公開鍵 暗号系を使ったディジタル署名に依存している。

■練習問題(2)

■インターネットと規制

シンガポール。

◆アメリカ

コミュニケーション品位法。 the Communications Decency Act of 1996。 1996年2月8日大統領が署名。

この法律に反対して、WWWページを黒くする運動が起きた。

アメリカ市民自由連合とアメリカ図書館協会などが訴訟。 その後、裁判が併合。

1996年6月11日に、フィラデルフィアの連邦地裁で違憲判決。

インターネット上の18歳未満の者と定義された未成年者に対する「猥褻な」 あるいは「明らかに不快である」と定義されるコミニュケーションを管理する の条項が憲法違反である。

http://www.asahi-net.or.jp/~VR5J-MKN/jiji411.txt
コミュニケーション品位法 訴状と判決の和訳

PICS (Platform for Internet Content Selection)。子供が見ることができる ことができるWWWページを親が選別し遮断するための技術。 既に製品化されている。

◆日本

日本国憲法には、通信の秘密の条項がある。 (アメリカには、表現の自由はあるが、通信の秘密の話はない。)

第21条 集会・結社・表現の自由と通信の秘密

 (1)集会、結社及び言論、出版その他一切の表現の自由は、これを保障す る。

 (2)検閲は、これをしてはならない。通信の秘密は、これを侵してはならない。

通産省(電子ネットワーク協議会)、「電子ネットワーク運営における倫理綱 領」、1996年2月16日。

法務省、刑事法制に盗聴(電話の傍受、インターネットの傍受)を許す法律/ 条項を作ることを検討している。

郵政省、インターネットへの情報発信のルール化の検討に着手。

論点

Bekkoame 事件。猥褻なWWWページを見つけた警察がインターネット・サー ビス・プロバイダを家宅捜索し、ハードディスクなどを押収した。プロバイダ は、作者の本名や住所を警察に提供した。そのWWWの作者は、捕まり、1審 で有罪判決を受けた。

自主規制。

■日本国憲法99条

第99条 憲法尊重擁護の義務
 天皇又は摂政及び国務大臣、国会議員、裁判官その他の公務員は、この憲法 を尊重し擁護する義務を負ふ。

■今後の予定


↑[もどる] ←[1月29日] ・[2月5日] →[2月12日]
Last updated: 1997/02/05 00:13:19
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>