Mã hóa là gì? Người ta đã mã hóa văn bản như thế nào?

Mã hóa là gì? Người ta đã mã hóa văn bản như thế nào?

Được đăng vào 09/02/2023 09:12 bởi Duy Nguyễn.

1 phút đọc
174 lượt xem

Chúng ta đã thấy thuật ngữ “mã hóa” được sử dụng trên internet. Đó có thể là công nghệ quan trọng nhất mà chúng ta có. Hầu hết các biện pháp bảo mật kỹ thuật số, mọi thứ từ duyệt web đến email an toàn đều phụ thuộc vào nó. Nếu không có mã hóa, chúng ta sẽ không có quyền riêng tư cũng như bảo mật thông tin.

Mã hóa là gì?

Nếu chúng ta viết một cái gì đó quan trọng, riêng tư hoặc nhạy cảm, bạn có thể lo lắng rằng người khác sẽ đọc nó. Nếu bạn cần phải đưa nó cho một người đưa tin để đưa cho một người khác, nguy cơ những người đọc nhầm tin nhắn đó sẽ tăng lên. Mã hóa thay đổi thành phần của tin nhắn hoặc dữ liệu để chỉ những người biết cách đưa nó về dạng ban đầu mới có thể đọc được. Đối với người lạ, nó sẽ xuất hiện dưới dạng một bộ sưu tập các ký tự và biểu tượng vô nghĩa.

Một số loại mã hóa cổ xưa

Gậy mật mã (Scytale)

Kể từ những ngày đầu tiên, con người đã sử dụng nhiều công nghệ khác nhau để ngăn không cho người khác đọc tin nhắn riêng tư. Gậy mật mã là một dạng mật mã học bắt nguồn từ Hy Lạp, nó gồm một băng giấy bằng da được quấn theo hình xoắn ốc xung quanh một cây gậy có hình trụ (được gọi là scytale). Thông điệp được viết lên băng giấy theo hàng dọc, khi mở băng giấy ra, nó sẽ vô nghĩa.
Người đưa tin sẽ chuyển gói giấy da với chữ viết đến tay người nhận, người nhận sẽ quấn nó quanh scytale của mình và đọc lời nhắn. Đây là một dạng mật mã chuyển vị.
Đó là một kỹ thuật sơ khai, nhưng nó lại có các yếu tố trong các hệ thống mã hóa hiện đại. Cả người gửi và người nhận đều phải biết trước cách mã hóa và cách giải mã.

Hình vuông Polybius

Một phương pháp khác được người Hy Lạp cổ đại sử dụng là hình vuông Polybius. Đây là một lưới gồm năm hoặc năm hoặc sáu x sáu các chữ cái,... Một chữ cái được tham chiếu bởi tọa độ của nó. Chữ cái đầu tiên trong hàng đầu tiên được mã là “11”, chữ cái thứ tư trên hàng thứ hai sẽ được viết là “42”,…
Ví dụ minh họa:
Câu mẫu: Kill the king tomorrow
Mật mã: 25243131 442315 25243322 4434323442423452
Tất nhiên, có nhiều cách để điền vào lưới bằng các chữ cái. Việc giải mã là rất khó, trừ khi người giải đã biết bố cục của các chữ cái. Điều này cho phép bạn thiết lập một lược đồ có nhiều ô vuông với các bố cục khác nhau. Ví dụ, bạn có thể tạo bảy hình vuông và sử dụng một hình vuông khác nhau cho mỗi ngày trong tuần. Các lược đồ sử dụng nhiều bảng chữ cái được gọi là mật mã đa pha. Hình vuông Polybius là một dạng mã thay thế các ký tự khác cho các chữ cái, trong ví dụ này là các chữ số.

Mật mã Ceasar

Julius Caesar đã tạo ra mật mã này và lấy tên của mình đặt cho nó. Mật mã Caesar sử dụng quy tắc “xoay vòng”. Ví dụ chúng ta cho độ dịch chuyển là hai, “A” sẽ được viết là “C” và “D” sẽ được viết là “F”. Người nhận phải biết độ dịch chuyển chính xác để sử dụng để giải mã thông điệp bằng cách trừ đi độ lệch từ các chữ cái mà họ đã nhận được.
Ví dụ minh họa:
Câu mẫu: Kill the king tomorrow
Mật mã: Mknn vjg mkpi vqoqttqy
Mật mã Caesar có độ dịch chuyển là 13 - được gọi là “vòng quay 13” hoặc ROT13. Có 26 chữ cái trong bảng chữ cái tiếng Anh tiêu chuẩn, và 13 chữ cái chia thành 26 chính xác hai lần. Để giải mã điều gì đó, bạn có thể đưa nó qua quy trình giải mã một lần nữa. Kết thúc hai lần sẽ đưa bạn trở lại văn bản gốc.
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM
Nếu chúng ta chọn các chữ cái “GEEK” trong bảng chữ cái trên cùng và ghi chú các chữ cái phù hợp trong bảng chữ cái dưới thì sẽ nhận được “TRRX”. Nếu làm điều đó một lần nữa với “TRRX” trong bảng chữ cái trên cùng, chúng ta sẽ nhận được các chữ cái “GEEK” từ bảng chữ cái dưới cùng.
Cảm ơn các bạn đã xem.
Tags: codeknowledge
Những Bài Viết Liên Quan:
7 mẹo trong JavaScript cực kỳ hữu ích bạn nên biết
1 phút đọc
303 lượt xem

17/03/2023 17:00

Với những mẹo này, sẽ giúp bạn lập trình Javascript một cách dễ dàng hơn đấy

Sử dụng ChatGPT vào Visual Studio Code nhờ Extension này
1 phút đọc
953 lượt xem

03/03/2023 11:00

Sử dụng ChatGPT để hỗ trợ việc code của bạn ngay trong VSCode một cách hiệu quả

Viết thuật toán sắp xếp nhanh (Quick Sort Algorithm) bằng JavaScript
1 phút đọc
243 lượt xem

17/03/2023 04:00

Trong hướng dẫn này, bạn sẽ học cách viết thuật toán sắp xếp nhanh (Quick Sort Algorithm) bằng JavaScript và khám phá các khái niệm chính đằng sau thuật toán.