メモ
ようやく頭の中が整理されてきました。
- 対称暗号
- 共通鍵暗号ともいいます。1つの鍵で暗号化し、同じ鍵で復号化する。
使い捨てパッド、DES、AESがこれに属します。
- 公開鍵暗号
- 非対称暗号ともいいます。公開鍵で暗号化し、復号鍵で復号化する。
1976年にWhitfield Diffie, Martin Hellmanが公開鍵暗号のアイデアを発表しました。
RSA暗号、ElGamal暗号、Rabin暗号、楕円曲線暗号がこれに属します。
- 使い捨てパッド
- バーナム暗号と同じです。絶対に解読されない対称暗号
なぜ、利用されないのか?
- 平文と同じ長さの鍵が必要になる。
- 鍵を共有するのが大変である。
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がお勧め
素因数分解の困難さを利用した暗号です。
これはデジタル署名にも使うことができます。
対称暗号に比べて鍵長が長いです。対称暗号は長くても256ビットですが、412ビット、1024ビットとかが使われています。
- 一方向ハッシュ関数
- メッセージの正真性のチェックに使う。