[Encrypt][Symmetric] 區塊加密解密指南 (對稱式) – Block Cipher
Intro 一般所謂的對稱金鑰演算法,以區塊加密演算法為主,演算法如AES或DES。 區塊加密工作模式:所謂的Mode,如ECB、CBC、PCBC、CFB、OFB和CTR。延伸出初始向量(IV) ECB,CBC,OFB,CFB,CTR和XTS模式僅僅提供了機密性;為了保證加密資訊沒有被意外修改或惡意篡改,需要採用分離的訊息驗證碼,例如CBC-MAC。 認證加密模式(AE,Authenticated Encryption),或稱為authenc,結合了加密和認證的單一模式。AE模式的例子包括CCM,GCM,CWC,EAX,IAPM和OCB。 Mode – 工作模式 ECB (最簡單的加密模式) 最簡單的加密模式為 ECB (Electronic codebook):每個加密塊獨立加密,不須使用IV (亦即相同內文,密文相同) 缺點:同樣的明文塊會被加密成相同的密文塊; CBC (經典加密模式) 經典常用的加密模式為 CBC (Cipher-block chaining):每個明文塊先與前一個密文塊進行互斥或後,再進行加密。在這種方法中,每個密文塊都依賴於它前面的所有明文塊。同時,為了保證每條訊息的唯一性,在第一個塊中需要使用IV。 缺點:加密過程是串行的,無法被並列化 CTR (串流加密模式) 計數器模式 (CTR) 通過對計數器(Counter)進行加密,並將加密結果與明文進行 XOR 操作來生成密文。 加密過程中,首先生成初始計數器(IV 或 Nonce),並將其與密鑰一起加密,然後逐個增量加密計數器(或可並行處理),從而避免重複的加密結果。 優點:與 CBC 模式相比,CTR 模式支持並行處理,顯著提升效能。 GCM (CTR […]