Mã Rail Fence
Đây là mã hoán vị đơn giản. Viết các chữ của bản rõ theo đường chéo trên một số dòng. Sau đó đọc các chữ theo theo từng dòng sẽ nhận được bản mã. Số dòng chính là khoá của mã. Vì khi biết số dòng ta sẽ tính được số chữ trên mỗi dòng và lại viết bản mã theo các dòng sau đó lấy bản rõ bằng cách viết lại theo các cột.
Viết bản tin “meet me after the toga party” lần lượt trên hai dòng như sau
m e m a t r h t g p r y
e t e f e t e o a a t
Sau đó ghép các chữ ở dòng thứ nhất với các chữ ở dòng thứ hai cho bản mã:
MEMATRHTGPRYETEFETEOAAT
Mã dịch chuyển dòng
Mã có sơ đồ phức tạp hơn. Viết các chữ của bản tin theo các dòng với số cột xác định. Sau đó thay đổi thứ tự các cột theo một dãy số khoá cho truớc, rồi đọc lại chúng theo các cột để nhận được bản mã. Quá trình giải mã được thực hiện ngược lại.
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
d u n t I l t
w o a m x y z
Mã tích
Mã dùng hoán vị hoặc dịch chuyển không an toàn vì các đặc trưng tần xuất của ngôn ngữ không thay đổi. Có thể sử dụng một số mã liên tiếp nhau sẽ làm cho mã khó hơn. Mã cổ điển chỉ sử dụng một trong hai phương pháp thay thế hoặc hoán vị. Người ta nghĩ đến việc kết hợp cả hai phương pháp này trong cùng một mã và có thể sử dụng đan xen hoặc lặp nhiều vòng. Đôi khi ta tưởng lặp nhiều lần cùng một loại mã sẽ tạo nên mã phức tạp hơn, nhưng trên thực tế trong một số trường hợp về bản chất chúng cũng tương đương với một lần mã cùng loại nào đó như: tích của hai phép thế sẽ là một phép thế; tích của hai phép hoán vị sẽ là một phép hoán vị. Nhưng nếu hai loại mã đó khác nhau thì sẽ tạo nên mã mới phức tạp hơn, chính vì vậy phép thế được nối tiếp bằng phép dịch chuyển sẽ tạo nên mã mới khó hơn rất nhiều. Đây chính là chiếc cầu nối từ mã cổ điển sang mã hiện đại.
Điểm yếu của mã cổ điển:
- Phương pháp mã hoá cổ điển có thể dễ dàng bị giải mã bằng cách đoán chữ dựa trên phương pháp thống kê tần xuất xuất hiện các chữ cái trên mã và so sánh với bảng thống kê quan sát của bản rõ.
- Để dùng được mã hoá cổ điển thì bên mã hoá và bên giải mã phải thống nhất với nhau về cơ chế mã hoá cũng như giải mã. Nếu không thì hai bên sẽ không thể làm việc được với nhau.
Một số vấn đề khác.
Máy quay
Trước khi có mã hiện đại, máy quay là mã tích thông dụng nhất. Chúng được sử dụng rộng rãi trong chiến tranh thế giới thứ hai: Đức, đồng minh và Nhật. Máy quay tạo nên mã thay thế rất đa dạng và phức tạp. Trong máy có sử dụng một số lõi hình trụ, mỗi lõi ứng với một phép thế, khi quay sẽ thay thế mỗi chữ bằng một chữ khác tương ứng. Với 3 hình trụ khác nhau, ta có 26 x 26 x 26 = 17576 bảng chữ.
Dấu tin
Một trong những kỹ thuật khác để đảm bảo tính bảo mật của thông tin được gửi là dấu tin. Đây là một sự lựa chọn dùng kết hợp hoặc đồng thời với mã. Dấu tin là dấu sự tồn tại của bản tin cần bảo mật trong một thông tin khác như: trong bản tin dài chỉ dùng một tập con các chữ/từ được đánh dấu bằng cách nào đó; sử dụng mực không nhìn thấy; dấu tin trong các file âm thanh hoặc hình ảnh. Các kỹ thuật này gần đây cũng được quan tâm nghiên cứu. Tuy nhiên nó có nhược điểm là chỉ dấu được lượng thông tin nhỏ các bít.
Bài tập
Cho biến đoạn mã sau dùng mã Cesar:
"GCUA VQ DTGCM" .Suy luận tìm bản rõ.
Sử dụng kỹ thuật thám mã bảng chữ đơn, lập bảng tần suất các chữ, bộ chữ đôi, bộ chữ ba của đọan mã sau:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIVUEPHZH MDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOUDTM OHMQ
Lập luận và cho biết ánh xạ của bảng chữ đơn và đưa ra bản rõ phù hợp
Nêu thuật toán dùng bảng Saint Cyr để mã hóa và giải mã Vigenere khi biết từ khóa.
Áp dụng thuật toán đó mã hóa bản rõ sau: “Network Security is very important for software development” với từ khóa là “COMPUTER SCIENCE”
Tại sao có thể nói “Có thể nói mã bộ đệm một lần là an toàn tuyệt đối, vì với bản rõ bất kỳ và bản mã bất kỳ, luôn tồn tại một khoá để ánh xạ bản rõ đó sang bản mã đã cho”. Giải thích nhận định sau “Về mặt lý thuyết, xác suất để mọi mẩu tin (có cùng độ dài với bản rõ) trên bảng chữ mã là mã của một bản rõ cho trước là như nhau”.
Tìm bản mã của bản rõ “We are studying cryptography this year” sử dụng mã Playfair với từ khóa “information technology”.
Chứng tỏ rằng, phép dịch chuyển không khắc phục được tính dư thừa của ngôn ngữ tự nhiên.
Chứng minh rằng tích của hai phép thế đơn là một phép thế đơn và tích của hai phép dịch chuyển là một phép dịch chuyển. Có thể nói gì về tích của một phép thế đơn và một phép dịch chuyển.
Có bao nhiêu khóa Playfair khác nhau.
Mã hóa bản rõ “Chung toi se la nhung ky su cong nghe thong tin gioi trong mot vai nam nua” sử dụng từ khóa 631425.
Giả sử dùng mã dịch chuyển dòng với 8 cột. Hỏi có bao nhiêu khóa khác nhau. Nêu thuật toán giải mã với từ khóa cho trước.
Chứng minh rằng: tích của hai phép thế sẽ là một phép thế; tích của hai phép hoán vị sẽ là một phép hoán vị.