Mật mã Scytale
Mã hóa và giải mã Scytale, mật mã trên thanh gậy của người Sparta cổ đại và là thiết bị mật mã quân sự lâu đời nhất. Quấn thông điệp của bạn quanh một thanh gậy có đường kính tùy chọn, viết dọc theo nó, rồi đọc ra theo một thứ tự đã bị xáo trộn. Điều chỉnh đường kính và theo dõi lưới hình thành trực tiếp. Mọi thứ đều chạy trong trình duyệt của bạn.
Đường kính
Đường kính chính là khóa của mật mã: nó quyết định bao nhiêu chữ cái cuộn quanh thanh gậy trong một vòng, tức là số cột trong lưới. Người gửi và người nhận phải dùng cùng một đường kính.
Nhập văn bản ở trên để xem kết quả scytale tại đây.
Sơ đồ lưới scytale
Ví dụ với thông điệp IAMHURTVERYBADLYHELP được quấn quanh một thanh gậy bốn chữ cái. Gõ văn bản của riêng bạn ở trên để thấy nó trên lưới.
Cách sử dụng Mật mã Scytale
- 1
Chọn mã hóa hoặc giải mã
Chọn Mã hóa để biến bản rõ thành bản mã scytale, hoặc Giải mã để khôi phục thông điệp gốc từ bản mã.
- 2
Đặt đường kính thanh gậy
Chọn đường kính, thứ quyết định bao nhiêu chữ cái cuộn quanh thanh gậy và do đó lưới dùng bao nhiêu cột. Để giải mã, hãy đặt cùng đường kính đã được dùng để mã hóa.
- 3
Gõ hoặc dán văn bản của bạn
Nhập thông điệp của bạn. Mật mã chạy tự động ngay khi bạn gõ, và sơ đồ lưới bên dưới cập nhật để cho thấy chính xác văn bản của bạn cuộn quanh thanh gậy như thế nào.
- 4
Đọc, xem và chia sẻ kết quả
Văn bản đã chuyển đổi của bạn xuất hiện ngay lập tức. Mở sơ đồ lưới để xem các cột được đọc ra sao, rồi sao chép kết quả, tải nó xuống dưới dạng tệp văn bản, hoặc chia sẻ một liên kết mở lại công cụ với đúng cài đặt và văn bản của bạn.
Tìm hiểu về mật mã Scytale
Mật mã Scytale là gì?
Scytale, đôi khi được viết là skytale, là một mật mã hoán vị cổ điển và là thiết bị mật mã lâu đời nhất mà lịch sử biết đến. Người Hy Lạp cổ đại, và đặc biệt là người Sparta, đã dùng nó như một mật mã quân sự từ khoảng thế kỷ thứ bảy trước Công nguyên. Một scytale chỉ đơn giản là một thanh gậy gỗ có độ dày cố định: một dải giấy da hoặc da được quấn theo hình xoắn ốc quanh nó, thông điệp được viết dọc theo chiều dài thanh gậy, và khi tháo dải ra thì các chữ cái nằm theo một thứ tự lộn xộn, chỉ có ý nghĩa trở lại khi được quấn quanh một thanh gậy có cùng đường kính.
Giống như mọi mật mã hoán vị, Scytale không bao giờ thay thế chữ cái này bằng chữ cái khác theo cách mật mã thay thế làm. Nó giữ nguyên từng ký tự y như ban đầu và chỉ thay đổi thứ tự, nên bản mã luôn là một đảo chữ của thông điệp gốc. Bí mật duy nhất mà người gửi và người nhận cùng chia sẻ là độ dày của thanh gậy.
Mật mã Scytale hoạt động ra sao
Cách dễ nhất để tái hiện thanh gậy trên giấy là dùng một lưới. Đường kính của thanh gậy quyết định bao nhiêu chữ cái vừa quấn quanh nó trong một vòng trọn vẹn; con số đó trở thành số cột. Bạn viết thông điệp vào lưới theo từng hàng một, từ trái sang phải, lấp đầy mỗi hàng trước khi chuyển sang hàng tiếp theo, đúng như cách bạn viết dọc theo thanh gậy khi dải giấy cuộn xoắn quanh nó. Khi toàn bộ thông điệp đã được đặt vào, bạn đọc lưới trở lại bằng cách đi thẳng xuống cột thứ nhất, rồi cột thứ hai, và cứ thế, ghép các cột lại với nhau để tạo thành bản mã.
Mọi ký tự đều tham gia, nên dấu cách và dấu câu được di chuyển vòng quanh giống như các chữ cái chứ không bị giữ nguyên tại chỗ. Số lượng ký tự không bao giờ thay đổi, đó là dấu hiệu đặc trưng của một mật mã hoán vị. Việc đọc xuống theo các cột của một lưới vốn được lấp đầy theo các hàng chính là điều tạo ra thứ tự bị xáo trộn — và đó cũng chính xác là điều mà việc tháo dải giấy thực hiện.
Ví dụ thực hành
Lấy thông điệp IAMHURTVERYBADLYHELP với một thanh gậy chứa được bốn chữ cái quanh nó, nên lưới có bốn cột. Viết hai mươi chữ cái theo từng hàng sẽ lấp đầy năm hàng: IAMH, rồi URTV, rồi ERYB, rồi ADLY, rồi HELP. Đó là thông điệp được viết dọc theo thanh gậy.
Bây giờ đọc thẳng xuống lần lượt từng cột. Cột thứ nhất ghép thành IUEAH, cột thứ hai ARRDE, cột thứ ba MTYLL, và cột thứ tư HVBYP. Ghép lại với nhau, bản mã là IUEAHARRDEMTYLLHVBYP. Mọi chữ cái của bản gốc vẫn còn nguyên, chỉ là bị xáo thành một thứ tự mới, và kết quả có độ dài chính xác bằng đầu vào.
Cách giải mã một mật mã Scytale
Để giải mã, bạn cần một thanh gậy có cùng đường kính — cùng số cột. Từ độ dài của bản mã và số cột đó, bạn biết được lưới cao bao nhiêu và chính xác bao nhiêu chữ cái thuộc về mỗi cột, kể cả những cột hơi ngắn hơn khi thông điệp không lấp đầy một hình chữ nhật hoàn hảo. Bạn cắt bản mã thành các cột đó, đặt chúng cạnh nhau, và đọc lưới trở lại theo các hàng để khôi phục thông điệp gốc.
Công cụ này làm tất cả những việc đó cho bạn. Chuyển sang Giải mã, đặt cùng đường kính đã được dùng để mã hóa, và dán bản mã vào. Nếu bạn không biết đường kính, bạn chỉ cần thử lần lượt từng giá trị — chỉ có một số ít giá trị hợp lý mà thôi — cho đến khi kết quả đọc ra thành ngôn ngữ rõ ràng.
Đường kính và khóa
Đường kính của thanh gậy chính là toàn bộ khóa của mật mã Scytale. Một thanh gậy dày hơn chứa được nhiều chữ cái hơn quanh chu vi của nó, cho nhiều cột hơn và một cách xáo trộn khác; một thanh gậy mỏng hơn chứa được ít hơn. Một đường kính chỉ vừa một chữ cái quanh nó thì chẳng làm gì cả, vì một cột đơn lẻ không có gì để sắp xếp lại, nên phạm vi hữu ích bắt đầu từ hai.
Có một sự đối ngẫu gọn gàng ẩn trong mật mã: mã hóa một thông điệp có độ dài cho trước với một đường kính giống hệt như giải mã nó với số hàng tương ứng, bởi vì đọc một lưới xuống theo các cột và đọc nó ngang theo các hàng là những phép toán nghịch đảo của nhau. Đây là lý do vì sao người gửi và người nhận chỉ cần thống nhất một con số duy nhất — độ dày của thanh gậy mà cả hai cùng cầm.
Cách phá mật mã Scytale
Scytale có một không gian khóa rất nhỏ. Bí mật duy nhất là một con số nhỏ duy nhất, nên kẻ tấn công chỉ cần thử mọi đường kính hợp lý — hai, rồi ba, rồi bốn, và cứ thế — giải mã với từng giá trị và đọc lấy kết quả nào có nghĩa. Việc tìm kiếm vét cạn này chỉ mất chốc lát ngay cả khi làm bằng tay và tức thời bằng máy tính. Vì độ dài thông điệp giới hạn số cột đáng để thử, khối lượng công việc còn nhỏ hơn cả vẻ ban đầu của nó.
Vì mật mã là một phép hoán vị thuần túy, bản thân các chữ cái không bị động đến, nên tần suất chữ cái của bản mã khớp chính xác với ngôn ngữ thông thường. Bản thân điều đó là một manh mối: văn bản có thống kê chữ cái hoàn toàn bình thường nhưng đọc ra vô nghĩa là một dấu hiệu mạnh cho thấy một mật mã hoán vị như Scytale đang được dùng, và khi đó nhà phân tích có thể tập trung vào việc khôi phục thứ tự thay vì các chữ cái.
Mật mã Scytale có an toàn không?
Không. Với chỉ một con số nhỏ duy nhất làm khóa và một cách phá vét cạn nhanh chóng, Scytale không cung cấp sự bảo vệ thực sự nào cho thông tin cần được giữ bí mật. Vào thời cổ đại, giá trị của nó nằm ở tốc độ và sự tiện lợi ngoài chiến trường hơn là ở sức mạnh, và một số sử gia cho rằng lợi ích chính của nó là xác thực và xử lý nhanh chóng cũng nhiều như tính bí mật.
Ngày nay, Scytale được quý trọng vì mục đích giảng dạy và giải trí. Đó là một cách lý tưởng để giới thiệu ý tưởng về phép hoán vị, một cơ chế thú vị cho các câu đố, phòng trốn thoát và thử thách cướp cờ, và một mảnh hữu hình của lịch sử mật mã học. Để có sự an toàn thực sự, người ta dùng các thuật toán hiện đại như AES thay vào đó.
Câu hỏi thường gặp
Mật mã scytale là gì?
Mật mã scytale hoạt động như thế nào?
Bạn có thể cho một ví dụ về scytale không?
Làm thế nào để giải mã một mật mã scytale?
Đường kính trong mật mã scytale là gì?
Tại sao scytale được gọi là một mật mã hoán vị?
Mật mã scytale có thay đổi dấu cách và dấu câu không?
Sự khác biệt giữa mật mã scytale và mật mã rào chắn (rail fence) là gì?
Làm thế nào để phá một mật mã scytale?
Mật mã scytale có an toàn không?
Văn bản của tôi có được tải lên máy chủ không?
Làm thế nào để viết một mật mã scytale bằng mã lập trình?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này