Tôi đang tìm hiểu cách thức hoạt động của CBC nhưng tôi không hiểu khi thay đổi 2 byte đầu tiên của văn bản được mã hóa tại sao khối đầu tiên và CHỈ 2 byte đầu tiên của khối thứ hai bị thay đổi. 2 byte đầu tiên của văn bản mật mã được thay đổi bằng thao tác xor với các giá trị ngẫu nhiên.
Mỗi khối được làm bằng 16 byte.
Đó là những byte ngẫu nhiên để mã hóa:
D6 D7 17 2B D8 1B 73 DF AA D4 D0 DC 94 D1 C2 B2
EE 0D 3B DA 74 58 62 F9 F9 D1 30 59 F5 FE 7D 54
14 79 42 14 B6 1D 34 C7 19 B0 68 67 36 25 D9 FA
D0 1C 61 CB 40 A2 CD 77 6A 7D D3 D4 A2 23 9B 4F
AF
Đây là văn bản mật mã:
D2 CD F5 92 8D 1D 4E BC A1 9A CE 50 07 8C 13 FE
33 4B FE BD A0 6B 6C 7B F4 38 90 F4 36 A6 9A 15
A3 D8 41 F4 04 5D C0 9C A3 B6 A6 A8 4A B5 B2 F9
3C E3 0B 93 5E E1 42 26 66 58 16 39 A4 9C 14 5D
69 E9 EE C8 7D 0F AC 85 E7 EC 9C 0B C4 E4 74 22
Đây là văn bản cypher đã thay đổi bằng cách so với văn bản trước đó với 80 80:
52 4D F5 92 8D 1D 4E TCN A1 9A CE 50 07 8C 13 FE
33 4B FE BD A0 6B 6C 7B F4 38 90 F4 36 A6 9A 15
A3 D8 41 F4 04 5D C0 9C A3 B6 A6 A8 4A B5 B2 F9
3C E3 0B 93 5E E1 42 26 66 58 16 39 A4 9C 14 5D
69 E9 EE C8 7D 0F AC 85 E7 EC 9C 0B C4 E4 74 22
Và cuối cùng là văn bản thay đổi được giải mã:
D6 1E 4E A5 5A 8D 3B 4A E6 2F E2 0A 41 21 68 51
6E 8D 3B DA 74 58 62 F9 F9 D1 30 59 F5 FE 7D 54
14 79 42 14 B6 1D 34 C7 19 B0 68 67 36 25 D9 FA
D0 1C 61 CB 40 A2 CD 77 6A 7D D3 D4 A2 23 9B 4F
AF