Mật mã học Khoa học phổ biến|Mật mã học cổ điển đáng kinh ngạc
PlatON云图
2021-03-30 10:40
本文约3533字,阅读全文需要约14分钟
PlatON giới thiệu cho bạn về mật mã.


Tác giả |Nhóm chuẩn bị kỹ thuật PlatON Silas

Nguồn ảnh | Unsplash


Mật mã học là môn học mã hóa thông tin, xử lý và truyền tải cũng như phân tích thông tin được mã hóa. Theo sự xuất hiện của hệ thống mã hóa khóa công khai do RSA đại diện, quá trình phát triển của mật mã có thể được chia thành hai phần: mật mã cổ điển và mật mã hiện đại. Mật mã cổ điển dựa trên "phương pháp thay thế" và "phương pháp thay thế", và chủ yếu được sử dụng trong lĩnh vực quân sự và tình báo, mật mã hiện đại dựa trên toán học, máy tính và khoa học truyền thông. Ngoài việc mã hóa thông tin, chữ ký số, tính toàn vẹn của dữ liệu , xác thực danh tính, v.v... cũng là những chủ đề nghiên cứu của mật mã học hiện đại.

mật mã hiện đạiSự khác biệt chính nằm ở việc sử dụng máy tính.Nói chung, mật mã cổ điển dựa trên các ký tự, trong khi mật mã hiện đại dựa trên các bit nhị phân.

Khái niệm mật mã không giống như "mật khẩu" mà mọi người thường sử dụng để đăng nhập vào các trang web và sử dụng tài khoản ngân hàng. Những "mật khẩu" để xác thực, được dịch chính xác hơn là mật khẩu, là một trong nhiều ứng dụng của mật mã hiện đại.

Nói chung, mật mã cổ điển chủ yếu bao gồm hai loại, đó là thay thế và hoán vị.

Phương pháp thay thế thay đổi thứ tự các chữ cái trong thông tin gốc theo quy tắc nhất định; phương pháp thay thế thay thế các chữ cái trong thông tin gốc bằng các chữ cái khác theo quy tắc nhất định. Tính bảo mật của phương pháp hoán vị và phương pháp thay thế kém, và các học giả Ả Rập cổ đại đã tạo ra khoa học giải mã thông tin được mã hóa——phân tích mật mã, và bẻ khóa phương pháp mã hóa thay thế thông qua phương pháp phân tích tần số.

thay thế

Mật khẩu thay thế là thay thế các ký tự trong bản rõ bằng các ký tự khác, nghĩa là,chuyển đổi thay thế, nếu mỗi ký tự được thay thế bởi cùng một bảng trong toàn bộ quá trình mã hóa, thì đó làmật mã thay thế bảng đơn, tương tự, nếu mỗi ký tự được thay thế bằng một bảng khác trong toàn bộ quá trình mã hóa, thì đó làMật mã thay thế nhiều bảngtiêu đề cấp đầu tiên

mật mã caesar


Mật mã Caesar (Caesar cipher) là thay thế tất cả các chữ cái trong bản rõ bằng một số hiệu cố định lùi (hoặc tiến) trong bảng chữ cái rồi thay thế bằng bản mã. Ví dụ: khi độ lệch là 3, tất cả các chữ cái A sẽ được thay thế bằng D, B trở thành E, v.v. Quá trình mã hóa của bản rõ Hello World như sau:

  • Lấy số bù 3

  • Tính 3 chữ số cuối của H là K

  • và như thế

  • Bản mã là: Khoor Zruog

Tương tự, quá trình giải mã như sau:

  • Tính 3 chữ số đầu của K là H

  • và như thế

  • Nguyên văn là: Hello World

tiêu đề cấp đầu tiên

mật mã thịt xông khói

Khi mật mã của Bacon được mã hóa, mỗi chữ cái trong bản rõ sẽ được chuyển đổi thành một bộ 5 chữ cái tiếng Anh. Chuyển đổi của nó phụ thuộc vào bảng sau:

Theo bảng trên, bản mã của bản rõ hello là AABBBBAABAAABABBABABBBABBBA Rõ ràng độ dài của bản mã gấp 5 lần độ dài của bản rõ. Ngoài bảng trên dùng để mã hóa bản rõ chữ thường còn có bảng dùng để mã hóa bản rõ chữ hoa.

tiêu đề cấp đầu tiên

mã Virginia

Mật mã Virginia là một thuật toán mã hóa sử dụng một loạt các mật mã Caesar để tạo thành một bảng chữ cái mật mã.

Bảng này bao gồm 26 hàng của bảng chữ cái, mỗi hàng dịch chuyển sang trái 1 bit so với hàng trước. Các hàng là các hàng văn bản gốc, các cột là các cột chính và bản mã nằm trong bảng. Kết quả mã hóa của bản rõ HELLOWORLD như sau:

  • Chọn một từ khóa làm khóa, chẳng hạn như BÍ MẬT

  • Vì chữ H đầu tiên của bản rõ tương ứng với chữ S đầu tiên của khóa nên sử dụng bảng chữ cái hàng S trong bảng để mã hóa lấy chữ Z đầu tiên của bản mã

  • Tương tự, nếu độ dài của khóa nhỏ hơn độ dài của bản rõ, chuyển đến chữ cái đầu tiên của khóa và tiếp tục lặp, cuối cùng nhận được bản mã ZINCSPGVNU

Tương tự, quá trình giải mã như sau:

  • Theo bảng chữ cái hàng S tương ứng với chữ S đầu tiên của khóa, nhận thấy chữ Z đầu tiên của bản mã nằm ở cột H nên chữ cái đầu tiên của bản rõ là H

  • Và như thế

tiêu đề cấp đầu tiên

thay thế

tiêu đề cấp đầu tiên

mật khẩu hàng rào


Mật mã hàng rào đường sắt, còn được gọi là mật mã hàng rào, là chia bản rõ cần mã hóa thành n nhóm, sau đó nối từ đầu tiên của mỗi nhóm, sau đó nối từ thứ hai của mỗi nhóm, Tương tự như vậy, một câu bất quy tắc được hình thành . Quá trình mã hóa của bản rõ Hello World như sau:

  • Xóa dấu cách: HelloWorld

  • Một nhóm 5 người: Xin chào, Thế giới

  • Gạch bỏ chữ cái đầu tiên của mỗi nhóm: HW

  • Lấy ra chữ cái thứ hai của mỗi nhóm: eo

  • và như thế

  • Liên kết với nhau: HWeolrllod

  • Thêm khoảng trống thích hợp: HWeol rllod

Tương tự, quá trình giải mã như sau:

  • Xóa dấu cách: HWeolrllod

  • Chia thành 5 cột: HW, eo, lr, ll, od

  • Loại bỏ chữ cái đầu tiên của mỗi cột: Xin chào

  • Và như thế

  • Liên kết với nhau: HelloWorld

  • Thêm dấu cách thích hợp: Hello World

tiêu đề cấp đầu tiên

khác

mật khẩu tiệm cầm đồ

tiêu đề cấp đầu tiên

mật khẩu chuồng heo


Mật mã Pigpen, còn được gọi là mật mã Masonic, là một mật mã thay thế đơn giản dựa trên mạng. Hình dưới đây cho thấy sự tương ứng giữa các ký hiệu được sử dụng trong mật mã chuồng lợn và 26 chữ cái tiếng Anh:

Kết quả mã hóa của bản rõ X MARKS THE SPOT như sau:

Trong hơn một nghìn năm, mật mã học cổ điển đã tiếp tục phát triển dựa trên các phương pháp hoán vị và thay thế. Phương pháp mã hóa thay thế nhiều bảng chữ cái được đại diện bởi mật mã Virginia lần lượt sử dụng nhiều bảng mật mã thay thế khác nhau để mã hóa lần lượt các chữ cái trong bản rõ. "Bí ẩn" được quân đội Đức sử dụng trong Thế chiến II là một máy mật mã cơ học dựa trên nguyên tắc mã hóa thay thế nhiều bảng phức tạp, nhưng cuối cùng do những sai sót trong thuật toán mã hóa của chính nó, nó đã bị khắc phục bởi " bom" do Turing thiết kế.

Vở kịch Breaking the Code của Hugh Whitemore kể về cuộc đời của Alan Turing, người đã giúp Anh phá mã máy mật mã Enigma trong Thế chiến II.

Cuốn tiểu thuyết "Bí ẩn" năm 1996 của tác giả bán chạy nhất người Anh Robert Harris kể câu chuyện về các nhà mật mã tại Bletchley Park đã giải mã được Bí ẩn. Năm 2001, tiểu thuyết này được dựng thành phim "Bí ẩn".

Bộ phim năm 2000 U-571 của Jonathan Mostow kể về một nhóm thủy thủ tàu ngầm Mỹ chiếm một tàu ngầm Đức để chiếm lấy một cỗ máy Enigma. Cỗ máy Enigma trong phim là đồ thật đã qua tay một nhà sưu tập. Cốt truyện của bộ phim này không tuân thủ chặt chẽ diễn biến lịch sử, Hải quân Hoàng gia Anh đã đánh bại tàu ngầm U-110 của Đức vào năm 1941 và là người đầu tiên lấy được máy mật mã của Hải quân Đức, đây cũng là phiên bản thực của bộ phim săn lùng U- 571. Một chiếc U-boat đã bị bắt trước khi hạ cánh.

Bộ phim "The Imitation Game" ra mắt năm 2014 kể về câu chuyện của Alan Turing và các nhà toán học và logic học người Anh khác hỗ trợ quân đội giải mã cỗ máy mật mã Enigma.

Vào năm 2019, NetEase đã ra mắt trò chơi di động chống hồi hộp bất đối xứng "Nhân cách thứ năm". Những người sống sót cần giải mã năm máy mật mã để bật cổng và nhập mã để trốn thoát. Năm máy mật mã cần được giải mã là mật mã Enigma máy móc.

Điểm yếu của mã hóa hoán vị và thay thế là nó không thể loại bỏ hoàn toàn một số tính năng của bản rõ trong bản mã và giữ lại một số thông tin trong bản rõ. Nguyên tắc Kerckhoff do August Kerckhoff đề xuất vào thế kỷ 19 (Kerckhoff's Principle) nói chung tóm tắt các nguyên tắc thiết kế mà các thuật toán mã hóa nên tuân theo: ngay cả khi tất cả các khía cạnh của hệ thống mã hóa là kiến ​​thức công khai (Public knowledge), miễn là khóa không bị rò rỉ, hệ thống mã hóa phải an toàn.

Bản chất của vấn đề bảo mật của thuật toán mã hóa là: làm thế nào để giảm khả năng kẻ tấn công đoán đúng khóa với tiền đề biết thuật toán mã hóa và có một đoạn bản mã đủ dài?

Năm 1948, Shannon thành lập lý thuyết thông tin và thảo luận về các hệ thống mã hóa từ quan điểm toán học trong một bài báo vào năm sau, và mọi người bắt đầu khám phá những bí ẩn của mật mã từ quan điểm khoa học.


Chào mừng bạn tham gia cộng đồng nghiên cứu công nghệ PlatON Network

Cộng đồng nhà phát triển Discord

https://discord.com/invite/jAjFzJ3Cff


Reference:

[1] https://howiezhao.github.io/2018/08/10/classical-crypto/

[2] https://www.chainnews.com/articles/577594859080.htm

[3] The Code Book, Simon Singh (1999)

[4] The Code Breakers, David Kahn (1996)

[5] https://en.wikipedia.org/wiki/Enigma_machine


PlatON云图
作者文库