Mã kh i ối Mã hóa kh i là nh ng thu t toán mã hóa đ i x ng ho t đ ng trên ối là những thuật toán mã hóa đối xứng hoạt động trên ững thuật toán mã hóa đối xứng hoạt động trên ật toán mã
Trang 1Bài Thảo Luận : Thực tập an toàn thông tin Chủ đề : Tìm hiểu mã hoá khối
Giáo viên hướng dẫn : TH.S CAO NGỌC ÁNH Thành viên:
►Bùi Vĩnh Tiến
►Nguyễn Duy Trung
►Lê Công Đồng
Trang 2I Mã kh i ối
Mã hóa kh i là nh ng thu t toán mã hóa đ i x ng ho t đ ng trên ối là những thuật toán mã hóa đối xứng hoạt động trên ững thuật toán mã hóa đối xứng hoạt động trên ật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ứng hoạt động trên ạt động trên ộng trên
nh ng kh i thông tin có đ dài xác đ nh(block) v i nh ng chuy n đ i ững thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ộng trên ịnh(block) với nhưng chuyển đổi ới nhưng chuyển đổi ưng chuyển đổi ển đổi ổi xác đ nh ịnh(block) với nhưng chuyển đổi
Phân bi t v i mã hóa kh i là mã hóa dòng Mã hóa dòng làm vi c trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ới nhưng chuyển đổi ối là những thuật toán mã hóa đối xứng hoạt động trên ệc trên
t ng bít c a d li u và quá trình bi n đ i thay đ i theo quá trình mã ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã ững thuật toán mã hóa đối xứng hoạt động trên ệc trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ổi ổi hóa Tuy nhiên, s phân bi t gi a 2 phự phân biệt giữa 2 phương pháp nhiều khi không rõ ệc trên ững thuật toán mã hóa đối xứng hoạt động trên ưng chuyển đổi ơng pháp nhiều khi không rõ ng pháp nhi u khi không rõ ều khi không rõ ràng vì mã hóa kh i khi ho t đ ng theo m t ch đ nào đó thì có tác ối là những thuật toán mã hóa đối xứng hoạt động trên ạt động trên ộng trên ộng trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ộng trên
d ng nh m t phụng như một phương pháp mã hóa dòng ưng chuyển đổi ộng trên ưng chuyển đổi ơng pháp nhiều khi không rõ ng pháp mã hóa dòng
Đ xây d ng thu t toán mã hóa kh i an toàn b ng cách s d ng k t ển đổi ự phân biệt giữa 2 phương pháp nhiều khi không rõ ật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ằng cách sử dụng kết ử dụng kết ụng như một phương pháp mã hóa dòng ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên
h p các thao tác mã hóa t o ra tính h n lo n và tính khu ch tán thông ạt động trên ỗn loạn và tính khuếch tán thông ạt động trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên tin:
Tính h n lo n giúp phá v m i quan h gi a b n rõ và b n mã, t o ỗn loạn và tính khuếch tán thông ạt động trên ỡ mối quan hệ giữa bản rõ và bản mã, tạo ối là những thuật toán mã hóa đối xứng hoạt động trên ệc trên ững thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo ản rõ và bản mã, tạo ạt động trên
ra m i quan h ph c t p và ch t ch gi a khóa và b n mã.ối là những thuật toán mã hóa đối xứng hoạt động trên ệc trên ứng hoạt động trên ạt động trên ặt chẽ giữa khóa và bản mã ẽ giữa khóa và bản mã ững thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
S khu ch tán giúp phá v và phân tán các ph n t trong các m ự phân biệt giữa 2 phương pháp nhiều khi không rõ ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ỡ mối quan hệ giữa bản rõ và bản mã, tạo ần tử trong các mẫ ử dụng kết ẫ
xu t hi n trong b n rõ đ không th phát hi n ra các m u này ất hiện trong bản rõ để không thể phát hiện ra các mẫu này ệc trên ản rõ và bản mã, tạo ển đổi ển đổi ệc trên ẫ trong b n mã.ản rõ và bản mã, tạo
Trang 3II Các ch đ s d ng Mã kh i ế độ sử dụng Mã khối ộ sử dụng Mã khối ử dụng Mã khối ụng Mã khối ối
1 Ch đ b ng tra mã đi n t (Electronic code book -ECB) ế độ bảng tra mã điện tử (Electronic code book -ECB) ộ bảng tra mã điện tử (Electronic code book -ECB) ảng tra mã điện tử (Electronic code book -ECB) ện tử (Electronic code book -ECB) ử (Electronic code book -ECB)
Ký hi u :ệc trên
E : Encryption (Mã hóa)
Pi : Plaintext block I (Kh i b n rõ)ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
K : Secret key (Khóa b o m t)ản rõ và bản mã, tạo ật toán mã hóa đối xứng hoạt động trên
D : Decryption (Gi i mã)ản rõ và bản mã, tạo
Ci : Ciphertext block i (Kh i b n mã)ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
Trang 4 Mã hóa:
Cj= Ek(Pj) P=P1P2…Pn
Pj= Dk(Cj)
hóa các thông điệp ngắn Bảng mã của thông điệp dài
có tính an toàn không cao
Trang 5 Ưu điểm của ECB :u đi m c a ECB :ển đổi ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã
Đ n gi n ơng pháp nhiều khi không rõ ản rõ và bản mã, tạo
Không c n đ ng b hóa gi a bên g i và nh n ần tử trong các mẫ ồng bộ hóa giữa bên gửi và nhận ộng trên ững thuật toán mã hóa đối xứng hoạt động trên ử dụng kết ật toán mã hóa đối xứng hoạt động trên
Các bit l i s không đỗn loạn và tính khuếch tán thông ẽ giữa khóa và bản mã ưng chuyển đổi c đ a vào các kh i k sau ưng chuyển đổi ối là những thuật toán mã hóa đối xứng hoạt động trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên
Nhưng chuyển đổi c đi m :ển đổi
Trong ch đ này, các kh i đết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ộng trên ối là những thuật toán mã hóa đối xứng hoạt động trên ưng chuyển đổi c t o m t mã riêngbi t, đ c l p Do ạt động trên ật toán mã hóa đối xứng hoạt động trên ệc trên ộng trên ật toán mã hóa đối xứng hoạt động trên
đó, nh ng kh i tin gi ng nhau s đững thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ẽ giữa khóa và bản mã ưng chuyển đổi c mã hóa thành nh ng kh i mã ững thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên
gi ng nhau.ối là những thuật toán mã hóa đối xứng hoạt động trên
Traffic analysis (Phân tích đưng chuyển đổi ờng truyền): Người thám mã có thể dựa ng truy n): Ngều khi không rõ ưng chuyển đổi ờng truyền): Người thám mã có thể dựa i thám mã có th d a ển đổi ự phân biệt giữa 2 phương pháp nhiều khi không rõ vào y u t các kh i plaintext gi ng nhau t o các th ng kê v các b n ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ối là những thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ều khi không rõ ản rõ và bản mã, tạo
rõ tưng chuyển đổi ơng pháp nhiều khi không rõ ng ng ngay c khi không gi i mã đứng hoạt động trên ản rõ và bản mã, tạo ản rõ và bản mã, tạo ưng chuyển đổi c toàn b b n mã, ngộng trên ản rõ và bản mã, tạo ưng chuyển đổi ờng truyền): Người thám mã có thể dựa i thám mã có th l i d ng th ng kê này đ khám phá khóa.ển đổi ụng như một phương pháp mã hóa dòng ối là những thuật toán mã hóa đối xứng hoạt động trên ển đổi
Substitution attack (T n công thay th ): Mode ECB không b o v ất hiện trong bản rõ để không thể phát hiện ra các mẫu này ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ản rõ và bản mã, tạo ệc trên
đưng chuyển đổi c b n mã nhi u kh i Đ i th có th s a đ i 1 thông báo dài b ng ản rõ và bản mã, tạo ều khi không rõ ối là những thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã ển đổi ử dụng kết ổi ằng cách sử dụng kết cách ch c n xóa b t hay thay đ i th t m t vài kh i N u đ i th ỉ cần xóa bớt hay thay đổi thứ tự một vài khối Nếu đối thủ ần tử trong các mẫ ới nhưng chuyển đổi ổi ứng hoạt động trên ự phân biệt giữa 2 phương pháp nhiều khi không rõ ộng trên ối là những thuật toán mã hóa đối xứng hoạt động trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ối là những thuật toán mã hóa đối xứng hoạt động trên ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã
có trong tay 1 vài kh i mã đối là những thuật toán mã hóa đối xứng hoạt động trên ưng chuyển đổi c mã hóa cùng khóa v i thông báo, đ i ới nhưng chuyển đổi ối là những thuật toán mã hóa đối xứng hoạt động trên
th có th chèn nó vào b n mã ECB không nên dùng đ mã hóa các ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã ển đổi ản rõ và bản mã, tạo ển đổi
b n rõ dài có nhi u kh i.ản rõ và bản mã, tạo ều khi không rõ ối là những thuật toán mã hóa đối xứng hoạt động trên
Trang 6 Ví dụng như một phương pháp mã hóa dòng.
N u ECB đết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ưng chuyển đổi c s d ng trong truy n tin m t trong giao d ch ngân hàng, k đ ch có ử dụng kết ụng như một phương pháp mã hóa dòng ều khi không rõ ật toán mã hóa đối xứng hoạt động trên ịnh(block) với nhưng chuyển đổi ẻ địch có ịnh(block) với nhưng chuyển đổi
th t n công làm gi thông báo, l nh chuy n tài kho n Nhển đổi ất hiện trong bản rõ để không thể phát hiện ra các mẫu này ản rõ và bản mã, tạo ệc trên ển đổi ản rõ và bản mã, tạo ưng chuyển đổi c đi m nói trên ển đổi khi n cho vi c truy n tin m t theo ch đ mã này là không có l i, tuy nhiên ch ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ệc trên ều khi không rõ ật toán mã hóa đối xứng hoạt động trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ộng trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên
đ này thộng trên ưng chuyển đổi ờng truyền): Người thám mã có thể dựa ng đưng chuyển đổi c dùng trong mã hóa thông tin l u tr , ví d nh các c s d ưng chuyển đổi ững thuật toán mã hóa đối xứng hoạt động trên ụng như một phương pháp mã hóa dòng ưng chuyển đổi ơng pháp nhiều khi không rõ ở dữ ững thuật toán mã hóa đối xứng hoạt động trên
li u vì nó cho phép t ng đ n v d li u đệc trên ơng pháp nhiều khi không rõ ịnh(block) với nhưng chuyển đổi ững thuật toán mã hóa đối xứng hoạt động trên ệc trên ưng chuyển đổi c mã hóa đ c l p và do đó có th c p ộng trên ật toán mã hóa đối xứng hoạt động trên ển đổi ật toán mã hóa đối xứng hoạt động trên
nh t thay đ i d dàng t ng ph n mà không đ ng ch m đ n các ph n khác c a c ật toán mã hóa đối xứng hoạt động trên ổi ễdàng từng phần mà không động chạm đến các phần khác của cơ ần tử trong các mẫ ộng trên ạt động trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ần tử trong các mẫ ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã ơng pháp nhiều khi không rõ
s d li u.ở dữ ững thuật toán mã hóa đối xứng hoạt động trên ệc trên
mã DES v i c ch mã hóa ECB.ới nhưng chuyển đổi ơng pháp nhiều khi không rõ ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên
Ta có
Khóa key (ASCII) : abcdefgh Khóa key (HEX) : 6162636465666768
Trang 7Kh i ối Kh i b n rõ ối ản rõ Kh i mã mã hóa DES ối Kh i mã sau khi mã hóa ối
DES Kh i b n mã ối ản rõ
VD1.1 Mã hóa
B1 : Chia bản rõ ra thành các khối bản rõ (Plaintext block) 64bit
B2 : Mã hóa các khối bản rõ theo hệ mã DES bằng khóa Key :
6162636465666768
B3 : Sau khi mã hóa được các khối thì bản mã chính là tổng hợp của các khối bản mã
Bản mã sau khi mã hóa DES theo chế độ ECB :
44665395698A26B944665395698A26B944665395698A26B9
Trang 82 Ch đ mã móc xích (Cipher Block Chaining -CBC) ế độ bảng tra mã điện tử (Electronic code book -ECB) ộ bảng tra mã điện tử (Electronic code book -ECB)
Ký hi u :ệc trên
E : Encryption (Mã hóa)
Pi : Plaintext block I (Kh i b n rõ)ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
K : Secret key (Khóa b o m t)ản rõ và bản mã, tạo ật toán mã hóa đối xứng hoạt động trên
D : Decryption (Gi i mã)ản rõ và bản mã, tạo
Ci : Ciphertext block i (Kh i b n mã)ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
IV : Initial Vector (C0)
Trang 9•Trong chế độ này, mỗi khối tin trước khi được mã hóa thì được XOR với khối mã sinh
ra từ bước trước đó
C0 = IV Cj= Ek(Cj-1 XOR Pj)
Trang 101.Hàm giải mã: Pj= Cj-1 XOR
Dk(Cj)
Chú ý khối đầu
tiên:
C0 = Ek(IV
XOR Pj)
P0 = IV XOR
Dk(C1)
Các v n đ b o m t trong CBCất hiện trong bản rõ để không thể phát hiện ra các mẫu này ều khi không rõ ản rõ và bản mã, tạo ật toán mã hóa đối xứng hoạt động trên
Các kh i plaintext gi ng nhau trong cùng 1 message thối là những thuật toán mã hóa đối xứng hoạt động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ưng chuyển đổi ờng truyền): Người thám mã có thể dựa ng đưng chuyển đổi c mã hóa thành các kh i ciphertext khác nhau Tuy nhiên nêu 2 message ối là những thuật toán mã hóa đối xứng hoạt động trên
gi ng nhau thì s cho k t qu mã hóa gi ng nhau n u cùng giá tr IV.ối là những thuật toán mã hóa đối xứng hoạt động trên ẽ giữa khóa và bản mã ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ản rõ và bản mã, tạo ối là những thuật toán mã hóa đối xứng hoạt động trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ịnh(block) với nhưng chuyển đổi
Error Propagation : Các kh i ciphertext có liên quan v i nhau, vì v y có ối là những thuật toán mã hóa đối xứng hoạt động trên ới nhưng chuyển đổi ật toán mã hóa đối xứng hoạt động trên nghĩa là các l i cũng s truy n theo.– Ví d : kh i mã ci đỗn loạn và tính khuếch tán thông ẽ giữa khóa và bản mã ều khi không rõ ụng như một phương pháp mã hóa dòng ối là những thuật toán mã hóa đối xứng hoạt động trên ưng chuyển đổi c truy n v i ều khi không rõ ới nhưng chuyển đổi
1 l i, khi đó kh i ci và ci+1 s gi i mã không đúng Nh ng t t c các ỗn loạn và tính khuếch tán thông ối là những thuật toán mã hóa đối xứng hoạt động trên ẽ giữa khóa và bản mã ản rõ và bản mã, tạo ưng chuyển đổi ất hiện trong bản rõ để không thể phát hiện ra các mẫu này ản rõ và bản mã, tạo
kh i mã khác c1, ,ci−1, ci+2, , không b nh hối là những thuật toán mã hóa đối xứng hoạt động trên ịnh(block) với nhưng chuyển đổi ản rõ và bản mã, tạo ưng chuyển đổi ở dữ ng
Trang 11 Ví dụng như một phương pháp mã hóa dòng.
VD2: Mã hóa và gi i mã b n rõ : “Hello !!Hello !!Hello !!” Key : ản rõ và bản mã, tạo ản rõ và bản mã, tạo
c ch mã hóa CBCơng pháp nhiều khi không rõ ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên
Ta có
48656C6C6F20212148656C6C6F20212148656C6C6F202121 Khóa key (ASCII) : abcdefgh
Khóa key (HEX) : 6162636465666768
IV (ASCII) : defghabc
IV (HEX) : 6465666768616263
Trang 12B3 : XOR Kh i b n mã P1 v i C2 sau đó th c hi n mã hóa DES v i khóa key ta ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo ới nhưng chuyển đổi ự phân biệt giữa 2 phương pháp nhiều khi không rõ ệc trên ới nhưng chuyển đổi
đưng chuyển đổi c kh i b n mã P2ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
B4 : L p l i bặt chẽ giữa khóa và bản mã ạt động trên ưng chuyển đổi ới nhưng chuyển đổi c 3 đ n khi mã hóa h t các kh i b n rõ ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
XOR Kh i b n mã P2 v i C3 sau đó th c hi n mã hóa DES v i khóa key ta đối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo ới nhưng chuyển đổi ự phân biệt giữa 2 phương pháp nhiều khi không rõ ệc trên ới nhưng chuyển đổi ưng chuyển đổi c
kh i b n mã P3ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
B5 : Sau khi mã hóa đưng chuyển đổi c toàn b các kh i b n rõ ta động trên ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo ưng chuyển đổi c b n mã là t p h p ản rõ và bản mã, tạo ật toán mã hóa đối xứng hoạt động trên
c a các kh i b n mã ủa dữ liệu và quá trình biến đổi thay đổi theo quá trình mã ối là những thuật toán mã hóa đối xứng hoạt động trên ản rõ và bản mã, tạo
B n mã sau khi mã hóa DES ch đ CBC :ản rõ và bản mã, tạo ở dữ ết với mã hóa khối là mã hóa dòng Mã hóa dòng làm việc trên ộng trên 894D6EB32C66803C C12802DF4346A11D894D6EB32C66803C