公開鍵暗号との違いは?
共通鍵暗号は「1つの鍵」で暗号化も復号もする。公開鍵暗号は「公開鍵で暗号化、秘密鍵で復号」の2つの鍵を使う。共通鍵暗号の方が圧倒的に速いけど、相手に鍵を安全に渡す方法(鍵配送問題)がある。実際のHTTPS通信では、公開鍵暗号で共通鍵を安全に交換→以降は共通鍵暗号で高速通信、というハイブリッド方式だよ
AESって何?
2001年にNIST(米国国立標準技術研究所)が選定した暗号標準。鍵長は128/192/256ビット。AES-256は現時点で解読不可能とされ、米国政府の機密情報保護にも使われる。前身のDES(56ビット)は解読されたから、AESに移行した。ほぼすべてのモダンな暗号通信でAESが使われているよ
暗号モード(CBC、GCM等)って何?
AES自体は固定長(128ビット)のブロックを暗号化する。長いデータを暗号化する方法が「暗号モード」。CBC(ブロック連鎖)は古典的だけどパディングオラクル攻撃に弱い。GCM(Galois/Counter Mode)は暗号化と改ざん検知を同時に行うAEAD方式で、TLS 1.3の標準。今ならAES-256-GCMを選んでおけば間違いないよ
IPA試験でのポイントは?
「共通鍵暗号と公開鍵暗号の比較」が超頻出。共通鍵暗号は高速だが鍵配送が課題、公開鍵暗号は鍵配送が容易だが低速。「n人の通信にはn(n-1)/2個の鍵が必要」も定番問題。10人なら45個の鍵。公開鍵暗号ならn個で済む。この計算は必ず出るよ