|
Alphabet(アルファベット)
日常(英語やコンピュータ言語として)使われる記号の組。
ASCII(アスキー)
テキスト文字(特にアルファベット(Alphabet))と数字の間を対応させている対応表の一種。
American Standard Code for Information Interchangeの略。
Asymmetric Cipher(非対称暗号)
公開鍵暗号。暗号化と復号化に異なる鍵を使うために非対称暗号と呼ばれる。
Attack(攻撃)
暗号解読者が暗号の秘密を解き明かそうとするやり方。攻撃は特別なアルゴリズムが構築されている立場からアプローチし始める。いくつかの一般的な攻撃を議論する。
- 全数検索(または悉皆探索):意味のある文章に解読できるまで全ての可能性のある鍵を試す方法。
- 既知平文攻撃:まず平文と暗号文の中に同じ数の文字や言葉が存在すると仮定します(これはしばしば理にかなった仮定である。この情報を使って内部の状態や暗号鍵を再構成する)。
- 定義平文攻撃:攻撃側が作成した文章をサブミットし得られた暗号文を得ることによって暗号の仕組みを暴く方法。
- 差分解読法:異なった鍵、データ要素や暗号中の確率的状態によるビットの統計的偏りを使う。
- 線形暗号解読法:平文と暗号文の線形性を利用して鍵を探す方法。
Authentication(認証)
暗号作成法の目的の一つ。情報が保存中や移送中に改ざんされていないことの保証。
一般にはハッシュを用い情報を固定サイズのデータに変換し、これを調べることにより認証をおこなう。
Authorization(認可)
正しく認められた個人やグループが特定の行為をおこなうことを許可すること。暗号において通信者間において合意された第三者機構を置くことにより認可の機能を持たせることが可能である。
Autokey(自己鍵)
平文から作られた暗号鍵。逐次暗号の一種で使用され、暗号文に乱数で作った混乱させる目的の一連を加えてフィールドバックする暗号文フィールドバックの一つである。
Bit(ビット)
情報の最小単位。真偽、イエスまたはノー、0または1。すべてのデジタル情報は基本的にビットの形で伝達されたり保存されたりする。
Block(ブロック)
1単位として扱われるデータの単位量。例えばDESブロック暗号は64-ビットを1ブロックとして扱っていて、これは64-ビット(8ASCII文字分)を一度に暗号化していることを意味する。
ブロック暗号の過程においてはデータの大きさが1ブロックと完全に一致するとは限らないが、データは一つかそれ以上の固定された大きさのブロックに分割することができる。固定されたブロックサイズのブロック暗号は、データを暗号化の過程でブロックサイズに合わせなければならない。
Block Cipher(ブロック暗号)
一回の操作で複数の文字要素を持ったブロックが暗号化される暗号。
理想的なブロック暗号では入力ブロックの1ビットでさえも変わると、出力である暗号文のすべてのビットが独立に0.5の確率で変化する。つまり入力が1ビットしか変わらなくても、出力ビットの約半分は変化するという意味である。これは出力全体に入力の変化が拡散していると言え、ブロック暗号ではこれを実現しているが逐次暗号ではまだ十分ではない。
通常文章はいくつかのブロックに分割可能であるが、最後のブロックには空白の残る可能性がある。空白のあるブロックは暗号化できないので、最後のブロックにパッドをつめる。このような方法は暗号文を長くしてしまう。他の方法としては最後のブロックのバイトの数を表わす構造を暗号文に入れてしまう方法があるが、いずれにしろ暗号文の長さは平文よりも長くなってしまう。
暗号文の増加なしでおこなうブロック暗号のアイデアとしては、最後のブロックだけを逐次暗号を使う方法が挙げられる。
Block size(ブロックサイズ)
1ブロックのデータの大きさ。DES場合のブロックサイズは64-ビット(8バイト)である。
Brute Force Attack(悉皆探索)
あらゆる可能性のある鍵を試す攻撃法。これは明快な暗号攻撃法であるので、実際には暗号は悉皆探索に耐えうるだけの十分に多い鍵の数を設計している。通常、暗号設計の強さは悉皆探索にどれだけ耐えられるかによっている。
Byte(バイト)
8ビットを1単位とした単位。「オクテット(Octet)」とも呼ばれる。8ビットを一単位としているので1バイトは256種類の値や記号を表わすことができる。7ビットASCIIコードは7ビットで一文字を表わすので、言い換えると1バイトで一文字を表わすことができる。
Certificate(証明書)
デジタル署名済みの特殊なメッセージ。このメッセージを添付することにより、添付された文章の送信者が第三機関により認可された人であることを証明する。
Certification(証明)
証明書の発行をおこなう行程。
Certification Authority(認証局)
証明書を発行する人または機関。
Cipher(暗号)
意味を持っている文章やデータを変換して、特定の人々以外には意味不明なコードにするセキュリティー機構。
Ciphering(暗号法)
暗号を使うこと。暗号化すること(enciphering)と復号化すること(deciphering)の両方を表す言葉。
Ciphertext(暗号文)
暗号化した結果。暗号文は元の平文と同じ情報を持っているが、鍵を使以外は意味不明な状態に元の平文をしてしまう。この鍵なしでは元の平文を再現するのは不可能に近い。
Code(コード)
一種類の記号や数字を異なった種類の記号や数字に置き換える時の一つの組。古くは電報において節約のために一つの数値が文字や文章を表わした。現代のコードは文字記号のような情報をASCIIコードのような数値に一対一対応させている。コード対応させることは現代コンピュータの根元であり、このコード対応は一般に公開されている。一部「機密コード」といわれるコードは存在するが、情報とコードは変換できる。
Confusion(混乱)
入力値と出力値の対応が変化する暗号機構の一部分である。「拡散(diffusion)」と比較せよ。
Cryptanalysis(暗号解読)
暗号文を暗号化や復号化のアルゴリズムを知らずに解く技術や科学。一般的に暗号文は鍵を使って作成され、この鍵を使わないで暗号文を解くことを暗号解読という。暗号解読をするときに暗号文を解こうとする行為を「攻撃」(attack))、暗号化のアルゴリズムを解明することを「破る」(break)と表現することがある。
Cryptanalyst(暗号解読者)
暗号解読(cryptanalysis)をおこなう人。暗号作成者(Cryptographer)に対する言葉で、暗号作成者から「敵」(Opponent)と呼ばれる場合がある。
Cryptographer(暗号作成者)
暗号作成法(Cryptography)を使って平文から暗号文を作成する人々や暗号作成法を研究する人。
Cryptography(暗号作成法)
平文から暗号文へ変換することによって情報を保護する技術や科学。暗号学(cryptology)の一部。暗号作成法(cryptography)にはデータを暗号化することに加え、暗号を使った認証(authentication)も含む。
Cryptography War(暗号作成戦争)
暗号作成者と暗号解読者の間の戦い。暗号作成者は十分に秘密を保持できる暗号を作り出そうとしていて、それが実現するころには一人以上の暗号解読者がその暗号を攻撃することになる。
暗号作成者は現実的でないクレームを無視することに慣れた科学者であることが多いが、暗号システムが攻撃され破られることは現実にはほとんどない。しかし暗号解読者は秘密に対する攻撃を続けなければならないし、反対に暗号作成者はより強い暗号を作り続ければならない。なぜなら継続的な暗号システムの使用はすべての暗号文(これから作る暗号文も過去において作った暗号文さえも)の秘密が露呈してしまう。このような理由から広く使われている暗号をそのままにしたり、暗号を定期的に変更しないことは大変危険である。
Cryptology(暗号学)
暗号作成法(cryptography)と暗号解読法(cryptanalysis)にステガノグラフィ(steganography)を含めた学問分野。
Decipher(復号化する)
正しい鍵を使って、暗号文に暗号化された文章やデータを元の平文に戻す行程。
Decryption(復号化)
暗号文の中にある暗号化された情報を元に戻すことを表わす言葉。暗号化(encryption)の対義語。
Defined Plaintext Attack(定義平文攻撃)
特定の平文とその平文を暗号化した暗号文を使っておこなう攻撃形態の一つ。既知平文攻撃の極端な形。
定義平文攻撃は許可されていないユーザーが特定の文章を暗号化することができるシステムでは問題となる可能性がある。頻繁に鍵の変更をしながら許可されたユーザーのみが暗号化したり、少ない文章のみが暗号化されたり、異なったランダムメッセージ鍵でそれぞれの文章を暗号化するシステムではこのような攻撃は難しい。
DES
The U.S. Data Encryption Standardであるブロック暗号の一種。56-ビットの鍵を用いる64-バイトのブロック暗号で16段階構成になっている。
Differential Cryptanalysis(差分暗号解読法)
データの値または鍵の違いがシステムについての情報が統計的偏りを起こすことを利用する攻撃形態。
Diffusion(拡散)
拡散は入力の1ビットもしくは1バイトの変化が一操作の後に出力のそのビットもしくはバイトの付近に起きる変化を表わす言葉。ブロック暗号では拡散はブロックの一部の変化は他のブロックにも伝達される。「混乱(confusion)」と比較。
Digital Signature(デジタル署名)
鍵によって暗号化された文章にデジタル署名を添付することにより、その文章が送信者自身から送られたものであることや文章の内容が改ざんされていないことを確認する方法。
Encipher(暗号化する)
一つの鍵を選び出すことにより情報や平文を暗号文に変換する行程。復号(decipher)の対義語。
Encryption(暗号化)
情報を秘密の言葉や暗号文を使って特定の人意外には意味不明にすることを表わす言葉。
Exclusive-OR(排他的論理和)
ビット単位の和を求める計算の一種。コンピュータ上での計算や暗号の基礎となる計算方法。それぞれが0か1の2入力を加算して結果を2で割った余り。具体的には以下の4つのパターンになる。
|
入力1
|
入力2
|
出力
|
|
0
|
0
|
0
|
|
0
|
1
|
1
|
|
1
|
0
|
1
|
|
1
|
1
|
0
|
Hash(ハッシュ)
大きさのきまっていないデータから決まった大きさの結果を出す古典的なコンピュータ操作。理想的なハッシュは入力データの最小の変化でも出力の約半分のビットを変化させる。
またハッシュはエラー検出に使われたり、メッセージの要約方法や認証方法としても知られている。
Identification(識別)
メッセージの送信者を確認し正しいことを検証する行程。
IV(アイブイ)
初期値(Initial Value)。暗号操作をおこなう場合に外部から与える値。
Key(鍵)
錠で物を守っている時に、その錠に対応する正しい鍵を持っている人のみが錠によって守られているものを入手できる。
一般的に暗号作成の鍵の値は暗号作成機構の初期値として用いられる。
暗号作成法にはいろいろな鍵がある。ユーザー鍵はそれぞれのユーザーが覚えている鍵で、これはエーリアスファイルの中でそれぞれの名前とか鍵が対応付けられているエーリアス鍵と同じである。他には個々の鍵(特定の通信のみに使われる鍵)、メッセージ鍵(それぞれのメッセージによって毎回違う鍵、一般的には乱数値)、進行鍵(逐次暗号で用いられ、一般的には乱数の並びを使った鍵)などがある。
Key Distribution Problem(鍵配送問題)
一般に秘密鍵は絶対に秘密裏に配送されて保存しなければならないので、秘密鍵暗号の場合は特に通信の発信者と受信者の両方に鍵を配送するときの問題である。またそれぞれのユーザーが異なった鍵を持つ場合、膨大な数の鍵配送問題でもある。
公開鍵暗号の出現でこの問題は解決されたと考えられたが、公開鍵の所有者の確認の必要性は鍵配送問題と同じくらい難しい。公開鍵は公開することができるけれど、その鍵が本当に公開した本人の物かどうか分からない。
他の鍵配送問題としてはグループにおける鍵の問題がある。一つのグループにおいて同じファイルにアクセスする場合、各個人が異なった秘密鍵を持っているのは道理にかなっていない。一般的には特定のグループは同じ秘密鍵を所有していて、誰かメンバーが外れた場合その鍵は変更されるはずである。一般的には個々のグループはそれぞれのグループに対して一つの鍵を持っている。
Keyspace(鍵空間)
特定の暗号システム上で利用できる鍵の数。通常ビット単位で表わされ、それぞれの鍵はビットの違いにより表わされる。
Known Plaintext Attack(既知平文攻撃)
関係のある平文と暗号文の中に同じ数の言葉が存在することを利用して攻撃する方法。これは直接暗号の変換方法を試していることである。
敵がいくつかの既知の平文を持っていることはよくある。過去のレポートでは返信アドレスやいくつかの類推可能な言葉を利用している。時々、暗号システムは意味のない文章や誕生祝のような誰が書いたかわからない文章を運んだことによりこの攻撃を受けることもある。
Linear Cryptanalysis(線形暗号解読法)
Mitsuru Matsui氏によって考案された暗号解読法で、ブロック暗号に対する攻撃方法の一つ。はじめに平文中のいくつかのビットの排他的論理和の結果と暗号文中のいくつかのビットの排他的論理和を求める。さらにその二つの結果から排他的論理和を用いて得た結果は鍵のいくつかのビットを排他的論理和で求めた結果を推測できるというものである。
Mathematical Cryptography(数学的暗号作成法)
大きな2素数の積をある数で割ったときの余りを求めるなどの数学の基本操作をもとにした暗号作成法。一般的には数論と密接な関係にある。機械的暗号作成法(mechanical
cryptograpy)の対義語。
数学的暗号作成法は50年以上の間秘密保護し続けてきたが、一般的には実際に使われている暗号が完全には秘密保護できるとは受け止められていない。
Mechanism(機構)
物理的な機械そのものやその機械で実行される論理命令の一連を示す機械の論理概念。機構はプロセス(ハードウェア、コンピュータ、ソフトウェアなど)やそのプロセスの実行を表わしている。
Mechanistic Cryptography(機械的暗号作成法)
機構や機械をよって暗号作成をおこなう暗号作成法。数学的暗号作成法の対義語。
数学暗号作成法愛好者から見ると見下されるかもしれないが、機械的暗号作成法は設計や機械のそれぞれの部分の動きを計算する時に数学を使っている。しかしこれは厳格な意味での数学ではない。本来複雑であろうと予測される数学的な操作を、比較的単純な部分や半機械を使って実現している。
Message Key(メッセージ鍵)
メッセージとともに運ばれる鍵。
一般的にはメッセージ鍵は暗号データのための鍵として実際に使われる大きな乱数である。そのメッセージ鍵自身はユーザー鍵やその他の関連した鍵で暗号化される。最初受信者はメッセージ鍵を復号して、メッセージデータを復号するための鍵としてそのメッセージ鍵が使われる。
Notary(公証人)
証明発行要求者が証明内容の本人であることを確認し、認可を与えるために証明書を発行する人。
One Time Pad(使い捨て方式)
一度限り使われる混乱シークエンスを使う逐次暗号。
Opponent(敵)
暗号作成者が使う暗号解読者や暗号解読者グループのこと。時々敵国という表現をする場合もある。
Overall Diffusion(全体拡散)
メッセージや平文の一バイトの変化でさえ0.5の確率ですべての暗号文のバイトを変化させる理想的なブロック暗号の道具。実際、理想的な暗号はこのようになるだろう。これはどんな入力ブロックに対しても約半分の出力バイトが変化することを意味する。
全体拡散は関係していないブロック間でさえ暗号文は変化するという意味である。これは暗号攻撃に使われるかもしれない平文と暗号文の関係を隠すことになる。
全体拡散は現実の暗号では統計的な測定によって測定可能であり、いい設計と悪い設計を判別できる。全体拡散だけではいい暗号とはいえないが、いい暗号は全体拡散を要求される。
Physicallyrandom(物理ランダム)
物理的なソースから得られる乱数もしくはその乱数の一連。
実ランダム(Really Random)、真ランダム(Truly Random)とも呼ばれる。
Plaintext(平文)
平文は元来読むことのできる文章や理解できるフォーマットを持った情報。平文は実際の言語文字と考えてよいが、時においては守秘されるべき他の文字やコンピュータデータのような値である場合もある。
Pseudo-random(疑似ランダム)
物理ランダムに対して、乱数発生器や数学的な計算によって作られる値や値の一連。
Public Key Cipher(公開鍵暗号)
非対称暗号(asymmetric cipher)とも呼ばれる。一つの鍵で文章を暗号化し、作成された暗号文を別の鍵を用いて復号化する暗号の一種。「秘密鍵暗号(secret
key cipher)」の対義語。
二つの鍵のうちのどちらか一つは暗号化もしくは復号化に利用できる。一般に公開してある鍵は公開鍵と呼ばれ、秘密裏に保管してある鍵は個人鍵と呼ばれる。
公開鍵暗号作成法は秘密鍵暗号作成法に比較して暗号化に時間がかかるので、通常の秘密暗号で使われるメッセージ鍵やセッション鍵を輸送するのに利用される。
前で鍵配送問題を示したが、誰か他の人の名前を偽って偽の公開鍵を送り付けることは容易い。その公開鍵を受け取った人は偽者の公開鍵を使って暗号文を偽者に送るので、偽者は簡単に復号化して読むことができる。偽者はこの復号化された文書を正しい受信者の公開鍵を使って再暗号化したものをその受信者に送る事により情報を得ることができる。
このように公開鍵暗号や中間データ暗号を破らなくても秘密を知ることができることを示している。個人鍵は秘密になっていてかつ暗号は破られなくても、公開鍵暗号の単純な利用は守秘を保証するのに十分と言うわけではない。
このようなだましを防ぐには、公開鍵は送受信者に代わり認証する人が必要となってくる。これは鍵配送問題と同じくらいに難しい。秘密鍵暗号は複雑な鍵配送の規則がないので、秘密鍵が秘密になっているとすると暗号が破られない限り単純な使用でも十分秘密保護できる。
Random(ランダム)
二度と同じ物が出てこない並び方。同じ繰り返しがないこと。
Random number generator(乱数発生器)
統計学や他の計算で使われる同じ繰り返しがなく、それぞれの値の間に相関を持たない値の一連を作り出す標準的な計算道具。実際に使われている乱数発生器は計算上の機構である、それぞれの値は直前の値により決定している。このようなランダムは疑似ランダム(Pseudo-random)と呼ばれ、本当に前後の相関がまったくない実ランダム(Really
random)とは区別されている。
計算上の乱数発生器は同じ状態から計算し始めると、まったく同じ値を発生する。一つの鍵で乱数発生器を初期化すると、同じ鍵を持っていればいつでも同じ順番の特定の乱数を発生させることができる。
Really Random(実ランダム)
まったく値の間に相関がなくパターンの繰り返しもない値や値の一連。物理ランダム(Physically random)や真ランダム(Truly
random)とも呼ばれる。疑似ランダム(Pseudo-random)の対義語。
Secrecy(秘密保持)
暗号作成法の目的の一つ。秘密の情報を秘密にし続けようとすること。
Secret Code(秘密コード)
守秘された文字と対応表の関連。
Secret Key Cipher(秘密鍵暗号)
対称鍵暗号とも呼ばれる。平文の暗号化にも暗号文の復号化にもまったく同じ鍵が使用される。「公開鍵暗号(public key cipher)」の対義語。
Signature Verification(署名確認)
デジタル署名が本当に送信者により書かれたものかどうかまたは改ざんされていないか認証する行程。
Steganography(ステガノグラフィ)
平文やデータの存在を隠すこと。情報の存在自体をわからなくするように見せる暗号学の一つの方法。暗号文の存在が明らかになっても情報の内容を特定に人以外には意味不明なデータに変換する暗号作成法とは対をなす言葉。
Stream Cipher(逐次暗号)
ビットやバイトのような情報を個々の単位で暗号化するため、どんな長さの文章でも直接暗号化できる暗号。従来のブロック暗号は暗号化前に1ブロック内に空白があるとうまく暗号化できないので余分なデータを加える必要性があった。逐次暗号ではこの必要性はない。
従来の逐次暗号では、バイトや文字はそれぞれのバイトや文字単位で暗号化されている。何種類かの逐次暗号は前の平文の値はそれに続く部分の暗号を変化させるが、その部分のがその部分の前を変えることはできない。対照的にブロック暗号は平文の最後の1ビットでさえ前の部分のビットを変化させる。
Strength(強さ)
攻撃に抵抗したり秘密を保持する暗号の能力。強さは暗号のすべてに思えるかもしれないが、暗号作成法は強さを測定する方法を持っていない。
誰も強さは何かと最終的にはわからない。暗号攻撃は完全ではないのでこれ以上の定義はできない。全ての攻撃を列挙したりチェックするのは期待できないので、強さはいつも測定不可能であるだろう。
現実には暗号の強さは特定の攻撃における強さが話題となる。
Symmetric Cipher(対称暗号)
秘密鍵暗号の別名。暗号化と復号化に同じ鍵が使われるので対称暗号と呼ばれる。
Truly Random(真ランダム)
物理的なものから作られる乱数もしくは値の一連。実ランダム(Really random)もしくは物理ランダム(Physically random)とも呼ばれる。
|