Một lập trình viên sáng tạo đã tìm ra cách ẩn thông điệp bí mật bên trong thứ tự của một bộ bài tây tiêu chuẩn, sử dụng toán học nâng cao để biến những lá bài được xáo trộn thành văn bản ẩn. Phương pháp thông minh này có thể lưu trữ tới 45 ký tự văn bản bằng cách sử dụng cách sắp xếp cụ thể của tất cả 52 lá bài trong một bộ.
Kỹ thuật này hoạt động bằng cách tận dụng số lượng khổng lồ các cách bạn có thể sắp xếp một bộ bài. Với 52 lá bài, có khoảng 8×10^67 cách sắp xếp khác nhau có thể - đó là nhiều tổ hợp hơn số nguyên tử trong vũ trụ quan sát được. Số lượng khả năng khổng lồ này tạo ra đủ không gian để ẩn các thông điệp văn bản có ý nghĩa.
Thông số kỹ thuật
- Tổng số cách sắp xếp có thể: 52! ≈ 8×10^67
- Số bit dữ liệu có thể sử dụng: 225 bit
- Mã hóa ký tự: 5 bit cho mỗi ký tự
- Bộ ký tự: 32 ký hiệu (chữ cái thường + dấu câu)
- Độ dài thông điệp tối đa: 45 ký tự
Nền tảng toán học sử dụng mã Lehmer
Hệ thống dựa trên thứ gọi là mã Lehmer , cung cấp cách biến đổi bất kỳ cách sắp xếp bài cụ thể nào thành một số duy nhất. Hãy nghĩ về nó như việc tạo cho mỗi cách xáo bài có thể một số ID riêng. Sau đó, lập trình viên chuyển đổi số này thành định dạng có thể biểu diễn các ký tự văn bản.
Quá trình hoạt động bằng cách gán cho mỗi lá bài một giá trị vị trí dựa trên số lượng lá bài có giá trị nhỏ hơn xuất hiện sau nó trong bộ bài. Điều này tạo ra một dấu vân tay toán học cho bất kỳ cách sắp xếp bài nào có thể được chuyển đổi qua lại giữa thứ tự bộ bài vật lý và văn bản số.
Mã Lehmer : Một phương pháp toán học để chuyển đổi bất kỳ cách sắp xếp đối tượng nào thành một biểu diễn số duy nhất
Triển khai thực tế và mã hóa ký tự
Để làm cho hệ thống hoạt động với văn bản thực, lập trình viên đã tạo ra một bảng chữ cái 32 ký tự tùy chỉnh bao gồm chữ cái, số và dấu câu cơ bản. Mỗi ký tự sử dụng chính xác 5 bit dữ liệu, cho phép 225 bit đầy đủ có sẵn từ một bộ bài lưu trữ chính xác 45 ký tự văn bản.
Bộ ký tự bao gồm tất cả chữ cái thường, cộng với các ký hiệu thiết yếu như dấu cách, dấu chấm, dấu phẩy và dấu gạch chéo. Điều này làm cho việc mã hóa thông điệp ngắn, địa chỉ trang web, hoặc thậm chí khóa mã hóa trông không khác gì một bộ bài được xáo trộn ngẫu nhiên trở nên khả thi.
Bộ Ký Tự Tùy Chỉnh
" .,-"/abcdefghijklmnopqrstuvwxyz
- Dấu cách, dấu chấm, dấu phẩy, dấu gạch ngang, dấu ngoặc kép, dấu gạch chéo
- Tất cả các chữ cái thường từ a-z
- Tổng cộng: 32 ký tự (2^5 = 32)
Cải tiến cộng đồng và sửa lỗi
Các thành viên cộng đồng công nghệ đã đề xuất một số cách để cải thiện hệ thống. Một số đề xuất sử dụng hướng của bài - liệu bài có úp ngược hay không - để thêm không gian lưu trữ bổ sung. Những người khác đề xuất sử dụng việc bài úp mặt hay ngửa mặt như các bit dữ liệu bổ sung.
Bạn có thể có được băng thông tốt hơn nhiều so với điều này bằng cách token hóa và sử dụng thứ gì đó như mã Huffman hoặc mã số học trên tần suất token.
Sửa lỗi cũng đã được thảo luận, nơi những sai lầm nhỏ trong thứ tự bài có thể được phát hiện và sửa chữa tự động. Điều này sẽ làm cho hệ thống đáng tin cậy hơn khi bài vô tình bị di chuyển hoặc trộn lẫn.
So sánh Dung lượng Lưu trữ
- Bộ bài tiêu chuẩn (52 lá): 225 bit / 45 ký tự
- Với hướng xoay thẻ bài: ~270 bit / 54 ký tự
- Với mặt úp/ngửa: ~322 bit / 64 ký tự
- Bộ bài Tarot (78 lá): Tiềm năng dung lượng cao hơn
Ứng dụng thực tế và hạn chế
Mặc dù phương pháp mã hóa bài này cung cấp một cách thú vị để ẩn thông tin, nó có những hạn chế thực tế. Dung lượng 45 ký tự hoạt động tốt cho mã ngắn, mật khẩu, hoặc tọa độ, nhưng thông điệp dài hơn sẽ cần nhiều bộ bài hoặc các cách tiếp cận khác.
Kỹ thuật này tham gia vào các phương pháp steganography sáng tạo khác, nơi thông tin bí mật ẩn giấu ngay trước mắt. Không giống như các tệp số có thể gây nghi ngờ, một bộ bài tây xuất hiện hoàn toàn bình thường, làm cho nó trở thành cách hiệu quả để vận chuyển thông tin nhạy cảm mà không bị phát hiện.
Lập trình viên đã làm cho hệ thống mã hóa có sẵn trực tuyến, cho phép bất kỳ ai thử nghiệm với việc ẩn thông điệp của riêng họ trong cách sắp xếp bài. Công cụ chuyển đổi văn bản thành thứ tự bài cụ thể và có thể giải mã các bộ bài được xáo trộn trở lại thành thông điệp có thể đọc được.
Tham khảo: hiding messages in playing cards