Nguồn gốc lịch sử và quá trình thay thế DES

Một phần của tài liệu Xây dựng chương trình mã hóa thông tin cần bảo vệ trong ảnh DICOM (Trang 41 - 42)

Khoảng những năm 70, tiến sĩ Horst Feistel đã đặt nền móng đầu tiên cho chuẩn mã hóa dữ liệu DES với phương pháp mã hóa Feistel Cipher. Vào năm 1976 Cơ quan bảo mật quốc gia Hoa Kỳ (NSA - Nationnal Security Agency) đã công nhận DES là chuẩn mã hóa dữ liệu . Kích thước khóa ban đầu là 128 bit nhưng trong bản công bố FIPS (Federal Information Processing Standard) kích thước khóa được rút xuống còn 56 bit. Sau đó được công nhận là chuẩn Quốc tế của ISO.

Từ cuối thập niên 1980, đầu thập niên 1990, xuất phát từ những lo ngại về độ an toàn và tốc độ thấp khi áp dụng bằng phần mềm, giới nghiên cứu đã đề xuất khá nhiều thuật toán mã hóa khối để thay thế DES. Những ví dụ tiêu biểu bao gồm: RC5, Blowfish, IDEA (International Data Encryption Algorithm, hay Thuật toán mã hóa dữ liệu quốc tế), NewDES, SAFER, CAST5 và FEAL. Hầu hết những thuật toán này có thể sử dụng từ khóa 64 bit của DES mặc dù chúng thường được thiết kế hoạt động với từ khóa 64 bit hay 128 bit.

Ngay bản thân DES cũng có thể được sử dụng một cách an toàn hơn. Những người sử dụng DES trước đây có thể dùng Triple DES (hay TDES). Đây là phương pháp được một trong những người phát minh ra DES miêu tả và kiểm tra. Triple DES sử dụng DES ba lần cho một văn bản với những khóa khác nhau. Hiện nay Triple DES được xem là an toàn mặc dù tốc độ thực hiện khá chậm. Một phương pháp khác ít đòi hỏi khả năng tính toán hơn là DES - X với việc tăng độ dài từ khóa bằng cách thực hiện phép XOR từ khóa với phần thêm trước và sau khi thực hiện DES. Một phương pháp nữa là GDES được đề xuất làm

tăng tốc độ mã hóa nhưng nó được chứng tỏ là không an toàn trước tấn công vi sai (differential cryptanalysis).

Năm 2001, sau một cuộc thi quốc tế, NIST đã chọn ra một thuật toán mới - AES, để thay thế cho DES. Tác giả của thuật toán được biết dưới tên là Rijndael. Những thuật toán khác có tên trong danh sách cuối cùng của cuộc thi AES bao gồm: RC6, Serpent, MARS và Twofish.

Một phần của tài liệu Xây dựng chương trình mã hóa thông tin cần bảo vệ trong ảnh DICOM (Trang 41 - 42)