Mật thư chuồng heo là loại mật thư "nhìn là nhớ": thay vì chữ hay số, bản tin chỉ toàn những nét gãy góc, hình vuông, hình mũi tên, có hoặc không có dấu chấm. Mỗi nét là một mảnh của cái "chuồng" chứa chữ cái, và người giải phải dựng lại cái chuồng ấy để tìm chữ.

Vì chỉ cần thuộc hai hình đơn giản là dấu thăng (#) và chữ X, loại mật thư này rất hợp cho các em thiếu nhi, nhưng vẫn đủ đánh lừa người chưa biết.

Nguồn gốc ngắn

Tên tiếng Anh là Pigpen cipher (pigpen nghĩa là chuồng heo), vì các chữ cái nằm trong những ô giống như chuồng nuôi heo. Loại mật thư này còn được gọi là mật mã Tam Điểm (Freemason cipher), do hội Tam Điểm ở châu Âu dùng nó từ khoảng thế kỷ XVIII để ghi chép nội bộ. Ngày nay, nó xuất hiện khắp nơi: từ sách trinh thám thiếu nhi, trò chơi giải đố đến các buổi sinh hoạt trại.

Cách nhận biết

  • Bản tin gồm các hình góc vuông, hình chữ U nằm các hướng, hình vuông kín và hình chữ V các hướng.
  • Một số hình có dấu chấm ở giữa.
  • Không có chữ cái hay chữ số nào (trừ dấu ngăn từ).
  • Khoá gợi ý hay gặp: "Nhà của các chú heo", "Ụt ịt", "Hai cái bàn cờ ca rô và hai cái kéo", hoặc một hình # và hình X vẽ sẵn.

Cách kẻ lưới phổ biến nhất

Có rất nhiều cách xếp chữ vào chuồng. Bài này dùng cách xếp phổ biến nhất trên thế giới (cũng là cách trong phần lớn tài liệu nước ngoài): hai lưới # và hai lưới X, điền chữ theo thứ tự từ trái sang phải, từ trên xuống dưới.

Lưới # thứ nhất (không chấm): A–I

 A | B | C
---+---+---
 D | E | F
---+---+---
 G | H | I

Lưới # thứ hai (có chấm): J–R, xếp giống hệt nhưng mỗi ô có một dấu chấm.

 J• | K• | L•
----+----+----
 M• | N• | O•
----+----+----
 P• | Q• | R•

Lưới X thứ nhất (không chấm): S ở trên, T bên trái, U bên phải, V ở dưới.

Lưới X thứ hai (có chấm): W ở trên, X bên trái, Y bên phải, Z ở dưới.

     S                W•
  T  X  U          X• X  Y•
     V                Z•

Hình của từng chữ

Khi mã hoá, ta chỉ vẽ những nét bao quanh ô chứa chữ đó, bỏ chữ đi. Vì không có ảnh, bảng dưới đây mô tả bằng lời và bằng ký tự gần đúng.

Chữ Ký hiệu Mô tả hình
A ┘ Góc: nét bên phải và nét bên dưới
B ⊔ Chữ U: trái, phải, dưới, hở trên
C └ Góc: nét bên trái và nét bên dưới
D ⊐ Hở bên trái (giống dấu ])
E □ Hình vuông kín
F ⊏ Hở bên phải (giống dấu [)
G ┐ Góc: nét bên trên và nét bên phải
H ⊓ Chữ U úp: trên, trái, phải, hở dưới
I ┌ Góc: nét bên trên và nét bên trái
S ∨ Chữ V, mũi nhọn chỉ xuống
T > Mũi nhọn chỉ sang phải
U < Mũi nhọn chỉ sang trái
V ∧ Mũi nhọn chỉ lên

Chín chữ J–R có hình giống A–I nhưng thêm dấu chấm (J = ┘•, K = ⊔•, ..., R = ┌•). Bốn chữ W–Z có hình giống S–V cộng dấu chấm (W = ∨•, X = >•, Y = <•, Z = ∧•).

Mẹo nhớ: chữ ở góc trên trái (A) thì hình là góc dưới phải ┘, vì nét vẽ là phần "tường" bao quanh nó. Chữ càng ở góc nào thì hình càng "mở" về phía góc đó.

Ví dụ mã hoá và giải mã

Mã hoá

Mã hoá "CẮM TRẠI", viết không dấu CAM TRAI, dùng "//" ngăn từ:

  • C: góc trên phải lưới thứ nhất → └
  • A: góc trên trái lưới thứ nhất → ┘
  • M: ô giữa trái lưới thứ hai → ⊐ có chấm
  • T: bên trái lưới X thứ nhất → >
  • R: góc dưới phải lưới thứ hai → ┌ có chấm
  • A → ┘, I → ┌
└ ┘ ⊐• // > ┌• ┘ ┌

Giải mã

Nhận được ⊐ ┌ // > ┌ □ ┐•. Giải từng ký hiệu:

  1. ⊐ không chấm: ô hở bên trái, có tường trên, phải, dưới → ô giữa trái của lưới thứ nhất → D.
  2. ┌ không chấm: góc dưới phải lưới thứ nhất → I.
  3. không chấm: ô bên trái của lưới X thứ nhất → T.

  4. ┌ → I, □ → E.
  5. ┐ có chấm: góc dưới trái lưới thứ hai → P.

Kết quả: DI // TIEP → ĐI TIẾP.

Mật thư dấu thăng kiểu Việt Nam

Ở nhiều trại sinh hoạt trong nước, anh chị phụ trách hay dùng một biến thể gọn hơn: chỉ một lưới # duy nhất, mỗi ô chứa 3 chữ, và số chấm (1, 2 hoặc 3) cho biết đó là chữ thứ mấy trong ô. Chín ô × ba chữ = 27 chỗ, vừa đủ cho 26 chữ cái.

 ABC | DEF | GHI
-----+-----+-----
 JKL | MNO | PQR
-----+-----+-----
 STU | VWX | YZ

Hình vẽ của từng ô giống hệt chuồng heo (ô 1 là ┘, ô 5 là □, ô 9 là ┌...), chỉ khác ở số chấm:

  • ┘ một chấm = A, ┘ hai chấm = B, ┘ ba chấm = C.
  • □ một chấm = M, □ hai chấm = N, □ ba chấm = O.
  • ┐ một chấm = S, ┐ hai chấm = T, ┐ ba chấm = U.

Ví dụ "TRẠI" (TRAI):

Chữ Ô Hình Số chấm
T ô 7 (dưới trái) ┐ 2
R ô 6 (giữa phải) ⊏ 3
A ô 1 (trên trái) ┘ 1
I ô 3 (trên phải) └ 3
┐•• ⊏••• ┘• └•••

Lưu ý: cách chia chữ vào ô và cách đặt chấm (chấm ngang, chấm dọc, chấm tam giác) mỗi nơi mỗi khác. Đây là cách xếp đơn giản nhất; khi ra đề nên kèm khoá gợi ý như "Ba chú heo ở chung một chuồng".

Các biến thể sắp chữ

Chuồng heo không có một chuẩn duy nhất. Một số cách xếp khác bạn có thể gặp:

  • Xếp xen kẽ: điền A vào ô 1 lưới không chấm, B vào ô 1 lưới có chấm, C vào ô 2 lưới không chấm... (A–B, C–D thành từng cặp).
  • Lưới X đặt trước lưới #, hoặc thứ tự trên – phải – dưới – trái theo chiều kim đồng hồ.
  • Chấm thay bằng gạch: dùng một nét gạch nhỏ hoặc vòng tròn thay cho dấu chấm.
  • Chuồng heo có dấu tiếng Việt: dùng thêm một lưới riêng cho các chữ Ă, Â, Đ, Ê, Ô, Ơ, Ư, hoặc đơn giản là viết theo quy ước Telex (xem quy ước dấu tiếng Việt trong mật thư).

Vì vậy, người ra đề phải cho khoá hoặc vẽ sẵn sơ đồ chuồng. Nếu chỉ dùng cách xếp phổ biến trong bài này thì một khoá gợi ý ngắn là đủ; nếu dùng cách riêng thì cần đưa hẳn hình lưới.

Mẹo giải

  • Đếm số loại hình: nếu thấy cả hình góc, hình U và hình V, gần như chắc chắn là chuồng heo.
  • Tự kẻ ra giấy hai lưới # và hai lưới X, điền chữ, rồi đặt từng ký hiệu vào "cho vừa chỗ". Đừng cố giải bằng trí nhớ khi mới học.
  • Chú ý phân biệt < và >: mũi nhọn chỉ sang phải (>) là T, chỉ sang trái (<) là U.
  • Nếu giải ra chữ vô nghĩa, thử đổi cách xếp: xen kẽ, lưới X trước, hoặc kiểu dấu thăng 1–2–3 chấm.
  • Hình vuông kín □ (E hoặc N) rất hay xuất hiện vì E, N là chữ thông dụng trong tiếng Việt viết Telex.

Chuồng heo cũng rất hợp để lồng vào mật thư kết hợp, ví dụ giải chuồng heo ra một từ khoá cho mật thư Vigenère.

Thử sức

Bài 1 – Chuồng heo kiểu phổ biến (hai lưới #, hai lưới X):

>• < ⊏• □• ┐ // ∨ < ⊏• ┌

Bài 2 – Chuồng heo kiểu phổ biến:

└• □ □• // ⊐ ⊏• ┌

Bài 3 – Mật thư dấu thăng kiểu Việt Nam (1–2–3 chấm):

⊓• ┐••• └•••

Đáp án

  • Bài 1: XUONG SUOI → "Xuống suối".
  • Bài 2: LEN DOI → "Lên đồi".
  • Bài 3: ô 8 một chấm = V, ô 7 ba chấm = U, ô 3 ba chấm = I → VUI → "Vui".