TT CNTT HN Wednesday, April 25, 2012 MẬT MÃ HÓA HIỆN ĐẠI Chương 3: Các hệ mật khóa bí mật TS. Phạm Việt Hà VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ Nội dung 3.1. Giới thiệu hệ mật khóa bí mật 3.2. Các hệ mật thay đơn giản 3.3. Các hệ mật thay đa biểu 3.3.1. Hệ mật thay đa biểu 3.3.2. Hệ mật Playfair 3.3.3. Hệ mật Hill 3.3.4. Hệ mật Vigenere 3.3.5. Hệ mật Beaufort 3.4. Các hệ mật thay không tuần hoàn 3.4.1. Hệ mật khoá chạy VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang CCIT/RIPT © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 Nội dung 3.5. Các hệ mật chuyển vị 3.6. Các hệ mật tích 3.7. Thuật toán DES 3.8. Chuẩn mã liệu tiên tiến (AES) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN © 2009 | CCIT/RIPT Trang TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.1. Giới thiệu hệ mật khóa bí mật Mã hóa cổ điển phương pháp mã hóa đơn giản xuất lịch sử ngành mã hóa. Thuật toán đơn giản dễ hiểu. Những phương pháp mã hóa sở cho việc nghiên cứu phát triển thuật toán mã hóa đối xứng sử dụng ngày nay. Mọi thuật toán cổ điển mã khóa đối xứng, thông tin khóa chia sẻ người gửi người nhận. Mật mã đối xứng kiểu trước phát minh khóa công khai (hệ mã không đối xứng) vào năm 1970. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang CCIT/RIPT © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.1. Giới thiệu hệ mật khóa bí mật Mật mã đối xứng sử dụng khóa cho việc mã hóa giải mã. Có thể nói mật mã đối xứng mã khóa hay mã khóa riêng hay mã thỏa thuận. Hiện mật mã đối xứng công khai tiếp tục phát triển hoàn thiện. Mã công khai đời hỗ trợ mã đối xứng không thay nó, mã đối xứng đến sử dụng rộng rãi. Có ba phương pháp mật mã khoá bí mật (mật mã khoá riêng hay mật mã cổ điển): • Hoán vị • Thay • Xử lý bit (chủ yếu nằm ngôn ngữ lập trình) • Ngoài có phương pháp hỗn hợp thực kết hợp phương pháp mà điển hình chuẩn mã liệu (DES – Data Encryption Standard) Mỹ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.1. Giới thiệu hệ mật khóa bí mật Sơ đồ khối hệ mật truyền tin mật: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang CCIT/RIPT © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mật thay đơn giản Các Hệ mật thay đơn biểu • Khi khóa chọn kí tự rõ ánh xạ đến kí tự mã. Do cách mã hóa tương ứng với hoán vị bảng chữ hoán vị khóa mã cho. Như độ dài khóa 26 số khóa có 26!. • Ví dụ: Ta có mã tương ứng với rõ bảng chữ đơn sau: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mật thay đơn giản • Mật mã dịch vòng (MDV): VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang CCIT/RIPT © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mật thay đơn giản • • • • Xét ví dụ: k =5; rõ: meetmeatsunset B1: Biến rõ thành dãy số nguyên theo bảng trên, ta dãy: 12.4.4.19.12.4.0.19.18.20.13.18.4.19 B2: Thay vào giá trị rút gọn tổng theo mod 26. Ta dãy: 17.9.9.24.17.9.5.24.23.25.18.23.9.24 B3: Biến dãy số B2 thành kí tự tương ứng. Ta mã: RJJYRJFYXZSXJY VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mật thay đơn giản • Mã thay (MTT) • Ví dụ: với phép TT trên, từ rõ: meetmeatsunset. Ta thu mã: THHMTHXMVUSVHM VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 10 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mật thay đơn giản • • Tính an toàn mã bảng chữ đơn. Tổng cộng có 26! Xấp xỉ khoảng 4x1026 khóa. Với nhiều khóa nhiều người nghĩ mã bảng chữ đơn an toàn. Nhưng vậy! Vấn đề do: – Các đặc trưng ngôn ngữ, tần suất xuất chữ rõ chữ tương ứng mã Nên thám mã suy đoán ánh xạ số chữ từ dò tìm chữ mã cho chữ khác. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 11 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mật thay đơn giản • • • Tính dư thừa ngôn ngữ thám mã. Ngôn ngữ loài người dư thừa.Có số chữ cặp chữ ba chữ dùng thường xuyên chữ độ dài khác. Chẳng hạn chữ sau tiếng Anh "th lrd s m shphrd shll nt wnt". Tóm lại nhiều ngôn ngữ chữ không sử dụng thường xuyên nhau. Trong tiếng Anh chữ E sử dụng nhiều nhất; sau đến chữ T, R, N, I, O, A, S. Một số chữ dùng như: Z, J, K, Q, X. Bằng phương pháp thống kê, ta xây dựng bảng tần suất chữ đơn, cặp chữ, ba chữ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 12 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mật thay đơn giản Sử dụng bảng tần suất vào việc thám mã mã bảng chữ đơn không làm thay đổi tần suất tương đối chữ, có nghĩa ta có bảng tần suất bảng chữ mã tương ứng VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ Trang 13 © 2009 | CCIT/RIPT 3.2. Các hệ mật thay đơn giản Do có cách thám mã bảng chữ đơn sau: • Tính toán tần suất chữ mã • So sánh với giá trị biết • Tìm kiếm chữ đơn hay dùng A-I-E, đôi NO ba RST; dùng JK, X-Z • Trên bảng chữ đơn cần xác định chữ dùng bảng đôi ba trợ giúp Ví dụ: Thám mã mã bảng chữ đơn, cho mã: • wklv phvvdjh lv qrw wrr kdug wr euhdn Dự đoán kí tự hay xuất Đoán w r T O. Khi ta có dự đoán số vị trí xâu kí tự rõ là: T--- ------- -- -OT TOO ---- TO ---- Suy luận tiếp tục ta có rõ: THIS MESSAGE IS NOT TOO HARD TO BREAK VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 14 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.3. Các hệ mật thay đa biểu 3.3.1. Hệ mật thay đa biểu 3.3.2. Hệ mật Playfair 3.3.3. Hệ mật Hill 3.3.4. Hệ mật Vigenere 3.3.5. Hệ mật Beaufort VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 15 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.1. Hệ mật thay đa biểu Yếu điểm mã pháp đơn biểu phân bố tần suất chúng phản ánh phân bố bảng chữ sở. Một mã pháp an toàn mặt mật mã thể phân bố phẳng hơn, điểu không cho kẻ thám mã chút thông tin nào. Một hướng khác làm tăng độ an toàn cho mã bảng chữ sử dụng nhiều bảng chữ để mã. Mỗi chữ mã chữ mã tùy thuộc vào ngữ cảnh mã hóa. Làm để trải tần suất chữ xuất mã. Do làm bớt cấu trúc rõ thể mã làm cho mã thám đa bảng khó hơn. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 16 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.3.1. Các hệ mật thay đa biểu • Ví dụ: Để san phân bố ta kết hợp chữ có phân bố cao với chữ có phân bố thấp. Nếu chữ T đôi lúc mã a lúc khác lại mã thành b, X đôi lúc mã thành a đôi lúc lại mã thành b tần suất cao T trộn với tần suất thấp X tạo phân bố vừa phải a b Ta sử dụng khóa để rõ chọn bảng dùng cho chữ tin. Độ dài khóa chu kì lặp bảng chữ. Độ dài lớn nhiều chữ khác sử dụng từ khóa khó thám mã. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 17 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.2. Hệ mật Playfair Mã Playfair • Như thấy số khoá lớn mã bảng chữ đơn đảm bảo an toàn mã. Một hướng khắc phục mã chữ, tức chữ mã số chữ khác tùy thuộc vào chữ mà đứng cạnh. • Playfair mã vậy, sáng tạo Charles Wheastone vào năm 1854 mang tên người bạn Baron Playfair. • Ma trận khoá Playfair. Cho trước từ làm khoá, với điều kiện từ khoá chữ bị lặp. Ta lập ma trận Playfair ma trận cỡ x dựa từ khoá cho gồm chữ bảng chữ cái, xếp theo thứ tự định. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 18 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TT CNTT HN Wednesday, April 25, 2012 3.3.2. Hệ mật Playfair Quy tắc xếp: • Trước hết viết chữ từ khoá vào hàng ma trận bắt từ hàng thứ nhất. • Nếu ma trận trống, viết chữ khác bảng chữ chưa sử dụng vào ô lại. Có thể viết theo trình tự qui ước trước, chẳng hạn từ đầu bảng chữ cuối. • Vì có 26 chữ tiếng Anh, nên thiếu ô. Thông thuờng ta dồn hai chữ vào ô chung, chẳng hạn I J. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 19 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.2. Hệ mật Playfair • Giả sử sử dụng từ khoá MONARCHY. Lập ma trận khoá Playfair tương ứng sau: • Cách mã hóa giải mã: – Chia rõ thành cặp chữ. Nếu cặp có hai chữ nhau, ta chèn thêm chữ lọc chẳng hạn X. Ví dụ, trước mã “balloon” biến đổi thành “ba lx lo on”. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 20 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 10 TT CNTT HN Wednesday, April 25, 2012 3.3.5. Hệ mật Beaufort Hệ mật Beaufort Francis Beaufort tạo ra. Hệ mật dùng bảng aphabe giống hệ mật Vigenere Tuy nhiên thuật toán mã hóa khác với Vigenere VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 35 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.5. Hệ mật Beaufort Thuật toán: • Để mã hóa từ rõ, ta phải tìm từ rõ hàng bảng anphabe. Giả sử x(0,j) vị trí (hàng thứ 0, cột thứ j) từ rõ x cần mã. • Ta dóng thẳng xuống theo cột j gặp từ khóa. Giả sử từ khóa vị trí (hàng thứ i, cột thứ j) k(i,j). • Khi để tìm từ mã tương ứng từ rõ x(0,j) ta dóng ngang sang bên trái, vị trí (hàng thứ i, cột thứ 0) y(i,0) từ mã tương ứng với từ rõ x(0,j) cần tìm. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 36 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 18 TT CNTT HN Wednesday, April 25, 2012 3.3.5. Hệ mật Beaufort Ví dụ: Key: FORTIFICATION Bản rõ: DEFEND THE EAST WALL OF THE CASTLE Kí tự rõ “D” mã nằm vị trí (0,3), dóng xuống theo cột gặp kí tự “F” khóa vị trí (2,3). Khi từ mã tương ứng “D” từ “C” vị trí (2,0). Tương tự ta thu mã tương ứng là: CKMPVCPVWPIWUJOGIUAPVWRIWUUK VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 37 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.4. Các hệ mật không tuần hoàn Phép lý tưởng dùng nhiều bảng để nhận diện phân bố mẫu suốt việc lựa chọn bảng chữ điểm cụ thể. Điều xảy văn mã số bảng không hạn chế? Một dãy vô hạn không lặp lại làm hỏng phương pháp Kasiski. • Thứ nhất: Một câu rõ lặp lại không mã theo cách hai lần lặp lại mẫu việc chọn bảng chữ cái. • Thứ hai: Giả sử đoạn mã đoạn lặp lại đoạn trước đó, đoạn lặp lại chắn tình cờ. Khoảng cách hai đoạn đúp rõ không rõ chu kì mẫu mã hóa mẫu chu kì. Như vậy, việc lựa chọn không lặp bảng chữ mã gây khó khăn cho phân tích mã. Trong phần ta tìm hiểu số hệ mật thay “hoàn hảo”. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 38 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 19 TT CNTT HN Wednesday, April 25, 2012 3.4.1. Hệ mật khoá chạy Lý tưởng ta có khoá dài tin. Vigenere đề xuất khoá tự động sinh cho độ dài tin sau: • Từ khoá nối tiếp rõ để tạo thành khoá. Sau dùng mã Vigenere để mã rõ cho. • Khi biết từ khoá khôi phục số chữ ban đầu rõ. Sau tiếp tục sử dụng chúng để giải mã cho văn lại. • Sự cải tiến làm khái niệm chu kỳ, gây khó khăn cho việc thám mã, đặc trưng tần suất để công. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ Trang 39 © 2009 | CCIT/RIPT 3.4.1. Hệ mật khoá chạy Ví dụ: Cho key: detective Plaintext: wearediscoveredsaveyourself Ta nhận mã tương ứng là: ZICVTWQNGKZEIIGASXSTSLVVWLA VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 40 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 20 TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyển vị Trong mục trước xét số mã thay thế, chữ rõ thay chữ khác mã. Bây xét đến loại mã khác, mã hoán vị (MHV), chữ rõ không thay chữ khác mà thay đổi vị trí, tức việc mã hoá dịch chuyển vị trí tương đối chữ rõ. Như vậy, dấu rõ cách thay đổi thứ tự chữ, không thay đổi chữ thực tế dùng. Do mã có phân bố tần suất xuất chữ gốc. Như thám mã để phát được. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 41 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5. Các hệ mật chuyển vị Định nghĩa MHV: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 42 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 21 TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyển vị Ví dụ 1: m =6; khóa phép hoán vị sau: Khi phép HV ngược: Bản rõ: asecondclasscarriageonthetrain VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 43 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5. Các hệ mật chuyển vị Mã hóa: • B1: Nhóm rõ thành nhóm kí tự • B2: Mỗi nhóm kí tự xếp lại theo theo phép HV (3, 5, 1, 6, 4, 2), ta có: • Khi ta có mã: EOANCSLSDSACRICARAOTGHNERIENAT VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 44 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 22 TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyển vị Giải mã: • B1: Nhóm mã thành nhóm kí tự • B2: Mỗi nhóm kí tự xếp lại theo theo phép HV -1 (3, 6, 1, 5, 2, 4), ta có: • Khi ta có rõ tương ứng: asecondclasscarriageonthetrain VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 45 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5. Các hệ mật chuyển vị Ví dụ 2: m = Key: (khóa thứ tự cột) Bản rõ: attackpostponeduntiltwoam Cách mã: • Viết chữ tin theo dòng với số cột xác định. Nếu chữ dòng không trải đủ số cột ta thêm kí tự khác vào cho đủ chẳng hạn x, y, z, … • Thay đổi thứ tự cột theo dãy số khóa cho trước • Đọc lại chúng theo cột để nhận mã. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 46 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 23 TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyển vị Ta đọc theo thứ tự cột từ – để nhận mã: TTNAAPTMTSUOAODWCOIXKNLYPETZ Cách giả mã thực ngược lại VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 47 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.6. Các hệ mật tích Một phát minh Shannon đưa năm 1949 Ý tưởng kết hợp hệ mật cách tạo tích chúng. Ý tưởng có tầm quan trọng to lớn việc thiết kế hệ mật (chẳng hạn, chuẩn mã liệu - DES ). Để đơn giản, phần hạn chế xét hệ mật C = P (các hệ mật gọi tự đồng cấu). VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 48 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 24 TT CNTT HN Wednesday, April 25, 2012 3.6. Các hệ mật tích Hệ mật tích: (C,P,K1xK2,ED) Trong đó: • Khóa HMT có dạng k =(k1, k2), với k1K1 k2 K2 • Các quy tắc mã giải mã HMT xác định sau: Với k = (k1, k2) ta có quy tắc mã ek xác định theo công thức: ek1 , k x ek ek1 x dk1, k2 y dk1 dk2 y quy tắc giải mã: • Nghĩa là, trước tiên ta mã hoá x ek1 mã lại kết ek2. Quá trình giải mã tương tự thực theo thứ tự ngược lại VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 49 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. Thuật toán DES DES IBM phát triển công bố lần vào 1975. Mô tả DES: • DES mã hoá xâu bit x rõ độ dài 64 khoá 56 bit. Bản mã nhận xâu bit có độ dài 64. • Thuật toán tiến hành theo bước: – B1: Với rõ cho trước x, xâu bit x0 xây dựng cách hoán vị bit x theo phép hoán vị cố định ban đầu IP. Ta viết: x0 = IP(x) = L0R0, L0 gồm 32 bit đầu R0 32 bit cuối. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 50 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 25 TT CNTT HN Wednesday, April 25, 2012 3.7. Thuật toán DES – – B2: Sau tính toán 16 lần lặp theo hàm xác định. Ta tính LiRi, 1 i 16 theo quy tắc sau: Li = Ri-1; Ri = Li-1 f(Ri-1, ki) Trong đó: – phép loại trừ hai xâu bit – f hàm mô tả sau – k1, k2, …, k16 xâu bit có độ dài 48 tính hàm khóa k (ki phép chọn hoán vị bit k). VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 51 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. Thuật toán DES – Một vòng phép mã hóa mô tả sau: – B3: Áp dụng phép hoán vị ngược IP-1 cho xâu bit R16L16, ta thu mã y. Tức y = IP-1(R16L16) . Hãy ý thứ tự đảo L16 R16 VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 52 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 26 TT CNTT HN Wednesday, April 25, 2012 3.7.Thuật toán DES Mô tả tính bảng khóa từ khóa k. • Trên thực tế k xâu bit độ dài 64, có 56 bit khóa bit kiểm tra tính chẵn lẻ nhằm phát sai. • Các bit vị trí 8, 16, …, 64 xác định cho byte chứa số lẻ số “1”. Bởi vậy, sai sót đơn lẻ phát nhóm bit. • Các bit kiểm tra bị bỏ qua trình tính bảng khóa. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 53 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. Thuật toán DES VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 54 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 27 TT CNTT HN Wednesday, April 25, 2012 3.7. Thuật toán DES Tính chất DES • Tác dụng đồng loạt: Khi ta thay đổi bit khoá gây tác động đồng loạt làm thay đổi nhiều bit mã. Đây tính chất mong muốn khoá thuật toán mã hoá. Nếu thay đổi bít đầu vào khoá kéo theo thay đổi nửa số bít đầu ra. Do đoán khoá được. CÓ thể nói DES thể tác động đồng loạt mạnh • Sức mạnh DES – kích thước khoá: Độ dài khoá DES 56 bít có 256 = 7.2 x 1016 giá trị khác nhau. Đây số lớn nên tìm kiếm duyệt khó khăn VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 55 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. Thuật toán DES • • Sức mạnh DES – công thời gian: Đây dạng công vào cài đặt thực tế mã. Ở sử dụng hiểu biết trình cài đặt thuật toán mà suy thông tin sô khoá khoá con. Đặc biệt sử dụng kết luận tính toán chiếm khoảng thời gian khác phụ thuộc vào giá trị đầu vào nó. Do kẻ thám mã theo dõi thời gian thực mà phán đoán khoá. Có thể kẻ thám mã sáng tạo loại card thông minh phán đoán khoá, mà phải bàn bạc thêm chúng. Sức mạnh DES – công thám mã: Có số phân tích thám mã DES, từ đề xuất xây dựng số cấu trúc sâu mã DES. Rồi cách thu thập thông tin mã, đoán biết tất số khoá dùng. Nếu cần thiết tìm duyệt khoá lại. Nói chung, công dựa phương pháp thống kê bao gồm: thám mã sai phân, thám mã tuyến tính công khoá liên kết. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 56 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 28 TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩn mã liệu tiên tiến (AES) Nguồn gốc: • Thuật toán DES có công mặt lý thuyết bẻ nó. • Do Viện chuẩn quốc gia Hoa kỳ US NIST lời kêu gọi tìm kiếm chuẩn mã vào năm 1997. Sau có 15 đề cử chấp nhận vào tháng năm 1998. Và rút gọn ứng cử viên vào tháng năm 1999. Đến tháng 10 năm 2000, mã Rijndael chọn làm chuẩn mã nâng cao xuất chuẩn FIPS PUB 197 vào 11/2001. Yêu cầu AES • Là mã khối đối xứng khoá riêng. • Kích thước khối liệu 128 bit độ dài khoá tùy biến: 128, 192 256 bit. • Chuẩn mã phải mạnh nhanh Triple DES. Mã có sở lí thuyết mạnh để thời gian sống chuẩn khoảng 20-30 năm (cộng thêm thời gian lưu trữ). • Khi đưa thành chuẩn yêu cầu cung cấp chi tiết thiết kế đặc tả đầy đủ. Đảm bảo chuẩn mã cài đặt hiệu C Java. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 57 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩn mã liệu tiên tiến (AES) Cơ sở toán học AES: AES phép toán cộng nhân thực byte trường hữu hạn GF(28) • Phép cộng: – A = (a1 a2 a3 a4 a5 a6 a7 a8); B = (b1 b2 b3 b4 b5 b6 b7 b8) – C = A + B = (c1 c2 c3 c4 c5 c6 c7 c8), đó:Ci = ai+bi mod 2, ≤ i ≤ 8. – Ví dụ: tổng A = 73H; B = 4EH là: – Dạng số Hexa: 73H + 4EH = 3DH – Dạng nhị phân: 01110011 + 01001110 = 00111101 – Dạng đa thức: (x6 + x5 + x4 + x + 1) + (x6 + x3 + x2 + x) = (x5 + x4 + x3 + x2 + 1) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 58 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 29 TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩn mã liệu tiên tiến (AES) • Phép nhân: Phép nhân thực GF(28) cách nhân hai đa thức rút gọn theo mođulo đa thức bất khả quy m(x). Trong AES đa thức bất khả quy là: m(x) = x8 + x4 + x3 + x +1. – Ví dụ: A = C3H, B = 85H tương ứng với a(x) = x7 + x6 + x +1 b(x) = x7 + x2 + 1. Khi đó: C= A.B c(x) = a(x).b(x) mod (x8 + x4 + x3 + x +1) c(x) = x7 + x5 + x3 +x2 + x hay C = AEH = 10101110 VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 59 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩn mã liệu tiên tiến (AES) Sau ta xét chi tiết trình mã hoá, sinh khoá giải mã AES: • Quá trình mã gồm bước sau: – 1. AddRoundKey - byte khối kết hợp với khóa con, khóa tạo từ trình tạo khóa Rijndael VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 60 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 30 TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩn mã liệu tiên tiến (AES) 2. SubBytes - trình thay (phi tuyến) byte thay byte khác theo bảng tra Phép byte đơn giản Sử dụng bảng 16 x 16 byte chứa hoán 256 giá trị bit Mỗi byte trạng thái thay byte hàng xác định bit trái cột xác định bit phải. – Chẳng hạn {95} thay hàng 9, cột 5, mà giá trị {2A}. – S box xây dựng sử dụng hoán vị giá trị GF(28) xác định chương trước. – Thiết kế để chống công biết – VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ Trang 61 © 2009 | CCIT/RIPT 3.8. Chuẩn mã liệu tiên tiến (AES) – 3. ShiftRows - đổi chỗ, hàng khối dịch vòng > Dịch hàng vòng quanh hàng > Hàng không đổi > Hàng dịch vòng quanh byte sang trái Hàng dịch vòng quanh byte sang trái Hàng dịch vòng quanh byte sang trái Giải mã thực dịch ngược lại sang phải Vì trạng thái xử lý cột, bước thực chất hoán vị byte cột. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 62 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 31 TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩn mã liệu tiên tiến (AES) – 4. MixColumns - trình trộn làm việc theo cột khối theo chuyển đổi tuyến tính. – Có thể biểu diễn cột nghiệm phương trình > để tìm byte cột – Mã yêu cầu sử dụng ma trận nghịch đảo > Với hệ số lớn tính toán khó khăn Có đặc trưng khác cột sau: Mỗi cột đa thức bậc gồm số hạng Với phần tử byte tương ứng với phần tử GF(28). Các đa thức nhân tính theo Modulo (x4+1). VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 63 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩn mã liệu tiên tiến (AES) • Giải mã AES – Giải mã ngược lại không bước thực theo thứ tự ngược lại. – Nhưng xác định mã ngược tương đương với bước làm mã > Nhưng sử dụng ngược lại với bước > Với khoá khác – Thực kết không thay đổi > Đổi lại phép byte dịch hàng > Đổi lại việc trộn cột bổ sung khoá vòng – Lý mở rộng khoá: tiêu chuẩn thiết kế bao gồm > Giả sử biết phần khoá, không đủ để biết nhiều hơn, tức khoá khác khoá nói chung. > Phép biến đổi nghịch đảo được. > Nhanh nhiều kiểu CPU. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 64 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 32 TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩn mã liệu tiên tiến (AES) Độ an toàn AES: • Thiết kế độ dài khóa thuật toán AES (128, 192 256 bít) đủ an toàn để bảo vệ thông tin xếp vào loại TỐI MẬT (secret). Các thông tin TUYỆT MẬT (top secret) phải dùng khóa 192 256 bít. • Một vấn đề khác cấu trúc toán học AES. Không giống với thuật toán mã hóa khác, AES có mô tả toán học đơn giản. Tuy điều chưa dẫn đến mối nguy hiểm số nhà nghiên cứu sợ có người lợi dụng cấu trúc tương lai. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 65 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩn mã liệu tiên tiến (AES) • • Vào thời điểm năm 2006, dạng công lên AES thành công công kênh bên (side channel attack). Tấn công kênh bên không công trực tiếp vào thuật toán mã hóa mà thay vào đó, công lên hệ thống thực thuật toán có sơ hở làm lộ liệu VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 66 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 33 [...]... thiết kế các hệ mật hiện nay (chẳng hạn, chuẩn mã dữ liệu - DES ) Để đơn giản, trong phần này chỉ hạn chế xét các hệ mật trong đó C = P (các hệ mật này được gọi là tự đồng cấu) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 48 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 24 TT CNTT HN Wednesday, April 25, 2012 3.6 Các hệ mật tích Hệ mật tích: (C,P,K1xK2,ED) Trong đó: K • Khóa. .. NGHỆ 23 TT CNTT HN Wednesday, April 25, 2012 3.5 Các hệ mật chuyển vị Ta đọc theo thứ tự các cột từ 1 – 7 để nhận được bản mã: TTNAAPTMTSUOAODWCOIXKNLYPETZ Cách giả mã được thực hiện ngược lại VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 47 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.6 Các hệ mật tích Một phát minh do Shannon đưa ra năm 1949 Ý tưởng kết hợp các hệ mật bằng cách... TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 17 TT CNTT HN Wednesday, April 25, 2012 3.3.5 Hệ mật Beaufort Hệ mật Beaufort do Francis Beaufort tạo ra Hệ mật này cũng dùng bảng aphabe giống hệ mật Vigenere Tuy nhiên thuật toán mã hóa thì khác với Vigenere VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 35 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.5 Hệ mật Beaufort Thuật toán: • Để mã... chuyển vị Ví dụ 2: m = 7 Key: 4 3 1 2 5 6 7 (khóa là thứ tự các cột) Bản rõ: attackpostponeduntiltwoam Cách mã: • Viết các chữ của bản tin theo các dòng với số cột xác định Nếu các chữ trên dòng không trải đủ số cột thì ta thêm các kí tự khác vào cho đủ chẳng hạn x, y, z, … • Thay đổi thứ tự các cột theo dãy số khóa cho trước • Đọc lại chúng theo các cột để nhận được bản mã VIỆN KHOA HỌC KỸ THUẬT... để “là” tần suất của các chữ VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 31 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.4 Hệ mật Vigenere • Phương pháp Kasiski: – Dựa trên quy luật tiếng anh: không chỉ các chữ cái mà các nhóm chữ cái lẫn các từ đầy đủ đều lặp lại – Ví dụ: > Các từ kết thúc bằng: s, -th, -ed, -ion, -tion, … > Bắt đầu bằng kí tự: im-, in-, un-,… > Các từ: of, and, with,... suất xuất hiện các chữ như bản gốc Như vậy có thể thám mã để phát hiện được VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 41 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5 Các hệ mật chuyển vị Định nghĩa MHV: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 42 © 2009 | CCIT/RIPT CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 21 TT CNTT HN Wednesday, April 25, 2012 3.5 Các hệ mật chuyển vị... CÔNG NGHỆ 22 TT CNTT HN Wednesday, April 25, 2012 3.5 Các hệ mật chuyển vị Giải mã: • B1: Nhóm bản mã thành các nhóm 6 kí tự • B2: Mỗi nhóm 6 kí tự sẽ được sắp xếp lại theo theo phép HV -1 (3, 6, 1, 5, 2, 4), ta có: • Khi đó ta có bản rõ tương ứng: asecondclasscarriageonthetrain VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 45 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5 Các hệ mật. .. TƯ CHUYỂN GIAO CÔNG NGHỆ 16 TT CNTT HN Wednesday, April 25, 2012 3.3.4 Hệ mật Vigenere Ví dụ: > Nếu từ khóa dài 6 kí tự thì chỉ có 6 cách khác nhau để đặt từ khóa trên từ của các bản rõ > Một từ hay nhóm kí tự trong bản rõ mà xuất hiện hơn 6 lần phải được mã ít nhất 2 lần theo cùng vị trí từ khóa và những lần xuất hiện đó đều được mã như nhau Biện pháp Kasiskis được dùng trên các đoạn đúp trong bản... lần theo cùng cách, khóa phải đi hết toàn bộ số vòng quay và trở ngược đến cùng điểm Bởi vậy khoảng cách giữa các mẫu lặp lại phải là bội của độ dài từ khóa Để dùng phương pháp này ta phải nhận diện tất cả các mẫu lặp trong bản mã Thường xét mẫu lặp có trên 3 kí tự – – – VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 33 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.4 Hệ mật Vigenere –... NGHỆ 3.3.4 Hệ mật Vigenere – Phương pháp Kasiski gồm các bước sau: – Nhận diện các mẫu bị lặp có 3 kí tự hoặc hơn – Với mỗi mẫu, ghi ra vị trí bắt đầu mỗi thể hiện của mẫu – Tính khoảng cách giữa các điểm bắt đầu của các thể hiện kế tiếp nhau – Xác định tất cả các tham số cho mỗi khoảng cách – Nếu dùng phép thế đa biểu, độ dài khóa sẽ là một trong các tham số thường xuất hiện trong bước 4 VIỆN KHOA . NGHỆ Nội dung chínhNội dung chính 3.1. Giớithiệuvề hệ mật khóa bí mật 3.2. Các hệ mậtthaythếđơngiản 3.3. Các hệ mậtthaythếđabiểu 3.3.1. Hệ mậtthaythếđabiểu 3.3.2. Hệ mậtPlayfair 3.3.3. Hệ mật. CHUYỂN GIAO CÔNG NGHỆ 3.3. Các hệ mậtthaythếđabiểu3.3. Các hệ mậtthaythếđabiểu 3.3.1. Hệ mậtthaythếđabiểu 3.3.2. Hệ mậtPlayfair 3.3.3. Hệ mật Hill 3.3.4. Hệ mật Vigenere 3.3.5. Hệ mật Beaufort Trang. TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ TS. Phạm Việt Hà MẬT MÃ HÓA HIỆN ĐẠI Chương 3: Các hệ mật khóa bí mật MẬT MÃ HÓA HIỆN ĐẠI Chương 3: Các hệ mật khóa bí mật Trang 2 © 2009 | CCIT/RIPT VIỆN