Mã nén
Lecture 3: Modes of Operation và Padding SchemeLecture 3: Modes of Operation và Padding SchemeI. CI. Cáác kic kiểểu thao tu thao táác (Modes of Operation)c (Modes of Operation)II. CII. Cáác kic kiểểu chu chèèn bn bổổsung thông tin (Padding Scheme)sung thông tin (Padding Scheme) I. Các kiểu thao tác (Modes of Operation)I. CI. Cáác kic kiểểu thao tu thao táác (Modes of Operation)c (Modes of Operation)CCáác hc hệệmmậật mã thưt mã thườờng mã hng mã hóóa da dữữliliệệu theo thu theo thàành khnh khốối i (block) c(block) cóókkíích thưch thướớc cc cốố đ địịnh (vnh (vííddụụ như như 64 ha64 hay 1y 128 28 bit). bit). ĐĐểểmã hmã hóóa ca cáác thông đic thông điệệp dp dàài, ta ci, ta cóóththểểchia thchia thàành nh nhinhiềều block vu block vààccóóththểểssửửddụụng cng cáác kic kiểểu thao tu thao táác khc kháác c nhau (nhau (modesmodesofofoperationoperation)) đ đốối vi vớới ci cáác block nc block nàày.y. Các kiểu thao tác (Modes of Operation)CCáác kic kiểểu thao tu thao táác (Modes of Operation)c (Modes of Operation)CCáác kic kiểểu thao tu thao táác đc đầầu tiên đưu tiên đượợc đc đềềnghnghịị ( (ECB, CBECB, CBC, C, OFB, CFOFB, CFB)B) đ đảảm bm bảảo to tíính bnh bíímmậật (t (confidentialityconfidentiality), ), nhưng không ginhưng không giúúp đp đảảm bm bảảo to tíính tonh toààn vn vẹẹn thông tin n thông tin ((messagemessageintegrityintegrity) ) CCáác kic kiểểu thao tu thao táác đưc đượợc thic thiếết kt kếếcho phcho phéép (p (CCMCCM, , EAXEAXvvààOCBOCB) v) vừừa đa đảảm bm bảảo to tíính bnh bíímmậật, vt, vừừa đa đảảm bm bảảo o xxáác đc địịnh tnh tíính tonh toààn vn vẹẹn thông tin.n thông tin. I.1 Electronic codebook (ECB)I.1 Electronic codebook (ECB)I.1 Electronic codebook (ECB)KiKiểểu mã hu mã hóóa đơn gia đơn giảản nhn nhấất lt lààelectronicelectroniccodebookcodebook((ECBECB) ) Thông điThông điệệp cp cầần mã hn mã hóóa đưa đượợc chia thc chia thàành tnh từừng đong đoạạn, n, mmỗỗi đoi đoạạn đưn đượợc mã hc mã hóóa đa độộc lc lậập nhau. p nhau. HHạạn chn chếế: c: cáác khc khốối ci cóóccùùng nng nộội dungi dung, sau khi mã ho, sau khi mã hoááxong cxong cũũng tng tạạo tho thàành cnh cáác khc khốối i kkếết qut quảảgigiốống hng hệệt t nhaunhauÎÎKhông che giKhông che giấấu đưu đượợc cc cáác c ““mmẫẫuu””ddữữliliệệu u (data pattern)(data pattern). . Không khuyKhông khuyếến khn khíích sch sửửddụụng ng ECBECBtrong ctrong cáác giao c giao ththứức mã hc mã hóóaa Electronic codebook (ECB)Electronic codebook (ECB)Electronic codebook (ECB) Electronic codebook (ECB)Electronic codebook (ECB)Electronic codebook (ECB) I.2 Cipher-block chaining (CBC) I.2 CipherI.2 Cipher--block chaining (CBC) block chaining (CBC) Trong kiTrong kiểểu mã hu mã hóóa a ciphercipher--block chainingblock chaining(CBC)(CBC)::MMỗỗi khi khốối plaintext đưi plaintext đượợc c XORXORvvớới khi khốối ciphertext i ciphertext trưtrướớc khi đưc khi đượợc mã hc mã hóóa. a. Như vNhư vậậy, my, mỗỗi khi khốối ciphertext phi ciphertext phụụthuthuộộc vc vàào to tấất ct cảảccáác khc khốối plaintext xui plaintext xuấất hit hiệện tn từừ đ đầầu đu đếến thn thờời đii điểểm m đđóóĐĐểể đ đảảm bm bảảo to tíính duy nhnh duy nhấất ct củủa ma mỗỗi thông đii thông điệệp đưp đượợc c mã hmã hóóa, ta sa, ta sửửddụụng thêm vector khng thêm vector khởởi ti tạạo o ((initialization vectorinitialization vector)) Cipher-block chaining (CBC)CipherCipher--block chaining (CBC)block chaining (CBC)CC00= IV= IVCCii= = EEKK((PPii⊕⊕CCii––11)) Cipher-block chaining (CBC)CipherCipher--block chaining (CBC)block chaining (CBC)CC00= IV= IVPPii= = DDKK((CCii) ) ⊕⊕CCii––11 Cipher-block chaining (CBC)CipherCipher--block chaining (CBC)block chaining (CBC)CBC lCBC lààkikiểểu mã hu mã hóóa thưa thườờng đưng đượợc sc sửửddụụng nhng nhấấttHHạạn chn chếế: x: xửửlý tulý tuầần tn tựự, không th, không thểểsong song hsong song hóóa a ccóóththểểchchọọn gin giảải phi phááp p counter modecounter mode đ đểểxxửửlý song lý song songsong [...]... đang xét Plaintext được mã hóa bằng cách XOR với một chuỗi được tạo ra bằng thuật toán mã hóa Biến Block Cipher thành stream cipher Cipher feedback (CFB) C0 = IV Ci = Pi ⊕ EK (Ci – 1) Cipher feedback (CFB) I.5 Output feedback (OFB) Bản chất: Plaintext KHÔNG được mã hóa bằng chính thuật toán đang xét Plaintext được mã hóa bằng cách XOR với một chuỗi được tạo ra bằng thuật toán mã hóa Biến Block Cipher... tiêu chí để đánh giá kiểu mã hóa Ví dụ: Khảo sát sự lan truyền lỗi khi giải mã thông tin trong CBC Initialization vector (IV) Tất cả các kiểu mã hóa (ngoại trừ ECB) đều sử dụng vector khởi tạo (initialization vector - IV) Tác dụng của IV: Dummy block (khối giả) để việc xử lý khối đầu tiên không khác biệt so với việc xử lý các khối tiếp thao Tăng tính ngẫu nhiên của quy trình mã hóa IV: Không cần giữ... bí mật cho đến khi nội dung của khối plaintext đầu tiên được sẵn sàng để mã hóa Các kiểu chèn bổ sung thông tin Padding Scheme: bổ sung thông tin để khối dữ liệu có kích thước phù hợp cho việc mã hóa Yêu cầu: Khối dữ liệu sau khi bổ sung có kích thước phù hợp với việc mã hóa Có thể dễ dàng khôi phục chính xác dữ liệu sau khi giải mã (cắt bỏ chính xác các dữ liệu bổ sung thêm vào) Các phương pháp cơ bản:... (PCBC) cipher-block Kiểu mã hóa propagating cipher-block chaining được thiết kế cho phép sự ảnh hưởng lan truyền nhiều hơn trong kiểu CBC P0 = IV, C0 = 0, Ci = EK ( Pi ⊕ Pi – 1 ⊕ Ci – 1) P0 = IV, C0 = 0, Pi = DK (Ci ) ⊕ Pi – 1 ⊕ Ci – 1 PCBC thường được dùng chủ yếu trong Kerberos và WASTE (ngoài ra thì ít thông dụng !) I.4 Cipher feedback (CFB) Bản chất: Plaintext KHÔNG được mã hóa bằng chính thuật... kiểu Counter cũng biến block cipher thành stream cipher Tạo ra block keystream tiếp theo bằng cách mã hóa giá trị kế tiếp của "counter" Counter có thể là bất kỳ hàm nào sinh ra dãy số không có giá trị lặp lại sau một khoảng thời gian đủ lâu Counter (CTR) CTR có tính chất giống OFC, CTR cho phép giải mã “ngẫu nhiên” bất kỳ khối cipherytext nào Lưu ý: vai trò của đoạn dữ liệu nonce giống như initialization . táác (Modes of Operation)c (Modes of Operation)CCáác hc hệệmmậật mã thưt mã thườờng mã hng mã hóóa da dữữliliệệu theo thu theo thàành khnh khốối i (block). (ECB)KiKiểểu mã hu mã hóóa đơn gia đơn giảản nhn nhấất lt lààelectronicelectroniccodebookcodebook((ECBECB) ) Thông điThông điệệp cp cầần mã hn mã hóóa đưa