情報を暗号化する場合、鍵と呼ばれるものを使って行うことになる。このとき、暗号化(encryption)と復号化(元の情報に戻す処理)の際に同じ鍵を利用する方法が慣用系暗号(conventional encryption system)、異なる鍵を利用する方法が公開鍵暗号(public key cryptosystem)と呼ばれる。慣用系暗号は、暗号化/復号化の処理時間は一般に短いが、それぞれの処理に同じ鍵を用いるため、鍵の管理が面倒である。これに対し、公開鍵暗号では暗号化の鍵(公開鍵を用いる)が盗まれても、復号にはそれとは異なる鍵(秘密鍵)が必要であるという特徴をもつ。そのため、秘密鍵だけをきちんと管理すればよく、比較的鍵の管理は容易である。しかし、処理時間が長いという欠点をもち、現在のインターネットでは、これら二つの暗号を組み合わせて利用する技術が主流である。慣用系暗号にはAES(Advanced Encryption Standard)、DES(data encryption standard)やFEAL(fast data encipherment algorithm)、公開鍵暗号にはRSA(Rivest Shamir Adleman)や楕円暗号がある。