暗号化
[Wikipedia|▼Menu]

「秘匿」はこの項目に転送されています。ウィキペディアにおける編集履歴の秘匿機能については、Wikipedia:オーバーサイトの方針Wikipedia:版指定削除をご覧ください。

暗号とは、セキュア通信の手法の種類で、第三者が通信文を見ても特別な知識なしでは読めないように変換する、というような手法をおおまかには指す。いわゆる「通信」(telecommunications)に限らず、記録媒体への保存などにも適用できる。
目次

1 概要

2 暗号学

3 歴史

4 種類

4.1 サイファーの例

4.2 コードの例


5 実装

6 用語

7 参考文献

8 脚注

9 関連項目

概要

秘匿通信を行う上で最も単純な方法は「木を隠すなら森」という諺のごとく、通信文そのものの所在を隠してしまうことである。歴史上実際に行われたものとしては、通信文を丸めて飲み込んだり、ベルトの内側に書き普通の被服のように身につけたり、新聞の文字に印(文字横に穴を開ける等)をつけて文章を作る、頭を剃りあげて頭皮に通信文を刺青し、再び頭髪が生えそろうことで隠す、などもあったようである。「暗号らしい手法」としては「ステガノグラフィー」といい、「それとはわからないような形で」記録する、というものである。画像などに情報を埋め込む「電子透かし」にも同じ技術を利用するが、電子透かしではその画像の著作権情報などといった関係のある情報を埋め込むのが目的であるのに対し、ステガノグラフィーは全く無関係な情報を秘密のうちに紛れ込ませる、という点が異なる。またいわゆる縦読みなども一見して普通の文章の中に見えるためステガノグラフィーの一種と言えなくもない。

広義では以上のような方法も暗号に含まれるし暗号学が探求する対象であるが、狭義では、その見た目が「なんだかわからない」という、難読であると明確なものを指して特に暗号に分類する(なお、暗号化された通信文(暗号文)については理論上、他からの「それが暗号である」という情報が無ければ、ただのデタラメと全く区別が不可能であるのが理想である[1])。

狭義の暗号は、古典的には主要な分類に、以下の2つがある。

「コード」(詳細は コード (暗号) を参照)通信文内の、単語フレーズといったある程度意味のある塊の単位で、あらかじめ取り決めてある記号と交換する。

「サイファー」(詳細は en:Cipher を参照)通信文に対し、意味とは関係なく、文字毎の(最小の)単位で、あらかじめ取り決めてある置換や転置を掛ける。

「コード」は一般に、軍の運用に必要なものなど、ある程度の(あるいは膨大な[2])語彙について秘密の記号群を決めておくものであるが、「討ち入り」「開戦」などといった特定の重要な件のみについて、「○◇△といえば、?のこと」等と事前に取り決めておくことで秘匿することも行われた。個人間で行うものから組合ギルド等の特定のグループ内で行うものがある。事前の取り決めではなく、特定の人達だけが知る事項などを元に、意味は同じままで、言い方を変えることで秘匿することもある。秘匿したい特定の単語だけ置き換えることも、コードブックと呼ばれる辞書を作成して全ての単語を置き換えることもあり、歴史的な例としては、前者は「スコットランド女王メアリーの暗号」、後者は「ルイ14世の大暗号」や「ナポレオンの小暗号」などが知られている。

「サイファー」は、機械化以前は一般に作業手数が大きいといった欠点があったが、機械化以後はサイファーが主流の暗号である。機械化に次いで、暗号のコンピュータ化(あるいは、コンピュータの暗号化)の時代となったが、それらの暗号も、だいたいサイファーに分類するのが妥当であろう。

また以上のようなセキュア通信のための狭義の暗号に限らず、相手の身元を確認する認証や改竄の検出、貨幣の偽造防止技術、電子署名認証ハッシュ関数電子マネーその他、情報セキュリティの多くの局面で、暗号はキーテクノロジとなっている。

なお、暗号化の逆の操作を表す語は「復号(英語: decryption)」であり、符号化に対するそれ(英語: decode)同様「?化」とはしない。
暗号学

記事の体系性を保持するため、リンクされている記事の要約をこの節に執筆・加筆してください。(使い方
暗号理論」を参照「Category:暗号技術」も参照
歴史

記事の体系性を保持するため、リンクされている記事の要約をこの節に執筆・加筆してください。(使い方
暗号史」を参照
種類

サイファーの古典的な主要な分類と、現代暗号の主要な分類は以下のようになる(実際には、より多数の分類がある)。

古典暗号 - 古典的なサイファーの分類

換字式暗号 - 別の文字を割り当てる。単一換字、多表式換字などがある。

転置式暗号 - 文字を並べ替える。


現代暗号 - 秘密はに集中しており、手法は公開するのが基本であり前提

共通鍵暗号 - 暗号化・復号で同じ鍵を使う。ブロック暗号ストリーム暗号などがある。

公開鍵暗号 - 暗号化・復号で異なる鍵を使う。

鍵を使わない方法は、一度敵に知られた方法は二度と使えない、暗号の信頼性を客観的に評価することができないなどの問題がある。例えばシーザー暗号は、その方式自体がバレないようにしなければ安全性が保てないほどに脆弱であるし、頻度分析という、最古の記録は何百年以上も前に遡る手法でそれもバレてしまう。それに対し鍵を使う方法は、アルゴリズム自体を敵に知られても構わないような方法が目標であり、一度考案した方法は、鍵を変えることで何度でも使える、アルゴリズムを広く公開することで信頼性を十分に検討することができるなどの多くの利点がある。近代になると、このように鍵のみを秘密にしていれば暗号化・復号の方法を皆に公開した場合でも安全を保てることが暗号にとって望ましい目標である(ケルクホフスの原理)と認識された。その結果として、鍵の配送(共有)が問題点であると明確化されクローズアップされた。これは結局、公開鍵暗号(「非対象鍵暗号」という別名のほうが、理論上の意味が明確である)方式の発明によって、安全な鍵交換方式の提案という形で決着が付き、現代暗号のシステムには欠かせないものになっている。

コードやサイファーのような記号による暗号ではなく、スクランブル(信号の切り混ぜ)といったアナログ技術による広義の暗号システムとしては、かつてアナログ電話の時代に盛んに研究されたものがある。秘話の記事を参照。

このほかにも、少数民族の言語や方言など他国へはほとんど知られていない言葉の話者に通信させることで暗号化する手段もある。第二次世界大戦時にはアメリカがナバホ語などの先住民をコードトーカーとして徴兵、日本では国際電話の通話で薩隅方言を使用するなどしている。

具体的な暗号方式の一覧は、主な暗号の分類と一覧を参照。
サイファーの例

古典暗号:

換字式 - 最もシンプルな単一換字式としてメッシュ暗号、
シーザー暗号ポリュビオス暗号などが知られている。より安全性が高い多表式換字にヴィジュネル暗号などがある。これらの暗号は小説で扱われることもあり、「黄金虫」、「踊る人形」(単一換字)、「ジャカンタ」(多表式換字)などがある。

転置式 - スキュタレー、レールフェンス暗号、回転グリル - 「謎の暗号」


現代暗号:

共通鍵 - AESDES(ブロック暗号)、RC4(ストリーム暗号)、ワンタイムパッド

公開鍵 - RSA楕円曲線暗号 (ECC) 、ElGamal


コードの例

例1
ルイ14世の大暗号(ロシニョールが作成): コードブックは「act=486、ion=102、…」のように音節単位で3桁の数に対応させる(600個程ある)。暗号文「486-102」を復号すると act-ion になる。19世紀末フランス軍の暗号解読者バズリが解読を発表した。

例2 日露戦争で使われた暗号文:「アテヨ イカヌ ミユトノケイホウニセツシ、ノレツ ヲハイタダチニヨシスコレヲワケフ ウメルセントス、ホンジツテンキセイロウナレドモナミタカシ」。コードブックは「アテヨ=敵、イカヌ=艦隊、ノレツ=連合艦隊、…」のように秘匿したい単語をカナ3文字に対応(2文字目は単語の最初と同じ音にもなっている)させている。平文は「敵 艦隊見ユトノ警報ニ接シ、連合艦隊 は直チニ出動、コレヲ撃沈 滅セントス、本日天気晴朗ナレドモ波高シ」となる。

例3 真珠湾攻撃で使われた暗号文:「ニイタカヤマノボレ1208」(=12/8に日米開戦、事前に決めておいたフレーズを合図とした)。なお、「ト」の連打(=全軍突撃せよ)、「トラ」の反復(=我、奇襲に成功せり)などもよく知られているが、これらは正確には電信(モールス符号)の聞き分け易い音を合図としたものである。日本海軍機が搭載していたのは無線電話機(音声通信)ではなく、無線電信機(モールス符号通信)であったため、交戦時に複雑な電文の送信・聴取は困難なことから、和文電信で聞き取りやすい符号の組み合わせとなった。
「ト」は(・・―・・)、「ラ」は(・・・)で、[ト][ト][ト]...=・・―・・ ・・―・・ ・・―・・...=全軍突撃せよ)[トラ][トラ][トラ]...=・・―・・ ・・・ ・・―・・ ・・・ ・・―・・ ・・・ ...=我、奇襲に成功せり)を合図としたものである。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:25 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:FIRTREE