(P1) Mật mã học – Hệ mật mã cổ điển

Nhu cầu bảo mật thông tin thông tin luôn đóng vai trò quan trọng trong nhiều nghành trong đời sống. Việc bảo vệ tính bí hiểm của thông tin hoàn toàn có thể được thực thi bằng nhiều chiêu thức khác nhau, và một trong số đó là đổi khác thông tin mà chỉ những bên tham gia mới đọc được, hiểu được, chiêu thức này được gọi là mã hóa bí hiểm thông tin. Bản thân việc mã hóa cũng có nhiều cách khác nhau. Ngành Mật mã học sinh ra để nghiên cứu và điều tra về những giải pháp mã hóa đó. Trong suốt quy trình lịch sử vẻ vang của mình, mật mã học không ngừng tăng trưởng và triển khai xong để cung ứng nhu yếu trong thực tiễn .

Trong bài viết hôm nay, tôi sẽ bắt đầu giới thiệu với các bạn các hệ mật mã cổ điển.

Đặc điểm chung của những hệ mật mã cổ xưa là sinh ra từ thời xưa khi chưa có sự tham gia của máy tính điện tử, đơn thuần và đều là hệ mật mã khóa đối xứng .

  • Mật mã Caesar

Đây là hệ mật mã đầu tiên, sơ khai và đơn giản nhất. Việc giải mã và mã hóa đơn giản là thực hiện dịch chuyển bảng chữ cái n chữ cái để có được bảng mã. Ví dụ như sau:

Ta di dời 6 thành phần để ra bảng vần âm mã hóa :

Giờ ta so sánh với bảng mã để mã hóa một đoạn văn bản : ” TOI RAT DEP TRAI ” => bản mã : ” ZUO XGZ JKV ZXGO ” .Các mã hóa rất đơn thuần đổi ký tự T ( 19 ) thành Z ( 25 ), đổi O ( 14 ) thành U ( 20 ) v.v…Việc giải thuật cũng đơn thuần bằng cách so sánh văn bản mã hóa ( gọi là bản mã ) với bảng quy đổi bên trên để lấy lại văn bản bắt đầu .Dừng lại ở đây một chút ít, ở đây, tất cả chúng ta mở màn đưa ra 1 số ít khái niệm của mật mã học :

  1. Văn bản cần mã hóa được gọi là bản rõ
  2. Văn bản sau khi mã hóa gọi là bản mã
  3. Công cụ để dịch từ bản rõ sang bản mã và ngược lại được gọi là khóa.

Mô tả dưới dạng toán học tân tiến ta thấy việc biến đối từ T sang Z < => đổi khác từ 19 sang 25, đổi khác từ O sang U < => biến hóa từ 14 sang 20, vậy làm thế nào để có được đổi khác này ? Ta có phép tính như sau 🙁 19 + 6 ) mod 26 = 25( 14 + 6 ) mod 26 = 20mod là phép toán chia lấy dư. Tổng quát, ta sẽ có hàm mã hóa được viết bằng E ( x ) = ( x + n ) mod 26 với x – vị trí của ký tự cần mã hóa trong bảng vần âm, n là số ký tự được di dời để tạo thành mã, 26 là số ký tự của bảng vần âm lấy mã hóa, nếu sử dụng cả số và những dấu thì giá trị 26 này sẽ đổi khác theo .

Đọc thêm:

Hơ, việc đổi chỗ đơn thuần thế này, vì sao lại phải viết thành công thức toán học cho … mất thì giờ ? Đúng là ở thời Caesar ông ấy chắc cũng không trình diễn dưới dạng toán học đâu, nhưng giờ thế kỷ mới rồi, cái gì cũng cần được đưa lên máy tính thế nên cách viết dưới dạng công thức toán sẽ giúp ta thuận tiện đưa công hệ mật mã này thành một chương trình máy tính nhé .Quay lại với định nghĩa, với công thức E ( x ) = ( x + n ) mod 26 ta gọi x là bản rõ, n là khóa và E ( x ) là bản mã. À, thế là mã Caesar trong ví dụ trên có khóa đơn thuần là 6 chứ không cần phải nhớ lại cái bảng quy đổi to đùng kia nữa. Làm tương tự như thì cách dịch lại bản rõ sẽ là D ( x ) = ( x – n ) mod 26 với x là vị trí ký tự cần giải thuật .Xong, nhìn chung, mã Caesar lúc bấy giờ không còn tính bảo mật thông tin nữa, với một máy tính điện tử thì ta sẽ mất khoảng chừng 1-2 tiếng để phá mã, đưa hệ mật mã này ra để giúp những bạn nhìn rõ hơn và làm quen với những khái niệm cơ bản trong Mật mã học .

  • Mật mã hoán vị

Vẫn dùng bảng vần âm được đánh số thứ tự từ 0 đến 25 như trên, nhưng cách mã hóa của tất cả chúng ta biến hóa, biểu lộ qua ví dụ như sau :Bản rõ : ” TOI RAT DEP TRAI “, ta chia bản rõ thành những phần 4 ký tự một ( không coi những khoảng chừng trắng là ký tự ), tiếp theo đổi chỗ ký tự thứ 1 cho ký tự thứ 3, ký tự thứ 2 cho ký tự thứ 4, đơn cử :

 Và lúc này bản mã là: IRTODETRAPTI.

Vậy với hệ mã hóa này đâu là khóa ? Khóa được trình diễn dưới dạng toán học thế nào ?

Hãy chú ý việc chia bản rõ thành các phần 4 ký tự và công thức đổi chỗ các ký tự (1 đổi cho 3, 2 đổi cho 4). Đây là khóa và khóa này được biểu diễn bằng hoán vị như sau: 

Viết dưới dạng hàm số, tao sẽ có hàm số E được xác định: E(1) = 3, E(2) = 4, E(3) = 1, E(4) = 2.  (Đã sửa theo góp ý của Whatdoyoumean)

Dễ thấy, việc dịch ngược bản mã ra bản rõ chỉ cần chia bản rõ làm những phần gồm 4 ký tự một và hoán vị ngược lại theo bảng hoán vị trên. Dễ thấy, nếu ta chọn chia văn bản thành mỗi phần n ký tự, với n càng lớn, số hoán vị sẽ càng nhiều, dẫn đến tính bảo mật thông tin càng cao .

Đọc thêm:

Nhận xét :+ Các hệ mật mã được ra mắt ở đây đều rất đơn thuần, thuận tiện bị phá bởi máy tính điện tử .+ Hệ mật mã Caesar là hệ mật mã nổi bật của mật mã sửa chữa thay thế, hệ mã hoán vị cũng là mã nổi bật mật mã hoán vị. Để tăng hiệu suất cao bảo mật thông tin, người ta hoàn toàn có thể tích hợp 2 hoặc nhiều hệ mã trong những mạng lưới hệ thống đơn thuần .+ Có thể thấy 2 hệ mật mã trên, mỗi hệ đều chỉ sử dụng 1 khóa cho cả quy trình mã hóa và giải thuật ( với mà Caesar là 6, với mã hoán vị là bảng hoán vị ), những hệ mật mã có đặc thù như trên được gọi chung là hệ mật mã Khóa đối xứng. Ngoài ra, hệ mật mã mà từ khóa để mã hóa thuận tiện suy ra khóa để giải thuật cũng được gọi là hệ mật mã khóa đối xứng .

Ở phần tiếp theo, mình sẽ giới thiệu tiếp về mã hóa đối xứng hiện đại.

P. / S : Mình chỉ giỏi mỗi 1 loại mật mã thôi, những loại khác dừng ở mức biết sơ sơ : D. Mã hóa và phá mã là hai mảng trọn vẹn khác nhau, đừng ông nào vứt cho tôi một bản mã rồi bắt tôi giải nhớ : v .Không tương quan nhưng khoe phát 😀

(P1) Mật mã học – Hệ mật mã cổ điển

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay