主に以下の2種類があります:
共通鍵暗号(対称暗号):
同じ鍵を使ってデータを暗号化・復号します。
例: AES(Advanced Encryption Standard)
利点: 処理が高速。
課題: 鍵を安全に共有する必要がある。
公開鍵暗号(非対称暗号):
公開鍵で暗号化し、対応する秘密鍵で復号します。
例: RSA、ECC(Elliptic Curve Cryptography)
利点: 鍵を共有する必要がない(公開鍵は誰でも使える)。
課題: 処理が遅い。
公開鍵暗号の仕組み
公開鍵暗号では、以下のような流れでデータを保護します:
鍵ペアの生成:
公開鍵と秘密鍵のペアを生成します。
公開鍵は暗号化に使用され、誰でも利用可能です。
秘密鍵は復号に使用され、厳重に保管します。
暗号化:
公開鍵を使ってデータを暗号化します。
暗号化されたデータは、公開鍵に対応する秘密鍵でしか復号できません。
復号:
秘密鍵を使って暗号化されたデータを復号します。
公開鍵では復号できないため、秘密鍵が漏洩しない限り安全です。
1. 公開鍵は暗号化にしか使用されない:
公開鍵は暗号化のプロセスに使用されます。一方で、復号に必要なのは「秘密鍵」のみです。そのため、暗号化プロセスで使用された公開鍵がリロードによって更新されても、暗号化されたデータは生成された秘密鍵で復号可能です。
2. 暗号化データと秘密鍵の関係:
RSA(または非対称暗号)の仕組みにより、暗号化されたデータは公開鍵に対応する秘密鍵だけで復号できます。暗号化されたデータ自体は公開鍵の更新によって影響を受けません。つまり、元の秘密鍵を保持していれば復号が可能です。
3. 復号は新しい公開鍵に依存しない:
新しい公開鍵が生成されたとしても、復号処理ではその新しい公開鍵は使われません。復号時に必要なのは、暗号化時に使用された公開鍵に対応する秘密鍵です。この秘密鍵が正しく入力されていれば、暗号化されたデータを正常に復号できます。
4. 暗号化データの変更がない限り有効:
暗号化されたデータそのものが破損したり変更されたりしていない限り、元の秘密鍵を用いることで復号可能です。
公開鍵は暗号化にしか使用されない。復号時に必要なのは暗号化時の秘密鍵。