GCM模式,即Galois/Counter Mode,是一種對稱加密算法中的分組密碼工作模式。它結合了CTR(Counter)模式和GMAC(Galois Message Authentication Code)算法,提供了加密和完整性保護的功能。GCM模式使用128位的分組大小,並且可以結合不同的加密算法,如AES(Advanced Encryption Standard),來實現加密和認證。
在GCM模式中,初始向量(IV, Initialization Vector)是用於CTR模式加密的密鑰流生成器的一個輸入,確保每次加密時使用不同的密鑰流。IV的選擇應該是唯一的,以防止相同的明文塊總是加密成相同的密文塊。
GCM模式提供認證加密功能,它對機密數據進行加密,並對機密數據和任何額外的非機密數據計算一個認證標籤。認證解密函式則用於解密機密數據,並驗證認證標籤以確保數據的完整性和真實性。此外,GCM模式還可以為未加密的額外數據(稱為AAD, Additional Authenticated Data)提供身份驗證保證。
總結來說,GCM模式是一種安全的加密和認證機制,適用於保護數據的機密性和完整性。它通過結合CTR模式的加密功能和GMAC算法的認證功能,提供了比單獨的校驗和或錯誤檢測碼更強的認證保證。