Giáo trình Bảo mật hệ thống thông tin - Chương 2: Mã đối xứng (Cổ điển)
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Bảo mật hệ thống thông tin - Chương 2: Mã đối xứng (Cổ điển)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_bao_mat_he_thong_thong_tin_chuong_2_ma_doi_xung_c.pdf
Nội dung text: Giáo trình Bảo mật hệ thống thông tin - Chương 2: Mã đối xứng (Cổ điển)
- CHCHƯƠƯƠNGNG IIII Mã đối xứng (cổ điển) NN BMHTTT 1
- II.1II.1 MMởở đđầầuu Mã hoá cổ điển là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá. Thuật toán đơn giản và dễ hiểu. Những phương pháp mã hoá này là cở sở cho việc nghiên cứu và phát triển thuật toán mã hoá đối xứng được sử dụng ngày nay. Trong mã hoá cổ điển có hai phương pháp nổi bật đólà: Mã hoá thay thế Mã hoá hoán vị Mọi mã cổ điển đều là mã đối xứng NN BMHTTT 2
- II.1II.1 MMãã đđốốii xxứứngng II.1.1 Các khái niệm cơ bản Mật mã đối xứng sử dụng cùng một khóa cho việc mã hóa và giải mã. Có thể nói mã đối xứng là mã một khoá hay mã khóa bí mật hay mã khoá thỏa thuận Giả sử X là văn bản cần mã hóa và Y là dạng văn bản đã được thay đổi qua việc mã hóa Y = EK(X) X = DK(Y) Khoá chung K E là hàm biến đổi bản rõ thành bản mã D là hàm biến đổi bản mã trở về bản rõ. NN BMHTTT 3
- CCáácc khkhááii niniệệmm ccơơ bbảảnn Thông tin về khóa được chia sẻ giữa người gửi và người nhận. Mã đối xứng là kiểu duy nhất trước khi phát minh ra khoá mã công khai (còn được gọi là mã không đối xứng) vào những năm 1970. Hiện nay các mã đối xứng và công khai tiếp tục phát triển và hoàn thiện. Mã công khai ra đời hỗ trợ mã đối xứng chứ không thay thế nó, mã đối xứng đến nay vẫn được sử dụng rộng rãi. NN BMHTTT 4
- ThuThuậậtt ngngữữ vvềề mãmã hhóóaa 1. Bản rõ X được gọi là là bản tin gốc. Bản rõ có thể được chia nhỏ có kích thước phù hợp. 2. Bản mã Y là bản tin gốc đã được mã hoá. Ở đây ta thường xét phương pháp mã hóa mà không làm thay đổi kích thước của bản rõ, tức là chúng có cùng độ dài. 3. Mã là thuật toán E chuyển bản rõ thành bản mã. Thông thường chúng ta cần thuật toán mã hóa mạnh, cho dù kẻ thù biết được thuật toán, nhưng không biết thông tin về khóa cũng không tìm được bản rõ. NN BMHTTT 5
- ThuThuậậtt ngngữữ vvềề mãmã hhóóaa 4. Khoá K là thông tin tham số dùng để mã hoá, chỉ có người gửi và người nhận biết. Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo mật. 5. Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường bao gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm theo. 6. Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã hóa. NN BMHTTT 6
- ThuThuậậtt ngngữữ vvềề mãmã hhóóaa 7. Mật mã học là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về các nguyên lý và phương pháp mã hoá. Hiện nay người ta đưa ra nhiều chuẩn an toàn cho các lĩnh vực khác nhau của công nghệ thông tin. 8. Thám mã nghiên cứu các nguyên lý và phương pháp giải mã thường là không biết khóa. Thông thường khi đưa các mã mạnh ra làm chuẩn phổ biến công khai các mã đó được các kẻ thám mã cũng như những người phát triển mã tìm hiểu nghiên cứu. 9. Lý thuyết mã bao gồm cả mật mã và thám mã để đánh giá một mã mạnh hay không. NN BMHTTT 7
- MôMô hhììnhnh mãmã đđốốii xxứứngng NN BMHTTT 8
- II.1.2II.1.2 CCáácc yêuyêu ccầầuu Một mã đối xứng có các đặc trưng là cách xử lý thông tin của thuật toán mã hóa, giải mã, tác động của khóa vào bản mã, độ dài của khóa. Mối liên hệ giữa bản rõ, khóa và bản mã thông qua thuật toán càng phức tạp càng tốt. NN BMHTTT 9
- CCáácc yêuyêu ccầầuu Cụ thể hai yêu cầu để sử dụng an toàn mã khoá đối xứng là Thuật toán mã hoá mạnh: Có cơ sở toán học vững chắc đảm bảo rằng dù công khai thuật toán, nhưng việc thám mã là rất khó khăn và phức tạp nếu không biết khóa. Khoá được giữ bí mật: Chỉ có người gửi và người nhận biết. Có kênh an toàn để phân phối khoá giữa các người sử dụng chia sẻ khóa. Mối liên hệ giữa khóa và bản mã là không nhận biết được. NN BMHTTT 10
- II.1.3II.1.3 MMậậtt mãmã Hệ mật mã được đặc trưng bởi các yếu tố sau Kiểu của thao tác mã hoá được sử dụng trên bản rõ: Phép thế: thay thế các ký tự trên bản rõ bằng các ký tự khác Hoán vị: thay đổi vị trí các ký tự trong bản rõ, tức là thực hiện hoán vị các ký tự của bản rõ. Tích: của chúng, tức là kết hợp cả hai kiểu thay thế và hoán vị các ký tự của bản rõ. NN BMHTTT 11
- MMậậtt mãmã (tt)(tt) Số khoá được sử dụng khi mã hóa: Một khoá duy nhất: khoá riêng Hai khoá: khoá công khai. Cách mà bản rõ được xử lý, theo: Khối: dữ liệu được chia thành từng khối có kích thước xác định và áp dụng thuật toán mã hóa với tham số khóa cho từng khối. Dòng: từng phần tửở đầu vào được xử lý liên tục tạo phần tử đầu ra tương ứng. NN BMHTTT 12
- II.1.4II.1.4 ThTháámm mãmã Có hai cách tiếp cận tấn công mã đối xứng. Tấn công dùng thuật toán: dựa trên thuật toán và một số đặc trưng chung về bản rõ hoặc một số mẫu bản rõ/bản mã. Kiểu tấn công này nhằm khai phá các đặc trưng của thuật toán để tìm bản rõ cụ thể hoặc tìm khóa. Tấn công duyệt toàn bộ: kẻ tấn công tìm cách thử mọi khóa có thể trên bản mã cho đến khi nhận được bản rõ. Trung bình cần phải thử một nửa số khóa. NN BMHTTT 13
- CCáácc kikiểểuu ttấấnn côngcông ththáámm mãmã Biết thuật toán và bản mã, dùng phương pháp thống kê, xác định bản rõ. Biết thuật toán, biết được bản mã/bản rõ tấn công tìm khóa. Chọn bản rõ và nhận được bản mã, biết thuật toán tấn công tìm khóa. Chọn bản mã và có được bản rõ tương ứng, biết thuật toán tấn công tìm khóa NN BMHTTT 14
- II.1.5 Tìm duyệt tổng thể (Brute-Force) Về mặt lý thuyết phương pháp duyệt tổng thể là luôn thực hiện được, do có thể tiến hành thử từng khoá, mà số khoá là hữu hạn. Phần lớn công sức của các tấn công đều tỷ lệ thuận với kích thước khoá. Khóa càng dài thời gian tìm kiếm càng lâu và thường tăng theo hàm mũ. Ta có thể giả thiết là kẻ thám mã có thể dựa vào đặc trưng về ngữ cảnh để nhận biết được bản rõ. NN BMHTTT 15
- ThThờờii giangian đđòiòi hhỏỏii NN BMHTTT 16
- II.1.6II.1.6 ĐĐộộ anan totoàànn An toàn không điều kiện: ở đây không quan trọng máy tính mạnh như thế nào, có thể thực hiện được bao nhiêu phép toán trong một giây, bản mã không thể bị bẻ, vì bản mã không cung cấp đủ thông tin để xác định duy nhất bản rõ. Việc dùng bộ đệm ngẫu nhiên một lần để mã dòng cho dữ liệu mà ta sẽ xét cuối bài này được coi là an toàn không điều kiện. Ngoài ra chưa có thuật toán mã hóa nào được coi là an toàn không điều kiện. NN BMHTTT 17
- ĐĐộộ anan totoàànn (tt)(tt) An toàn tính toán: với nguồn lực máy tính giới hạn và thời gian có hạn (chẳng hạn thời gian tính toán không quá tuổi của vũ trụ) mã hoá coi như không thể bị bẻ. Trong trường hợp này coi như mã hóa an toàn về mặt tính toán. Nói chung từ nay về sau, một thuật toán mã hóa an toàn tính toán được coi là an toàn. NN BMHTTT 18
- II.2II.2 CCáácc mãmã ththếế ccổổ đđiiểểnn thaythay ththếế Mã thay thế là phương pháp mà từng kí tự (nhóm kí tự) trong bản rõ được thay thế bằng một kí tự (một nhóm kí tự) khác để tạo ra bản mã. Bên nhận chỉ cần thay thế ngược lại trên bản mã để có được bản rõ ban đầu. Xét các mã cổ điển sử dụng phép thay thế các chữ của bản rõ bằng các chữ khác của bảng chữ để tạo thành bản mã. Ở đây các chữ của bản rõ được thay bằng các chữ hoặc các số hoặc các ký tự khác. Hoặc nếu xem bản rõ như môt dãy bít, thì phép thế thay các mẫu bít bản rõ bằng các mẫu bít bản mã. NN BMHTTT 19
- II.2.1II.2.1 MãMã CeasarCeasar Đây là mã thế được biết sớm nhất, được sáng tạo bởi Julius Ceasar. Lần đầu tiên được sử dụng trong quân sự. Việc mã hoá được thực hiện đơn giản là thay mỗi chữ trong bản rõ bằng chữ thứ ba tiếp theo trong bảng chữ cái. Ví dụ: Meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB c = E(p) = (p + k) mod (26) p = D(c) = (c – k) mod (26) Thám mã Ceasar: Chỉ có 26 khoá GCUA VQ DTGCM ? NN BMHTTT 20
- II.2.2II.2.2 CCáácc mãmã bbảảngng chchữữ đơđơnn Trong một mã mỗi chữ của bản rõ được ánh xạ đến một chữ khác nhau của bản mã Như vậy độ dài khoá ở đây là 26 và số khoá có thể có là 26!. Plain: abcdefghijklmnopqrstuvwxyz Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN Plaintext: ifwewishtoreplaceletters Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA NN BMHTTT 21
- ThTháámm mãmã bbảảngng chchữữ đơđơnn Dựa vào các đặc trưng về tần suất xuất hiện của các chữ Trong tiếng Anh chữ E được sử dụng nhiều nhất; sau đó đến các chữ T, R, N, I, O, A, S. Một số chữ rất ít dùng như: Z, J, K, Q, X; các bộ chữ thường dùng "th lrd s m shphrd shll nt wnt". Điều quan trọng là mã thế trên bảng chữ đơn không làm thay đổi tần suất tương đối của các chữ, có nghĩa là ta vẫn có bảng tần suất trên nhưng đối với bảng chữ mã tương ứng. Điều đó được phát hiện bởi các nhà khoa học Ai cập từ thế kỷ thứ 9. NN BMHTTT 22
- BBảảngng ttầầnn susuấấtt chchữữ ccááii titiếếngng AnhAnh NN BMHTTT 23
- ThTháámm mãmã bbảảngng chchữữ đơđơnn Thám mã trên bảng chữ đơn: Tính toán tần suất của các chữ trong bản mã So sánh với các giá trị đã biết Tìm kiếm các chữ đơn hay dùng (A,I,E ), bộ đôi (NO) và bộ ba (RST); và các bộ ít dùng J,K, X,Z. Trên bảng chữ đơn cần xác định các chữ dùng các bảng bộ đôi và bộ ba trợ giúp NN BMHTTT 24
- VVíí ddụụ UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPE SXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAP PDTSVPQUZWYMXUZUHSXEPYEP OPDZSZUFPOUDTMOHMQ Tính tần suất các chữ Đoán P và Z là e và t. Khi đó ZW là th và ZWP là the. Suy luận tiếp tục ta có bản rõ: it was disclosed yesterday that several informal but direct contacts have been made with political representatives in moscow NN BMHTTT 25
- II.2.3II.2.3 MãMã PlayfairPlayfair Sáng tạo bởi Charles Wheastone vào năm 1854 và mang tên người bạn là Baron Playfair Ma trận khoá Playfair: Cho trước một từ làm khoá, với điều kiện trong từ khoá đókhông cóchữ cái nào bị lặp. Ta lập ma trận Playfair là ma trận cỡ 5 x 5 dựa trên từ khoá đã cho và gồm các chữ trên bảng chữ cái, được sắp xếp theo thứ tự như sau: Trước hết viết các chữ của từ khoá vào các hàng của ma trận bắt từ hàng thứ nhất. Nếu ma trận còn trống, viết các chữ khác trên bảng chữ cái chưa được sử dụng vào các ô còn lại. Có thể viết theo một trình tự qui ước trước, chẳng hạn từ đầu bảng chữ cái cho đến cuối. NN BMHTTT 26
- MãMã PlayfairPlayfair (tt)(tt) Vì có 26 chữ cái tiếng Anh, nên thiếu một ô. Thông thường ta dồn hai chữ nào đóvào một ô chung, chẳng hạn I và J. Giả sử sử dụng từ khoá MORNACHY. Lập ma trận khoá Playfair tương ứng như sau: MONAR CHYBD EFGI,JK LPQST UVWXZ NN BMHTTT 27
- MãMã hohoáá vvàà gigiảảii mãmã Chia bản rõ thành từng cặp chữ. Nếu một cặp nào đócóhai chữ như nhau, thì ta chèn thêm một chữ lọc chẳng hạn X. Ví dụ, trước khi mã “balloon” biến đổi thành “ba lxloxon”. Nếu cả hai chữ trong cặp đều rơi vào cùng một hàng, thì mã mỗi chữ bằng chữởphía bên phải nó trong cùng hàng của ma trận khóa, chẳng hạn “ar” biến đổi thành “rm” NN BMHTTT 28
- MaMa trtrậậnn MãMã PlayfairPlayfair MONAR CHYBD EFGI,JK LPQST UVWXZ NN BMHTTT 29
- MãMã hohoáá vvàà gigiảảii mãmã Nếu cả hai chữ trong cặp đều rơi vào cùng một cột, thì mã mỗi chữ bằng chữởphía bên dưới nó trong cùng cột của ma trận khóa, chẳng hạn “mu” biến đổi thành “cm” Trong các trường hợp khác, mỗi chữ trong cặp được mã bởi chữ cùng hàng với nó và cùng cột với chữ cùng cặp với nó trong ma trận khóa. Chẳng hạn, “hs” mã thành “bp”, và “ea” mã thành “im” hoặc “jm” (tùy ý) NN BMHTTT 30
- AnAn totoàànn ccủủaa mãmã PlayfairPlayfair An toàn được nâng cao so hơn với bảng đơn, vì ta có tổng cộng 26 x 26 = 676 cặp. Mỗi chữ có thể được mã bằng 7 chữ khác nhau, nên tần suất các chữ trên bản mã khác tần suất của các chữ cái trên văn bản tiếng Anh nói chung. Muốn sử dụng thống kê tần suất, cần phải có bảng tần suất của 676 cặp để thám mã (so với 26 của mã bảng đơn). Như vậy phải xem xét nhiều trường hợp hơn và tương ứng sẽ có thể có nhiều bản mã hơn cần lựa chọn. Do đókhóthám mã hơn mã trên bảng chữ đơn. Mã Playfair được sử dụng rộng rãi nhiều năm trong giới quân sự Mỹ và Anh trong chiến tranh thế giới thứ 1. Nó có thể bị bẻ khoá nếu cho trước vài trăm chữ, vì bản mã vẫn còn chứa nhiều cấu trúc của bản rõ. NN BMHTTT 31
- II.2.4II.2.4 CCáácc mãmã ththếế đđaa bbảảngng Một hướng khác làm tăng độ an toàn cho mã trên bảng chữ là sử dụng nhiều bảng chữ để mã. Ta sẽ gọi chúng là các mã thế đa bảng. Mỗi chữ có thể được mã bằng bất kỳ chữ nào trong bản mã tùy thuộc vào ngữ cảnh khi mã hoá. Làm như vậy để trải bằng tần suất các chữ xuất hiện trong bản mã. Do đó làm mất bớt cấu trúc của bản rõ được thể hiện trên bản mã và làm cho thám mã đa bảng khó hơn. NN BMHTTT 32
- CCáácc mãmã đđaa bbảảngng Ta sử dụng từ khoá để chỉ rõ chọn bảng nào được dùng cho từng chữ trong bản tin. Sử dụng lần lượt các bảng theo từ khóa đóvà lặp lại từ đầu sau khi kết thúc từ khoá. Độ dài khoá là chu kỳ lặp của các bảng chữ. Độ dài càng lớn và nhiều chữ khác nhau được sử dụng trong từ khoá thì càng khó thám mã. NN BMHTTT 33
- MãMã VigenereVigenere Mã thế đa bảng đơn giản nhất là mã Vigenere. Thực chất quá trình mã hoá Vigenere là việc tiến hành đồng thời dùng nhiều mã Ceasar cùng một lúc trên bản rõ với nhiều khoá khác nhau. Giả sử khoá là một chữ có độ dài d được viết dạng K = K1K2 Kd, trong đóKi nhận giá trị nguyên từ 0 đến 25 Tần suất các chữ trong bản mã dãn tương đối đều. NN BMHTTT 34
- CCáácc bbưướớcc mãmã hhóóaa Viết bản rõ ra Viết từ khoá lặp nhiều lần phía trên tương ứng của nó Sử dụng mỗi chữ của từ khoá như khoá của mã Ceasar Mã chữ tương ứng của bản rõ với bước nhảy tương ứng. Chẳng hạn sử dụng từ khoá deceptive key: deceptivedeceptivedeceptive plaintext: wearediscoveredsaveyourself NN BMHTTT 35
- VVíí ddụụ Chẳng hạn sử dụng từ khoá deceptive key: deceptivedeceptivedeceptive plaintext: wearediscoveredsaveyourself Để mã chữ w đầu tiên ta tìm chữ đầu của khóa là d, như vậy w sẽ được mã trên bảng chữ tịnh tiến 3 (tức là a tịnh tiến thành d). Do đóchữ đầu w được mã bởi chữ Z. Chữ thứ hai trong từ khóa là e, có nghĩa là chữ thứ hai trong bản rõ sẽ được tịnh tiến 4 (từ a tịnh tiến đến e). Như vậy thứ hai trong bản rõ e sẽ được mã bởi chữ i. Tương tự như vậy cho đến hết bản rõ. NN BMHTTT 36
- TrangTrang SaintSaint –– CyrCyr NN BMHTTT 37
- AnAn totoàànn ccủủaa mãmã VigenereVigenere Như vậy có chữ mã khác nhau cho cùng một chữ của bản rõ. Suy ra tần suất của các chữ bị là phẳng, nghĩa là tần suất xuất hiện các chữ trên bản mã tương đối đều nhau. Tuy nhiên chưa mất hoàn toàn, do độ dài của khoá có hạn, nên có thể tạo nên chu kỳ vòng lặp. Kẻ thám mã bắt đầu từ tần suất của chữ để xem có phải đây là mã đơn bảng chữ hay không. Giả sử đây là mã đa bảng, sau đóxác định số bảng chữ trong từ khoá và lần tìm từng chữ. Như vậy cần tăng độ dài từ khoá để tăng số bảng chữ dùng khi mã để “là” tần suất của các chữ. NN BMHTTT 38
- PhPhươươngng phpháápp ththáámm mãmã KasiskiKasiski Phương pháp phát triển bởi Babbage và Kasiski. Ta thấy các chữ như nhau trên bản rõ và cách nhau một khoảng đúng bằng độ dài từ khoá (chu kỳ), thì sẽ được mã bằng cùng một chữ. Như vậy từ độ lặp của các chữ trong bản mã có thể cho phép xác định chu kỳ. Tất nhiên không phải khi nào cũng tìm được độ dài từ khoá. Sau đó tìm các chữ trong từ khoá bằng cách tấn công từng bảng chữ đơn với cùng kỹ thuật dựa trên các bảng tần suất của các bộ chữ như trước. NN BMHTTT 39
- MãMã khokhoáá ttựự đđộộngng Lý tưởng nhất là ta có khoá dài như bản tin. Do đó Vigenere đề xuất khoá tự động sinh cho bằng độ dài bản tin như sau: từ khoá được nối tiếp bằng chính bản rõ để tạo thành khoá. Sau đó dùng mã Vigenere để mã bản rõ đã cho. Khi đóbiết từ khoá có thể khôi phục được một số chữ ban đầu của bản rõ. Sau đótiếp tục sử dụng chúng để giải mã cho văn bản còn lại. Sự cải tiến này làm mất khái niệm chu kỳ, gây khó khăn cho việc thám mã, nhưng vẫn còn đặc trưng tần suất để tấn công. NN BMHTTT 40
- VVíí ddụụ key: deceptivewearediscoveredsav plaintext: wearediscoveredsaveyourself ciphertext: ZICVTWQNGKZEIIGASXSTSLVVWLA NN BMHTTT 41
- II.2.5II.2.5 BBộộ đđệệmm mmộộtt llầầnn Nếu khoá thực sự ngẫu nhiên được dùng và có độ dài bằng bản rõ thì ta nói đólàbộ đệm một lần. Vì nó chỉ được dùng một lần và ngẫu nhiên, nên mã hoá sẽ an toàn. Mã sẽ không bẻ được vì bản mã không có liên quan thống kê gì với bản rõ, do bộ đệm được sinh ngẫu nhiên. 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. NN BMHTTT 42
- BBộộ đđệệmm mmộộtt llầầnn (tt)(tt) 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ữ là mã của một bản rõ cho trước là như nhau. Khoá chỉ sử dụng một lần, nên các lần mã là độc lập với nhau. Vấn đề khó khăn của mã bộ đệm một lần là việc sinh ngẫu nhiên khóa và phân phối khoá an toàn. Do đóbộ đệm một lần ít được sử dụng và chỉ dùng trong trường hợp đòi hỏi bảo mật rất cao. NN BMHTTT 43
- II.3II.3 CCáácc mãmã ththếế ccổổ đđiiểểnn hohoáánn vvịị Mã hoán vị: các chữ trong bản rõ không được thay thế bằng các chữ khác mà chỉ thay đổi vị trí, tức là việc mã hoá chỉ dịch chuyển vị trí tương đối giữa các chữ trong bản rõ. Bản mã có cùng phân bố tần suất xuất hiện các chữ như bản gốc nên dễ thám mã NN BMHTTT 44
- II.3.1II.3.1 MãMã RailRail FenceFence Đâ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. Ví dụ. “meet me after the toga party” m e m a t r h t g p r y e t e f e t e o a a t mematrhtgpryetefeteoaat NN BMHTTT 45
- II.3.2II.3.2 MãMã ddịịchch chuychuyểểnn dòngdò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 trướ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 NN BMHTTT 46
- II.4II.4 MãMã ttííchch Ta có thể 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ế không phải như vậy 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ị. Trong trường hợp đặc trưng có thể tạo mã mới phức tạp hơn. Đây chính là chiếc cầu nối từ mã cổ điển sang mã hiện đại. NN BMHTTT 47
- MãMã ttííchch (tt)(tt) Mã cổ điển chỉ sử dụng một trong hai phương pháp thay thế hoặc hoán vị. 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. Để làm cho mã khó thám mã hơn ta có thể áp dụng một số mã liên tiếp nhau NN BMHTTT 48
- ĐĐiiểểmm yyếếuu ccủủaa mãmã ccổổ đđiiểểnn 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ã. NN BMHTTT 49
- II.5II.5 MMộộtt ssốố vvấấnn đđềề khkháácc 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. 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ữ. NN BMHTTT 50
- MMááyy quayquay NN BMHTTT 51
- DDấấuu tintin 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. Chỉ dấu được lượng thông tin nhỏ Có thể kết hợp với mã. NN BMHTTT 52