Mật mã hóa và vấn đề bảo mật

293

Các quốc gia hay các doanh nghiệp đều cần có những phương tiện để trao đổi thông tin bằng một cách nào đó mà nếu người khác nhận được cũng không thể hiểu được. Phương pháp đó được gọi là mật mã hóa (encryption) và công nghệ đó được gọi là công nghệ mật mã hóa (encryptography).

Lịch sử của sự mật mã hóa

Văn bản có phần mật mã hóa cổ xưa nhất là ở Ai Cập gần 4 ngàn năm trước. Người ta khám phá ra trên một nấm mồ có ghi tiểu sử của người chết nhưng nhiều chỗ lại có những biểu tượng lạ để làm tối nghĩa câu văn. Đây là lối mật mã hóa bằng cách hoán đổi một mẫu tự hay một biểu tượng bằng một biểu tượng khác.

Vào khoảng 500 năm trước Công Nguyên người Spartan đã nghĩ ra một dụng cụ, gọi là Scytale để mật mã hóa văn bản. Đó là dùng một ống để quấn một dải giấy da lên. Chữ được viết trên giấy dọc theo thân ống rồi được tháo ra và gửi đi. Người nhận được phải có một ống cùng kích thước thì mới đọc được.

Ống Scytale (Hình: eng.utah.edu)

Hoàng Đế Julius Caesar của Đế Quốc La Mã đã nghĩ ra một cách mật mã hóa để truyền mệnh lệnh cho các tướng của mình mà nếu lính đem mệnh lệnh bị bắt thì quân địch cũng không đọc được. Phương pháp của ông Caesar là đổi chữ này thành chữ kia. Người nhận phải có bảng hoán chuyển để đổi văn bản đã được mật mã hóa trở lại văn bản thường.

Từ đó đã có nhiều phương pháp để mật mã hóa văn bản. Đặc biệt nhất là trong Thế Chiến I, mọi truyền tin của quân đội Hoa Kỳ đều bị ngăn chặn bởi Đức Quốc. Cuối cùng ông Lewis có một sáng kiến là dùng ngôn ngữ của bộ lạc da đỏ Choctaw để mật mã hóa. Những thông tin được dịch qua tiếng của thổ dân Choctaw và được người da đỏ Choctaw đọc qua điện thoại. Ở đầu bên kia một người dân da đỏ khác nhận và viết thông tin xuống, sau đó được dịch ngược lại ra tiếng Anh. Vì người Đức không có dân da đỏ nên chịu chết, mặc dù có thể bắt vào làn sóng để nghe được nhưng không thể giải mã được.

Ở cuối Thế Chiến Thứ I, ông Arthur Scherbius phát minh ra máy Enigma để mật mã hóa và giải mã các văn bản. Máy Enigma là một thiết bị điện cơ (electro-mechanic), có nhiều vòng quay và có thể có tới 10 lũy thừa 114 tổ hợp nên không thể giải mã bằng cách dò từng tổ hợp.

Trong Thế Chiến Thứ II, Hải Quân của Đồng Minh bị tàu ngầm U-Boat của Đức Quốc Xã làm cho điêu đứng. Đức Quốc Xã dùng máy Engima để mật mã hóa hóa truyền mệnh lệnh cho U-Boat. Quân Đồng Minh bắt được tín hiệu nhưng không giải mã được.

Trong thập niên 1930, các nhà toán học người Ba Lan đã dùng những lý thuyết toán học để giải mã được máy Enigma. Nhưng về sau người Đức cải tiến máy Enigma nên kỹ thuật của nhà toán học Ba Lan không dùng được. Vào các năm 1941 và 1942 nhà toán học lừng danh Alan Turing đã giúp giải mã được máy Enigma.

Do đó Đồng Minh nắm bắt được các mệnh lệnh của Đức Quốc Xã và biết được vị trí các tàu ngầm U-Boat. Các tàu vận tải chở tiếp tế được lệnh tránh xa chỗ có U-boat đồng thời các tàu chiến được vận động tới để cố đánh đắm tàu ngầm U-boat. Sự kiện đó đã giúp Đồng Minh rất nhiều trong Thế Chiến.

Từ khi có máy tính và mạng lưới thông tin toàn cầu thì công nghiệp mật mã hóa đã tiến rất xa và có những phương pháp rất tối tân để bảo mật.

Các phương pháp mật mã hóa

Nói chung thì các phương pháp mật mã hóa là biến đổi một văn bản thường thành một văn bản trông rất lộn xộn không thể hiểu được. Người nhận phải có một chìa khóa cho biết làm sao để biến đổi văn bản mã hóa trở lại thành văn bản thường.

Phương pháp hoán chuyển

Phương pháp mà Caesar dùng để mật mã hóa là phương pháp hoán chuyển. Đây là cách mật mã hóa đơn giản nhất, các chữ cái được hoán chuyển thành chữ khác. Thí dụ mỗi chữ được đổi thành chữ xuống hai vị trí theo vần abc. Chữ A thì đổi thành chữ C và B thì thành D, v.v… còn Y thì thành A và Z thì thành B như hình minh họa sau đây. Chìa khóa ở thí dụ này là +2.

Thí dụ chữ NGUOI VIET thì được mật mã hóa thành PIWQK XKGV và gửi đi. Người nhận đã được thông báo trước cách mật mã hóa và chìa khóa thì chỉ việc làm ngược lại là biết được văn bản nguyên thủy. Thí dụ chữ P thì lùi lại hai vị trí là trở thành chữ N và chữ I thì thành chữ G.

Hồi thời ông Caesar thì đây là một phát minh mới mẻ, nhưng bây giờ thì như trò chơi trẻ con vì cách này rất dễ bị đoán ra. Người ta có thể làm cho khó hơn bằng cách hoán chuyển lung tung không theo thứ tự nào hết. Thí dụ A thì thành G, B thì thành O, v.v… Cách này cũng dễ bị phát hiện.

Phương pháp mật mã hóa hiện đại

Vì cần có sự bảo mật khi trao đổi thông tin các chính phủ và các công ty đã nghiên cứu nhiều về công nghệ mật mã hóa. Năm 1977, Văn Phòng Tiêu Chuẩn Quốc Gia (National Bureau of Standards) của Hoa Kỳ đã làm ra Chuẩn Mật Mã Hóa cho Dữ Liệu (Data Encryption Standard viết tắt là DES). Chuẩn DES rất là phổ thông và vẫn được áp dụng cho tới ngày nay.

Các phương pháp mật mã hóa hiện đại có thể được phân làm hai loại: chìa khóa kín (private key) và chìa khóa công khai (public key).

Mật mã hóa bằng chìa khóa kín

Phương pháp của Caesar là một thí dụ của chìa khóa kín. Ai biết được chìa khóa là có thể giải mã được. Một phương pháp chìa khóa kín là kết hợp văn bản nguyên thủy với một chuỗi số ngẫu nhiên. Phương pháp mật mã hóa RC4 là thuộc loại này. Được biết RC4 được dùng trong các phương pháp bảo mật trên mạng như là SSL (Secure Socket Layer) và WEP (Wired Equivalent Privacy).

Mật mã hóa bằng chìa khóa công khai

Sự bất tiện của phương pháp mật mã hóa chìa khóa kín là phải làm sao đưa cho người nhận chìa khóa kín mà không ai khác biết được. Thí dụ bạn muốn trao đổi thông tin riêng tư với nhà băng thì làm sao nhà băng có thể trao cho bạn chìa khóa kín được. Vì lý do đó các nhà nghiên cứu về mật mã hóa cố tìm một phương pháp để có chìa khóa công khai.

Phương pháp này là một hệ thống có hai chìa khóa. Một chìa khóa công khai dùng để mật mã hóa văn bản và một chìa khóa kín dùng để giải mã văn bản đã được mật mã hóa. Năm 1977, ba nhà khoa học ở đại học MIT, các ông Ron Rivest, Adi Shamir và Leonard Adleman đã công bố một phương pháp mật mã hóa bằng chìa khóa công khai. Phương pháp này bây giờ được gọi là phương pháp mật mã hóa RSA (viết tắt tên của ba ông).

Thí dụ bạn muốn cho số thẻ tín dụng trực tuyến để mua một món gì đó trên mạng Amazon. Máy tính của bạn sẽ dùng chìa khóa công khai của Amazon để mật mã hóa số thẻ của bạn và truyền đi. Chỉ có Amazon với chìa khóa riêng mới có thể giải mã số thẻ đã được mật mã hóa. Phương pháp RSA hầu như không thể phá được, do đó được dùng trong hầu hết những truyền tin cần có sự bảo mật. (Hà Dương Cự)

—————- Nguồn tài liệu: http://www.eng.utah.edu https://cs.stanford.edu