メモ

ようやく頭の中が整理されてきました。

対称暗号
共通鍵暗号ともいいます。1つの鍵で暗号化し、同じ鍵で復号化する。

使い捨てパッド、DES、AESがこれに属します。

公開鍵暗号
非対称暗号ともいいます。公開鍵で暗号化し、復号鍵で復号化する。

1976年にWhitfield Diffie, Martin Hellmanが公開鍵暗号のアイデアを発表しました。
RSA暗号ElGamal暗号Rabin暗号楕円曲線暗号がこれに属します。

使い捨てパッド
バーナム暗号と同じです。絶対に解読されない対称暗号

なぜ、利用されないのか?

  • 平文と同じ長さの鍵が必要になる。
  • 鍵を共有するのが大変である。
DES
1977年アメリカの連邦情報処理標準規格に採用された対称暗号で、IBMにより開発されました。FIPS 46-3

64ビットの平文を64ビットの暗号にする対称暗号です。
鍵のビット長は56ビットで、7ビットおきにエラー検出の情報が1ビット入ります。その結果、鍵の長さは64ビットとなりますが、実質は56ビットです。
暗号化は64ビットを単位としたブロックで行われ、ファイステル構造を用います。このファイステル構造を、16回繰り返し暗号化します。

トリプルDES
DESを3段重ねにした暗号
DES-EDE2
鍵1と鍵3に同じ鍵を使う暗号化。鍵は56x2=112ビット
DES-EDE3
トリプルDESのこと。鍵は56x3=168ビット

DESを強力にするため、3段にしたもので、暗号-復号-暗号の3段構造である。
3つとも同じ鍵にするとDESになるという互換性がある。

AES
2000年にアメリカのNISTにより選定され、連邦情報処理標準規格になった対称暗号。FIPS-197

ベルギーのJoan Daemen, Vincent RijmenによるRijndael暗号(ラインダール)が選定された。

Rijndael暗号
ベルギーのJoan Daemen, Vincent Rijmenが設計した暗号。

ファイステル構造ではなく、SPN構造を使用しているブロック暗号。
SPN構造を10-14回繰り返す。
AESの規格ではブロック長は128,192,256ビットが選択可能。

ブロック暗号
ある特定の情報の集まりで暗号化するもの。
ストリーム暗号
データの流れを順次処理していくもの。

使い捨てパッドはストリーム暗号。
DES,AES,RSA暗号はブロック暗号。

ECB
Electric CodeBook mode 電子符号表モード
CBC
Cipher Block Chaining mode 暗号ブロック連鎖モード
CFB
Chipher-FeedBack mode 暗号フィードバックモード
OFB
Output-FeedBack mode 出力フィードバックモード
CTR
CounTeR mode カウンタモード

ブロック暗号をより安全に処理するために考え出されたブロック処理方法。
CBCとCTRがお勧め

RSA暗号
Ron Rivest, Adi Shamir, Leonard Adlemanによる公開鍵暗号です。

素因数分解の困難さを利用した暗号です。
これはデジタル署名にも使うことができます。
対称暗号に比べて鍵長が長いです。対称暗号は長くても256ビットですが、412ビット、1024ビットとかが使われています。

一方向ハッシュ関数
メッセージの正真性のチェックに使う。

MD4,MD5,SHA-1,SHA-256,SHA-384,SHA-512,RIPEMD-160などがあります