カテゴリー
最近更新したページ
最新コメント
ノックスの十戒 by stunning seo guys
スリーレターコード by check this out
暗号 by tips about seo
ノックスの十戒 by check this out
ノックスの十戒 by mjvstgba
FrontPage by  
FrontPage by  
Menu
ここは自由に編集できるエリアです。

暗号

暗号(cipher)あるいは暗号化(encryption)とは、第三者に通信内容を知られないように行う特殊な通信(秘匿通信)方法のうち、通信文を見ても特別な知識なしでは読めないように変換する表記法(変換アルゴリズム)のことである。通信ではなく保管する文書等の内容を秘匿する方法としても用いることができる。

概要

秘匿通信には、主に次の3種類の方法がある。
1.ステガノグラフィ
通信文を人目に付かない場所に記録する。
(例)画像などに情報を埋め込む電子透かし
2.コード
通信文の単語やフレーズを、事前に決めておいた言葉・記号で置き換える。これらは符牒や隠語とも呼ばれる。
3.サイファ
通信文を、意味とは関係なく所定のアルゴリズムに従って、(1つまたは複数の)文字やビットごとに置換や転置を行うことで、読めない文に変換する。

秘匿通信を行う上で最も単純な方法は、(1)の通信文そのものの所在を隠してしまうことである。歴史上実際に行われたものとしては、通信文を丸めて飲み込んだり、ベルトの内側に書き普通の被服のように身につけたり、新聞の文字に印(文字横に穴を開ける等)をつけて文章を作る、頭を剃りあげて頭皮に通信文を刺青し、再び頭髪が生えそろうことで隠す、などもあったようである。

(2)の、事前に「○◇△といえば、〜のこと」等と事前に取り決めておくことで秘匿することも行われた。個人間で行うものから組合やギルド等の特定のグループ内で行うものがある。事前の取り決めではなく、特定の人達だけが知る事項などを元に、意味は同じままで、言い方を変えることで秘匿することもある。秘匿したい特定の単語だけ置き換えることも、コードブックと呼ばれる辞書を作成して、全ての単語を置き換えることもあり、「ルイ14世の大暗号」、「ナポレオンの小暗号」などが知られている。文章の一文字毎に冗字を一つから二つ割り込ませ、通常の速度で通して喋る事によって、部外者には何を言っているのか分かり難くする“山賊言葉”もこれに相当すると思われる(仲間は冗字を頭の中で除去する事で解読、会話する)。しかし、(2)のコードは、歴史的な使用例は幾つか知られているが、現代の通信技術での使用例はあまり知られていない。コード(code)という言葉自体は「圧縮」や「誤り訂正」の目的で使われるコード(符号)や、認証用のコード(MAC)などで使用されている。

秘匿通信を行う方法としては(特に第二次世界大戦後は)、(3)のサイファが主流である。

戦時下における作戦や命令を敵に知られると作戦の裏をかかれて文字通り致命的な結果を招くことになるなど、第三者に通信内容を知られては困ることがある。暗号はそのような場合に独特の表記法を使って通信文を変換することによって、第三者が通信文を盗み見ても意味が分からないようにする為に考案され、主に戦時下において軍事技術の一つとして発達してきた。 初期の暗号は、安全性が不確かなものも多く、使用中に解読され、その場しのぎに改良を試みるものの、更に巧妙な手口によって破られてしまうといった、イタチごっこに陥る事もあった。

この記事では、主に(3)の解説を行い、(2)にもふれることにする。また、暗号技術は、秘匿通信に限らず、相手の身元を確認する認証や改竄の検出にも応用され、貨幣の偽造防止技術への応用も研究されている。

種類

暗号には様々な方式があるが、現存する暗号は主に下記のように分類することができる。

暗号(サイファ)の分類

  • 古典暗号 暗号化・復号に鍵の概念を使わないものもある
    • 換字式暗号 別の文字を割り当てる。単一換字、多表式換字などがある。
    • 転置式暗号 文字を並べ替える。
    • 挿入式暗号 平文に余分な文字や単語などを挿入して元の文(平文)を分からなくする。
  • 現代暗号 鍵を使い、アルゴリズムを公開したものが多い。
    • 共通鍵暗号 暗号化・復号で同じ鍵(秘密鍵)を使う。ブロック暗号、ストリーム暗号などがある。
    • 公開鍵暗号 暗号化・復号で異なる鍵(秘密鍵・公開鍵)を使う。

鍵を使わない方法は、新しい方法を考案するには手間がかかるほか、一度敵に知られた方法は二度と使えない、暗号の信頼性を客観的に評価することができないなどの問題がある。例えば、シーザー暗号(古典暗号の一つ)は、暗号化・復号の表記法が秘密でなければ安全性が保てなかった。 それに対し鍵を使う方法は、アルゴリズム自体を敵に知られても構わないような方法が目標であり、一度考案した方法は、鍵を変えることで何度でも使える、アルゴリズムを広く公開することで信頼性を十分に検討することができるなどの多くの利点がある。近代になると、このように鍵のみを秘密にしていれば暗号化・復号の方法を皆に公開した場合でも安全を保てることが暗号にとって望ましい目標である(ケルクホフスの原理)と認識され、現代暗号では鍵を使うものが主流となった。 さらに現代暗号では、暗号化・復号の方法だけではなく、暗号化の鍵を公開しても安全性が保てる方式(公開鍵暗号)も扱う。

暗号(サイファ)の例

  • 古典暗号:
    • 換字式 シーザー暗号、ポリュビオス暗号(単一換字)、ヴィジュネル暗号(多表式換字)
    • 転置式 スキュタレー
  • 現代暗号:
    • 共通鍵 AES、DES(ブロック暗号)
    • 公開鍵 RSA、楕円曲線暗号

コードの例

  • 例1 ルイ14世の大暗号(ロシニョールが作成):コードブックは「act=486、ion=102、…」のように音節単位で数を対応(600個程ある)、暗号文「486-102」を復号すると act-ion になる。
  • 例2 日露戦争で使われた暗号文:「アテヨ イカヌ ミユトノホウニセツシ、ノレツ ヲハイタダチニヨシスコレヲワケフ ウメルセントス、ホンジツテンキセイロウナレドモナミタカシ」。コードブックは「アテヨ=敵、イカヌ=艦隊、ノレツ=連合艦隊、…」のように秘匿したい単語をカナ3文字に対応(2文字目は単語の最初と同じ音にもなっている)させている。平文は「敵 艦隊見ユトノ警報ニ接シ、連合艦隊 は直チニ出動、コレヲ撃沈 滅セントス、本日天気晴朗ナレドモ波高シ」となる。
  • 例3 真珠湾攻撃で使われた暗号文:「ニイタカヤマノボレ1208」(=12/8に日米開戦)、「ト」の連続打電(=全軍突撃せよ)、「トラトラトラ」(=我、奇襲に成功せり)。事前に決めておいたフレーズを合図とした。

実装

初期の古典暗号は、多くは紙と鉛筆のみで暗号化を行うが、多少の道具を用いるものもあった。暗号解読の進歩により単純な暗号では安全ではなくなると、複雑な処理を自動化するための機械が発明された。
紀元前5世紀、スキュタレーと呼ばれる棒が暗号に使用された(暗号の書かれた紙を棒に巻きつけて読む。棒の太さ(円周の長さ)が一致しないと読めない)。

円盤
15世紀、アルベルティの考案した暗号円盤が最古のものとされる。大小2枚の円盤からなり、内側の円盤を回転させて平文・暗号文の対応を決める。位置を固定して暗号化・復号を行うとシーザー暗号となり、一文字毎に位置をずらすと多表式暗号となる。南北戦争でも使用された。ローター式暗号は多段に接続した暗号円盤を機械化したものともいえる。

カード
16世紀、ジェロラモ・カルダーノが穴をあけたカード(カルダングリルと呼ばれる)を使って作成する分置式暗号を考案している。

換字表
多表式暗号を行う際のツールとして使用。トリテミスの換字表あるいはヴィジュネルの表として知られる。

ブック
コードの対応表(略号集、ノーメンクラタ)や乱数表などを記載するのに使った。鍵フレーズを指定するために聖書や辞典が使用されることもあった。MI5が捕まえたスパイが所持していたとされる乱数表は、指サイズの小型のもので多数の数値が印刷されている。

18世紀末、ジェファーソンが考案し、後にバセリも再発明している。ホィール(ディスク)、ストリップ、ロッドなど様々な形状をした暗号器が考案されている。M-94、M-138A(アメリカ)、REIHENSCHIEBER(ドイツ)など実際に使用された。

機械式
20世紀になると、エニグマ(ドイツ)、パープル(日本)、M-209、M-325、SIGABA(アメリカ)、NEMA(スイス)、TypeX(イギリス)など機械式の暗号装置が開発され、特に第二次世界大戦中に各国で使用された。

計算機
コンピュータの進歩と普及により、ハードウェアだけではなく、ソフトウェアでも暗号が実装できるようになった。

用語

暗号で用いられる用語。
平文 (plain text)
第三者に知られたくない通信内容。

暗号文 (cipher text)
平文を、独特の表記法によって第三者が読み解けないようにした通信文。

鍵 (key)
表記法のパラメータ。表記法によっては鍵はないこともある。鍵が異なると平文が同じでも暗号文が異なる。

暗号化 (encryption; encode, encipher)
表記法に従って平文を暗号文に変換すること。

復号 (decryption; decode, decipher)
表記法に従って暗号文を平文に戻すこと。

攻撃 (attack)
暗号化に用いられた表記法の特定あるいは鍵を探索する行為。または鍵を用いずに暗号文を平文に戻すこと。解読ともいう。暗号の方式によって様々な攻撃法が考案されている。暗号の攻撃法も参照。

共通鍵 (common key)
共通鍵暗号において、暗号化にも復号にも用いられる鍵。暗号化側と復号側が同じものを持っている必要があり、鍵を共有する過程で盗聴された場合に通信の秘密はまったく保てなくなる。秘密鍵ということもある。

公開鍵 (public key)
公開鍵暗号において、暗号化に使用する鍵。暗号化鍵ともいう。復号側が持つ秘密鍵と対になった鍵が必要で、復号側はあらかじめ自分の公開鍵を暗号化側に通知しておく(公開する)ことから公開鍵と呼ばれる。

秘密鍵 (private key)
公開鍵暗号において、復号に使用する鍵。復号鍵ともいう。復号側だけがこのデータを持っている(秘密にする)ことから秘密鍵と呼ばれる。公開鍵から秘密鍵を推測することは非常に困難(事実上不可能)である暗号法を選択する必要がある。
鍵ペア (key pair)
秘密鍵と、対応する公開鍵とからなるペアの事。同時に生成される。

鍵交換 (key exchange)
共通鍵暗号において、公開鍵暗号方式などを用いて暗号化側と復号側が共通鍵を共有すること。鍵共有、鍵配送ということもある。

小説等での登場例

換字式暗号

  • 「黄金虫」(「エドガー・アラン・ポー」シリーズ)の暗号
  • 踊る人形?(「シャーロック・ホームズ」シリーズ)
  • 「二銭銅貨」の暗号
  • ピアノソナタ「月光」殺人事件?」(「名探偵コナン」シリーズ)の暗号

転置式暗号


挿入式暗号

  • 「ブルース・パーティントン設計書」(「シャーロック・ホームズ」シリーズ)の暗号
  • たぬきの暗号(暗号文にタヌキの絵が描かれていて、暗号文から"た"を削除すると平文になる)

その他


参考資料

Wikipedia-暗号
2006年06月29日(木) 09:52:55 Modified by private_eye3




スマートフォン版で見る