Mã hóa khối - Thư viện Học liệu mở Việt Nam Mã hóa khối Bởi: Wiki Pedia Trong mật mã học, mã hóa khối thuật toán mã hóa đối xứng hoạt động khối thông tin có độ dài xác định (block) với chuyển đổi xác định Chẳng hạn thuật toán mã hóa khối xử lý khối 128 bít đầu vào biến thành khối 128 bít đầu Quá trình chuyển đổi sử dụng thêm tham số nữa: khóa bí mật để cá biệt hóa trình Việc giải mã diễn tương tự: xử lý khối mã hóa 128 bít với khóa để trả khối 128 bít rõ ban đầu Để mã hóa văn có độ dài vượt độ dài khối, người ta sử dụng thuật toán theo chế độ mã hóa khối Phân biệt với mã hóa khối mã hóa dòng Mã hóa dòng làm việc bít dòng liệu trình biến đổi thay đổi theo trình mã hóa Tuy nhiên, phân biệt phương pháp nhiều không rõ ràng mã hóa khối hoạt động theo chế độ có tác dụng phương pháp mã hóa dòng Thuật toán mã hóa khối đời sớm có nhiều ảnh hưởng thuật toán DES (Data Encryption Standard - Tiêu chuẩn mã hóa liệu) công ty IBM phát triển ban hành làm tiêu chuẩn năm 1977 Tiêu chuẩn thay DES có tên AES (Advanced Encryption Standard - Tiêu chuẩn mã hóa nâng cao) ban hành năm 2001 Mã hóa http://voer.edu.vn/m/f5a0b1b72830320eef665435ee1f4775/1 1/4 Mã hóa khối - Thư viện Học liệu mở Việt Nam Giải mã Tổng quan Quá trình mã hóa khối bao gồm thuật toán: mã hóa - ký hiệu E giải mã - ký hiệu E1 Cả thuật toán tác động lên khối đầu vào n bít sử dụng khóa k bít khối đầu n bít Đối với khóa nào, giải mã hàm ngược mã hóa, nghĩa là: M khối thông tin K khóa Với khóa K, EK hoán vị (song ánh) khối đầu vào Mỗi khóa xác định hoán vị tổng số 2n! khả Độ dài khối thông tin, ký hiệu n, thông thường cố định 64 128 bít Một số thuật toán có độ dài khối thay đổi không phổ biến Tính đến trước năm thập kỷ 1990 độ dài 64 bít thường sử dụng Từ trở sau khối 128 bít sử dụng rộng rãi Trong chế độ mã hóa khối người ta thường phải bổ sung thêm số bít cho văn (tiếng Anh: padding) để văn chứa số nguyên lần khối Mỗi chế độ mã hóa có đặc tính khác lan truyền lỗi (lỗi mã hóa khối ảnh hưởng tới khối khác), khả truy xuất ngẫu nhiên khả chống lại kiểu công khác Độ dài thông thường khóa, k, 40, 56, 64, 80, 128, 192 256 bít Hiện (năm 2006) 80 bít độ dài tối thiểu khóa để chống lại công kiểu duyệt toàn Mã hóa khối gồm nhiều trình lặp lại Hầu hết thuật toán mã hóa khối sử dụng lặp lặp lại hàm đơn giản Phương pháp gọi mã hóa khối lặp (xem thêm product cipher) Mỗi chu kỳ lặp gọi vòng (tiếng Anh: round) thông thường thuật toán có từ tới 32 vòng Rất nhiều thuật toán mã hóa khối có tính chất mạng Feistel, hay tổng quát hệ thống hoán vị Các thành phần sử dụng thuật toán hàm toán học, hàm lô gíc (đặc biệt hàm XOR), hộp (S-box) phương pháp hoán vị http://voer.edu.vn/m/f5a0b1b72830320eef665435ee1f4775/1 2/4 Mã hóa khối - Thư viện Học liệu mở Việt Nam Lịch sử Thuật toán mã hóa Lucifer công ty IBM phát triển dựa nghiên cứu Horst Feistel xem thuật toán mã hóa dùng cho mục đích dân Sau đó, thuật toán sửa đổi trở thành tiêu chuẩn mã hóa phủ Hoa Kỳ vào năm 1976 với tên gọi DES (Tiêu chuẩn mã hóa liệu, tiếng Anh: Data Encryption Stardard) Từ đó, DES sử dụng rộng rãi DES thiết kế chống lại số dạng công mà Cơ quan an ninh quốc gia Hoa Kỳ (NSA) IBM biết vào thời điểm thiết kế Tuy nhiên, thông tin không công bố biết đến vào cuối năm 1980 nhờ nghiên cứu Eli Biham Adi Shamir Kỹ thuật có tên công vi sai Kỹ thuật công tuyến tính dạng công khác làm sáng tỏ sau xuất Mitsuru Matsui DES tạo nên sóng nghiên cứu lĩnh vực mật mã học thám mã Từ nhiều vấn đề làm sáng tỏ nhiều thuật toán mã hóa đời Khối liệu DES có độ dài 64 bít (khối 64 bít trở nên phổ biến sau DES) độ dài khóa 56 bít Độ dài khóa phụ thuộc nhiều yếu tố, bao gồm quy định phủ Ngay từ năm 1970, nhiều người cho độ dài khóa 56 bít không đủ an toàn Cùng với phát triển khả tính toán, vấn đề ngày trở nên cấp thiết Năm 1998, hệ thống dành riêng cho thám mã DES tổ chức Electronic Frontier Foundation phá khóa DES thời gian ngày Một số biến thể DES Triple DES hay 2TDES có độ dài khóa hiệu dụng 112 80 bít coi an toàn vào thời điểm năm 2004 DES thay tiêu chuẩn AES (thuật toán mã hóa nâng cao, tiếng Anh: Advanced Encryption Standard) vào năm 2001 sau thi rộng rãi Tác giả AES người Bỉ: Joan Daemen Vincent Rijmen (lấy tên chung Rijndael) AES có độ dài khối 128 bít khóa có độ dài 128, 192 hay 256 bít Chính phủ Hoa Kỳ cho phép sử dụng AES với thông tin mật NSA xếp loại Phá mã Bên cạnh công tuyến tính vi sai có nhiều kiểu công khác lên mã hóa khối: công vi sai phần (tiếng Anh: truncated and partial differential cryptanalysis), công kiểu XLS, công kiểu bu mê (tiếng Anh: boomerang attack) Để thuật toán chấp nhận, phải chứng minh có khả chống lại dạng công biết Các hàm băm dựa mã hóa khối Bài chi tiết: Các hàm băm dựa mã hóa khối Các thuật toán mã hóa khối sử dụng theo số cách để tạo hàm băm mật mã Những phương pháp tương tự với chế độ mã hóa khối dùng cho mã hóa Sử dụng mã hóa khối cho hàm băm thường chậm so với dùng hàm băm chuyên http://voer.edu.vn/m/f5a0b1b72830320eef665435ee1f4775/1 3/4 Mã hóa khối - Thư viện Học liệu mở Việt Nam dụng Tuy nhiên dùng mã hóa khối cho hai mục đích (mã hóa hàm băm) lại tiện lợi phải thực lần Điều có ý nghĩa cho hệ thống nhúng (chẳng hạn thẻ thông minh) không gian dành cho phát triển phần mềm bị hạn chế Mã hóa khối với tham số M Liskov, R Rivest, D Wagner mô tả dạng tổng quát mã hóa khối với tham số (tiếng Anh:"tweakable" block ciphers) Đầu vào thuật toán dạng bên cạnh rõ/bản mã khóa có thêm tham số gọi tweak Tweak với khóa lựa chọn cách hoán vị thuật toán Nếu việc thay đổi tweak yêu cầu khối lượng tính toán nhỏ (so với trình tạo khóa) ta có thêm số chế độ hoạt động khác Xem thêm mã hóa ổ đĩa để có thêm thông tin vấn đề http://voer.edu.vn/m/f5a0b1b72830320eef665435ee1f4775/1 4/4