+15

Mã hoá thay thế liệu đã hết thời?

Từ xưa rất xưa ấy, theo sự phát triển của văn hoá và tri thức thì tư duy của con người cũng ngày càng phức tạp hơn. Nhưng trong một xã hội nơi có rất nhiều người, rất nhiều nhóm người chung sống cùng nhau thì giữa người với người, nhóm người với nhóm người sẽ có những điều không muốn cho đối tượng khác biết. Nhu cầu về bảo vệ bí mật và sự riêng tư ngày càng được đề cao hơn.

Mỗi cộng đồng người sinh sống đều sẽ có chung một ngôn ngữ, một hệ văn tự giúp những người trong cộng đồng có thể giao lưu với nhau. Khi việc giao tiếp càng thuận tiện thì việc giữ bí mật sẽ càng khó khăn. Khi sử dụng chung một hệ thống văn tự thì khi thư từ tin nhắn gửi cho nhau bị lộ, hoặc là nhật ký cá nhân bị lộ thì rõ ràng ai cũng có thể đọc được thông tin trong đó. Lúc này nếu không muốn sử dụng một hệ văn tự mới mà vẫn có thể giữ được bí mật thông điệp thì sẽ cần sử dụng kỹ thuật mã hoá.

Ngược dòng tìm hiểu về lịch sử phát triển của các kỹ thuật mã hoá thì có thể nói là kỹ thuật mã hoá đã được phát triển và sử dụng từ rất lâu rồi. Một ví dụ nổi tiếng thường được đưa ra làm ví dụ có thể kể đến là mật mã Ceasar được sử dụng bởi Julius Ceasar, đã xuất hiện từ thời kỳ Trước Kỷ nguyên Chung (BCE - Before Common Era). Sau đó còn có những mật mã khác được phát triển dựa trên nguyên lý của mật mã Ceasar.

Sau này khi các kiến thức về mật mã học được tổng hợp và hệ thống lại thì mật mã Ceasar được phân loại vào nhóm mã hoá thay thế. Khi công nghệ phát triển hơn và máy tính được phát minh thì các phương pháp mã hoá hiện đại như DES, AES, DSA, RSA,... bắt đầu được sử dụng rộng rãi cho tới ngày nay. Vậy có phải các thuật toán mã hoá thay thế, vốn không đủ mạnh trước khả năng phá mã của máy tính đã hết thời?

Lịch sử phát triển

Mật mã Atbash

Mật mã thay thế được cho rằng lâu đời nhất là mật mã Atbash, được sử dụng để mã hoá bảng chữ cái Hebew. mật mã Atbash sẽ thay thế bảng chữ cái theo thứ tự đảo ngược. Nếu sử dụng trong bảng chữ cái Latin thì A sẽ thành Z còn Z thành A, B sẽ thành Y và Y thành B,...

Mật mã Ceasar

Mật mã Ceasar là một trong những phương pháp mã hoá nổi tiếng và được nhắc đến nhiều nhất. Mật mã này được sử dụng bởi Julius Ceasar dựa trên nguyên lý dịch chuyển bảng chữ cái đi 3 ký tự về phía bên trái. Như vậy D sẽ trở thành A, E sẽ trở thành B,...

Mật mã Ceasar được cho là sử dụng để truyền mệnh lệnh và tin tức trong chiến tranh. Đây chính là một bước ngoặt lớn để các kỹ thuật mã hoá được quan tâm nhiều hơn và phát triển nhanh hơn. Bởi chiến tranh bao giờ cũng thúc đẩy sự phát triển một cách siêu tốc, kỹ thuật lạc hậu đồng nghĩa với mất đi ưu thế trên chiến trường.

Mật mã dịch vòng

Đây là phiên bản cải tiến hơn của mật mã Atbash và mật mã Ceasar. Hai phương pháp mã hoá trên đều có điểm yếu là cách mã hoá và giải mã cố định: Atbash sẽ dịch chuyển 1 ký tự về phía bên trái bảng chữ cái, còn Ceasar dịch chuyển 3 ký tự về phía bên trái bảng chữ cái.

Để khắc phục nhược điểm trên, mật mã dịch vòng cho phép lựa chọn số ký tự để dịch chuyển. Con số này được gọi là khoá mã hoá, theo đó mã hoá dịch vòng sẽ có tối đa 25 khoá. Việc sử dụng khoá mã hoá giúp cho một phương pháp mã hoá trở nên linh động hơn, cùng một phương pháp khi sử dụng các khoá mã hoá khác nhau sẽ cho ra các kết quả khác nhau.

Theo nguyên lý mã hoá trên, mật mã Atbash là mã hoá dịch vòng có khoá = 1, còn mật mã Ceasar là mã hoá dịch vòng có khoá = 3. Khoá bổ biến nhất của mật mã dịch vòng là 13, được gọi là mật mã ROT13.

Mật mã Vigenere

Mật mã Vigenere còn được gọi với cái tên mật mã Blaise dựa trên tên của Blaise de Vigenère. Tuy người phát minh ra mật mã này là Giovan Battista Bellaso nhưng Blaise de Vigenère đã phát minh ra cơ chế tạo khoá tự động mạnh hơn, do đó mật mã này được đặt theo tên ông.

Mật mã Vigenere là phương pháp mã hoá văn bản bằng cách sử dụng nhiều phép mã hoá dịch vòng. Mã hoá Vigenere sử dụng trên một bảng gồm 26 hàng, mỗi hàng là một bảng chữ cái Latin, với hàng sau có thứ tự các chữ cái dịch về bên trái 1 ký tự so với hàng trước đó.

Khoá mã hoá sẽ có độ dài bằng đoạn văn bản gốc. Khi mã hoá mỗi ký tự, sẽ dựa vào ký tự cần mã hoá và ký tự tương ứng trong khoá mã hoá để xác định ra ký tự sau khi mã hoá là gì. Nguyên lý mã hoá được xây dựng dựa trên mật mã dịch vòng khiến mật mã Vigenere dễ làm quen và sử dụng, nhưng khả năng giữ bí mật thông tin thì vượt trội hơn nhiều. Ở thời kỳ mật mã này được phát minh thì việc phá mã là không thể do khối lượng tính toán quá nhiều.

Mật mã Enigma

Mật mã Enigma có mức độ nổi tiếng và vị trí vô cùng quan trọng trong lịch sử thế giới. Mật mã này được mã hoá bằng một chiếc máy gọi là máy Enigma. Máy Enigma là một thiết bị mã hóa cơ điện được người Đức sử dụng trong Thế chiến II để mã hóa thông tin liên lạc quân sự của họ. Cấu trúc của máy Enigma bao gồm:

  • Một bàn phím để gõ văn bản.
  • Một tập hợp các roto sẽ quay theo mỗi lần bấm phím
  • Một bộ đèn để hiển thị các chữ cái được mã hoá.

Máy Enigma có thể được cấu hình để thay đổi quy luật mã hoá bất cứ khi nào muốn Khi kết hợp với hệ thống roto sẽ khiến cho kết quả mã hoá trở nên vô cùng khó đoán. Sự phức tạp trong kết cấu và cách vận hành của máy Enigma khiến cho quân Đức tự tin mù quáng vào khả năng mã hoá của chiếc máy này. Quân Đức đã sử dụng máy Enigma để mã hoá các tin tức chiến lược trong Thế chiến II với sự tự tin và yên tâm tuyệt đối rằng không ai có thể giải mã được thông tin mật nếu không có máy Enigma với cấu hình chính xác.

Chính vì vậy, khi mật mã Enigma bị phá giải bởi một nhóm các nhà toán học người Anh - dẫn đầu bởi Alan Turing. Đây là một trong những điểm mấu chốt đã thay đổi cách cục của Thế chiến II. Quân đồng minh nhờ có sự giúp đỡ từ nhóm của Alan Turing đã có thể giải mã những thông tin mật, đường lối chiến thuật,... của quân Đức và dần dần dành lợi thế áp đảo trên chiến trường.

Mật mã thay thế ngày nay

Ngày nay, mật mã thay thế đã bị... thay thế bởi các mật mã hiện đại hơn. Trước khi máy tính được phát triển, các mật mã chỉ thực hiện mã hoá từng ký tự. Với sự hỗ trợ của máy tính, việc mã hoá đã được thực hiện trên từng bit dữ liệu. Chính sự khác biệt này đã tạo ra sự chênh lệch lớn giữa mã hoá cổ điển và mã hoá hiện đại. Khiến cho mã hoá thay thế dần trở thành các bài tập khi mới tìm hiểu về mật mã học.

Tuy nhiên mật mã thay thế cũng không biến mất hoàn toàn, chúng trở thành nền tảng cho các phương pháp mã hoá hiện đại. Ví dụ như trong mã hoá AES vẫn sử dụng các nguyên lý thay thế trong S-box. Mã hoá thay thế cũng được sử dụng trong kỹ thuật làm rối mã nguồn, khi mà tên các thành phần trong mã nguồn đã được thay đổi thành các từ không có quy luật rõ ràng.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí