Chương trình máy tính thực hiện quá trình mã hóa từ “cradle” thành
“pn6yywersyq” được xây dựng dựa trên thuật toán cửa lật, tức một quá trình
rất dễ thực hiện theo chiều xuôi, nhưng rất khó đảo lại theo chiều ngược.
Khi Sally Blatz đăng nhập, cô gõ tên tài khoản của mình là Blatz và mật
khẩu cradle. Hệ thống sẽ mã hóa mật khẩu này thành pn6yywersyq rồi so
sánh với mục nhập tương ứng trong tệp tin mật khẩu. Nếu hai mục nhập đã
được mã hóa này không khớp với nhau, Sally sẽ không được truy cập nữa.
Yếu tố được so sánh ở đây không phải là mật khẩu bằng văn bản thuần túy,
mà là phiên bản mã hóa của nó. Sự an nguy của mật khẩu phụ thuộc vào
hàm cửa lật.
Có thể ví hàm cửa lật như bánh cóc
toán học: Bạn có thể xoay nó về phía
trước, nhưng không thể xoay nó về phía sau. Hàm này nhanh chóng phiên
dịch văn bản thành mật mã. Để ngăn chặn việc đánh cắp những chiếc khóa
này, phải làm sao để việc đảo ngược thuật toán trở thành bất khả thi.
32
Bánh cóc: Một cấu trúc gồm một bánh xe có răng, một cạnh xiên và một
bộ phận gọi là cóc gắn vào bánh răng để làm cho cấu trúc này chỉ có thể
quay theo một chiều. (BTV)
Các hàm cửa lật của chúng tôi được xây dựng dựa trên Tiêu chuẩn Mã hóa
Dữ liệu (Data Encryption Standard – DES) do IBM và Cơ quan An ninh
Quốc gia (National Security Agency – NSA) phát triển. Chúng tôi có nghe
râm ran tin đồn rằng các điệp viên của NSA đã làm suy yếu DES để NSA có
thể bẻ mã được nhưng vẫn giữ nó ở mức đủ mạnh để người bình thường
không thể quấy phá. Cũng theo tin đồn, việc này giúp NSA có thể bẻ mã và
đọc nội dung tin nhắn, nhưng ngoài họ ra, không có ai khác làm được
chuyện này.
Phần mềm mã hóa theo chuẩn DES trong máy Unix của chúng tôi được để ở
chế độ công khai. NSA đã phân tích những điểm mạnh và điểm yếu của nó,
nhưng những báo cáo này được giữ bí mật. Thi thoảng lại dấy lên những đồn
đoán rằng có người đang tìm cách giải mật mã này, nhưng chưa có ai thành