暗号アルゴリズムには共通鍵暗号アルゴリズム(対称鍵)と公開鍵暗号アルゴリズム(非対称鍵)がある。共通鍵方式は任意の長さのメッセージの暗号化のみに用いられるが、公開鍵方式は短いメッセージの暗号化、電子署名、鍵交換など各種の異なった目的に使われる。共通鍵暗号方式にはブロック暗号化とストリーム暗号化の方式がある。 共通鍵方式 秘密鍵、対称鍵(Symmetric Key)とも言う。 送信者と受信者は1つの鍵を秘密に共有し、暗号化と復号化に共通の鍵を使う。暗号の強度を確保するには鍵の長さが重要なファクターとなるが、鍵の長さが増せば処理コストが増加する。共通鍵方式は長い文書全体を暗号化するのに用いられるため、強度とともに処理効率の良いアルゴリズムが求められる。共通鍵方式の暗号アルゴリズムは数多くの方式が提案されている。 共通鍵の処理方法には、固定長のビット毎に区切って暗号化(ブロック暗号化)する方式と