-
Thông tin
-
Hỏi đáp
Mật mã Playfair | An toàn thông tin | Đại học Thủy Lợi
Mật mã Playfair của Trường Đại học Thủy Lợi. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.
An toàn thông tin (CS201) 4 tài liệu
Đại học Thủy Lợi 221 tài liệu
Mật mã Playfair | An toàn thông tin | Đại học Thủy Lợi
Mật mã Playfair của Trường Đại học Thủy Lợi. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.
Môn: An toàn thông tin (CS201) 4 tài liệu
Trường: Đại học Thủy Lợi 221 tài liệu
Thông tin:
Tác giả:
Tài liệu khác của Đại học Thủy Lợi
Preview text:
10. Mật mã lOMoARcPSD| 40651217 Playfair lOMoAR cPSD| 40651217 10. Mật mã Playfair lOMoARcPSD| 40651217
1854, phát minh bởi nhà khoa học người Anh - Charles Wheatstone
Được sử dụng rộng rãi trong quân ội Anh, Mỹ và ồng
minh trong chiến tranh thế giới thứ II.
Mật mã Playfair sẽ thay thế từng cặp 2 kí tự trong bản
rõ bởi 2 kí tự tương ứng trong ma trận khoá 5 x 5. Qui trình mã hóa: Tạo bảng Playfair
Chia bản rõ thành các cặp chữ cái 10. Mật mã lOMoARcPSD| 40651217 Playfair
Mã hóa từng cặp chữ cái
Kết hợp các cặp ã mã hóa lại
Qui trình giải mã: thực hiện ngược lại. 10. Mật mã Playfair Qui trình mã hóa: lOMoARcPSD| 40651217 Tạo bảng Playfair
Chia bản rõ thành các cặp chữ cái
Mã hóa từng cặp chữ cái Kết hợp các cặp ã mã hóa lại
Qui trình giải mã: thực hiện ngược lại.
Ví dụ, nếu chọn từ khoá là MONARCHY thì ma trận khoá
(bảng Playfair) sẽ như sau: 10. Mật mã lOMoARcPSD| 40651217 Playfair M O N A R
• Lần lượt viết từng kí tự của khóa
vào ma trận, từ trái sang phải, từ C H Y B D
trên xuống dưới, bỏ các kí tự trùng lặp E F G I/J K
• Viết các ký tự còn lại trong bảng
chữ cái vào ma trận theo thứ tự, L P Q S T
I và J ược coi như một ký tự U V W X Z 10. Mật mã lOMoARcPSD| 40651217 Playfair
Mỗi ký tự trong cặp plaintext sẽ ược mã hoá bằng ký tự
nằm cùng hàng với nó, nhưng cùng cột với ký tự kia trong bảng Playfair
Giả sử trong plaintext có cặp kí tự HS, nó sẽ ược thay thế bởi cặp BP M O N A R C H Y B D E F G I/J K 10. M O N A R lOMoARcPSD| 40651217 C H Y B D Mật mã Playfair L P Q S T U V W X Z
Nếu cặp ký tự plaintext rơi vào cùng một hàng của ma
trận thì mỗi ký tự ược thay thế bởi ký tự bên phải nó.
Nếu ký tự plaintext rơi vào cột cuối cùng, thì ciphertext
của nó là ký tự cùng hàng ở cột ầu tiên.
Ví dụ, AR sẽ ược mã hóa thành RM 10. M O N A R lOMoARcPSD| 40651217 C H Y B D Mật mã Playfair
Nếu cặp ký tự plaintext rơi vào chung một cột của ma
trận thì mỗi ký tự ược thay thế bởi ký tự ngay sát dưới.
Nếu ký tự plaintext rơi vào hàng cuối cùng, thì
ciphertext của nó là ký tự cùng cột, ở hàng ầu tiên.
Ví dụ, MU ược mã hóa thành CM 10. M O N A R lOMoARcPSD| 40651217 C H Y B D Mật mã Playfair
Nếu hai kí tự (cùng nhóm) trong plaintext giống nhau thì
chúng sẽ ược ược cách ly bằng một ký tự ại diện, chẳng hạn là X.
Ví dụ, từ BALLOON sẽ ược tách ra thành BA LX LO ON 10. Mật mã lOMoARcPSD| 40651217 Playfair Nhận xét:
Mật mã Playfair có không gian khoá lớn tương tự mật
mã Monoalphabetic nên khó bẻ ược khoá bằng phương pháp Brute - force 10. Mật mã lOMoARcPSD| 40651217 Playfair
Mật mã Playfair có khả năng che giấu một phần thông
tin về tần suất xuất hiện các chữ cái, nhờ thực hiện mã
hoá từng cặp hai kí tự Bài tập 1:
Chọn một từ khoá bất kì rồi xây dựng ma trận khoá Playfair 10. Mật mã lOMoARcPSD| 40651217 Playfair
Chọn một plaintext bất kì ( ộ dài 10 ký tự), áp dụng ma
trận khoá trên ể tạo ra ciphertext.
Thử giải mã ciphertext rồi so sánh với plaintext ban ầu Bài tập 2: 10. Mật mã lOMoARcPSD| 40651217 Playfair a. Cho từ khóa MISSISSIPPI b.
Mã hóa thông iệp sau bằng thuật toán Playfair: BANAMANNHODEN c.
Giải mã chuỗi mã thu ược ở câu b. 10. Mật mã lOMoARcPSD| 40651217 Playfair
Bài tập 3 (Bài tập về nhà):
Viết chương trình mã hoá và giải mã theo thuật toán Playfair, với: P = “HOMNAYLATHUBON” và khóa K = “NGAYTRONGTUAN” lOMoARcPSD| 40651217 11. Các hệ mã dòng Định nghĩa
Mật mã dòng là một bộ (P,C,K,L,F,E,D) thoả mãn ược các iều kiện sau:
1. P: tập hữu hạn các bản rõ có thể.
2. C: tập hữu hạn các bản mã có thể.
3. K: tập hữu hạn các khoá có thể (không gian khoá)
4. L: tập hữu hạn các bộ chữ của dòng khoá.
5. F = (f1, f2...): bộ tạo dòng khoá. Với i 1 fi : K Pi -1 L
6. Với mỗi z L có một quy tắc mã ez E và một quy tắc giải
mã tương ứng dz D. ez : P C và dz : C P lOMoARcPSD| 40651217 11. Các hệ mã dòng
là các hàm thoả mãn dz(ez(x))= x x P.
Các mã dòng thường ược mô tả trong các bộ chữ nhị phân tức là P= C=L= Z2.
Trong trường hợp này, các phép toán mã và giải mã là phép cộng theo modulo 2: Mã hóa (encryption): Giải mã (decryption: lOMoARcPSD| 40651217 11. Các hệ mã dòng zi zi
Sơ ồ quá trình mã hoá và giải mã lOMoARcPSD| 40651217 11. Các hệ mã dòng " bi lOMoARcPSD| 40651217 11. Các hệ mã dòng
Hàm mã hóa và giải mã ược thực hiện bởi cùng một phép toán
là phép cộng theo modulo 2(hay phép XOR) Chứng minh Quá trình giải mã: Trong
ó với zi=0 hoặc zi=1 thì lOMoARcPSD| 40651217 11. Các hệ mã dòng
Dòng khóa (stream key) zi ược sinh ra từ một khóa ban ầu K.
Cần phải tạo dòng khóa zi sao cho các chữ (trong bộ chữ)
của chúng không phụ thuộc lẫn nhau ể tránh bị tìm ra quy luật.
→ các bộ chữ của zi phải ược tạo ra một cách hoàn toàn ngẫu nhiên. lOMoARcPSD| 40651217 11. Các hệ mã dòng
Phương pháp tạo khóa nhị phân: Máy tạo dòng khóa
tuyến tính – LFSR-3, máy chạy và dừng luân phiên, One- time pad(OTP), …
Ví dụ: mã hóa ký tự ‘A’
Ký tự ‘A’ trong bảng mã ASCII
ược tướng ứng với mã
6510=10000012 ược mã hóa bởi hệ khóa z1,…,z7= 0101101 Mã hóa:
Bản rõ xi 1000001 =‘A’ (ký tự ASCII) Dòng khóa zi 0101101 Bản mã yi 1101100 =‘l’(ký tự ASCII) Giải mã: lOMoARcPSD| 40651217 11. Các hệ mã dòng i Dòng khóa z i 0101101 Bản rõ xi 1000001 =‘A’ (ký tự ASCII) Bản mã y 1101100 =‘l’’ (ký tự ASCII) lOMoARcPSD| 40651217
12. Mã hóa One-time Pad(OTP)
Định nghĩa 1: Một hệ mật mã ược coi là an toàn không iều kiện
khi nó không thể bị phá ngay cả với khả năng tính toán không hạn chế.
Frank Miller (1982): bảo mật iện báo - mô hình mã hóa
Vigenère sử dụng phép cộng modulo
Gilbert Vernam (thuộc Tập oàn AT&T, US): phát minh lại
(1917) và ược cấp bằng sáng chế (1919) - sử dụng phép toán
XOR thay vì cộng modulo như thuật toán Vigenère lOMoARcPSD| 40651217
Thuật toán duy nhất chứng minh ược về lý thuyết là
không thể phá ược ngay cả với tài nguyên vô tận (tức
là có thể chống lại kiểu tấn công brute-force).
12. Mã hóa One-time Pad(OTP)
Kiểu tấn công brute force: kiểu tấn công được dùng cho tất cả
các loại mã hóa, hoạt động bằng cách thử tất cả các chuỗi
mật khẩu có thể để tìm ra mật khẩu. thời gian cần rất lâu
(tùy theo độ dài của mật khẩu) nhưng luôn có khả năng để
tìm ra nếu không giới hạn thời gian.
Để có thể ạt ược mức ộ bảo mật của OTP, tất cả những iều
kiện sau phải ược thỏa mãn:
• Khóa có độ dài bằng đúng độ dài của bản rõ
• Khóa được tạo một cách thật sự ngẫu nhiên lOMoARcPSD| 40651217
• Khóa chỉ sử dụng một lần và không sử dụng cho lần mã hóa khác
• Khóa phải được giữ bí mật.
12. Mã hóa One-time Pad(OTP) Định nghĩa 2:
Trong hệ mã hóa OTP ta có |P|=|C|=|K| với Mã hóa (encrypt): lOMoARcPSD| 40651217 Giải mã (decrypt):
12. Mã hóa One-time Pad(OTP)
Qui trình sinh/phá mã của One time pad (OTP)
Chuyển dữ liệu sang dạng nhị phân (plaintext)
Sinh ngẫu nhiên một mảng dữ liệu nhị phân (skey)
với chiều dài của plaintext.
Mã hóa: XOR từng bit trong plaintext với bit ở vị trí
tương ứng trong skey ể ược dữ liệu mã hóa (cipher)
Giải mã: thực hiện XOR cipher với skey lOMoARcPSD| 40651217
12. Mã hóa One-time Pad(OTP)
Thực tế những iều kiện bảo mật của OTP khó có thể thỏa mãn ược.
Ví dụ: Giả sử A muốn mã hóa chỉ 10MB dữ liệu bằng
OTP A phải cần một chìa khóa (ngẫu nhiên) có ộ dài 10MB.
Để tạo ra một số ngẫu nhiên lớn như vậy A cần một bộ
tạo số ngẫu nhiên thực (TRNG - True Random Number Generator).
Các thiết bị này sử dụng nguồn ngẫu nhiên vật lý như sự
phân rã hạt nhân hay bức xạ trên vũ trụ.
Hơn nữa việc lưu trữ, chuyển giao và bảo vệ một chìa
khóa như vậy cũng hết sức khó khăn. lOMoARcPSD| 40651217
12. Mã hóa One-time Pad(OTP)
Phương án dễ hơn: dùng một bộ tạo số ngẫu nhiên ảo
(PRNG - Pseudo Random Number Generator)
khi ó mức ộ bảo mật giảm xuống gần bằng 0 hay cùng
lắm chỉ tương ương với một thuật toán dòng như RC4 mà thôi.
Do có những khó khăn như vậy nên việc sử dụng
OTP trong thực tế là không khả thi.
12. Mã hóa One-time Pad(OTP) lOMoARcPSD| 40651217 Bài tập:
1. Mã hóa chuỗi ký tự sau bằng OTP: P = KHONGKHATHI
Đặt tên khóa ngẫu nhiên là K, chuỗi mã là C
2. Giải mã chuỗi C bằng OTP. 13. Lý thuyết thông tin
Kỹ thuật nhầm lẫn/ hỗn loạn và khuếch tán (Confusion and Diffusion) lOMoARcPSD| 40651217
Theo Claude Shannon, có hai phép toán nguyên
thủy nhờ ó các thuật toán mã hóa mạnh có thể
ược xây dựng: nhầm lẫn/ hỗn loạn và khuếch tán. lOMoARcPSD| 40651217 13. Lý thuyết thông tin
Kỹ thuật nhầm lẫn/ hỗn loạn (Confusion):
Sự phụ thuộc của bản mã ối với bản rõ phải thực phức
tạp ể gây rắc rối, tạo cảm giác hỗn loạn, từ ó gây khó
khăn cho việc phân tích tìm qui luật ể phá mã.
Kỹ thuật nhầm lẫn/hỗn loạn (Confusion):
Phương pháp dê ̃ nhất ể thực hiện iều này là thông qua kỹ thuật thay thế.
Một hệ mã hóa thay thế ơn giản, chẳng hạn hệ mã dịch
vòng Caesar, dựa trên nền tảng của sư ̣ thay thế các chữ lOMoARcPSD| 40651217 13. Lý thuyết thông tin
cái của bản rõ, nghĩa là chữ cái này ược thay thế bằng chữ cái khác.
Kỹ thuật khuếch tán (Diffusion): ảnh hưởng của một
ký hiệu bản rõ ược trải rộng trên nhiều ký hiệu
bản mã với mục ích che giấu các thuộc tính thống kê của bản rõ.
Công việc dò tìm qui luật của người thám mã sẽ rất mất thời gian và phức tạp.
Cách ơn giản nhất tạo ra tính khuếch tán là thông qua kỹ
thuật hoán vị (sử dụng thường xuyên trong DES)
Kỹ thuật khuếch tán (Diffusion): lOMoARcPSD| 40651217 13. Lý thuyết thông tin
Ví dụ: Phép hoán vị cột.
P = “viec giai ma that phuc tap” Ma hoa: v i e c g i a i m a t h a t p h u c t a p x x x Viết lại theo cột:
C = v g m a u p i i a t c x e a t p t x c i h h a x
Thông thường các hệ mã hiện ại thường kết hợp cả
hai kỹ thuật thay thê ́ và hoán vị ể tạo ra các thuật
toán mã hóa có ộ an toàn cao hơn. lOMoARcPSD| 40651217
14. Lý thuyết ộ phức tạp
Lý thuyết thông tin ã cho chúng ta biết rằng một thuật
toán mã hoá có thể bị bại lộ. lOMoARcPSD| 40651217
14. Lý thuyết ộ phức tạp
Lý thuyết ộ phức tạp cho biết khả năng bị thám mã của một hệ mã mật.
a) Độ an toàn tính toán : lOMoARcPSD| 40651217
14. Lý thuyết ộ phức tạp
Định nghĩa: Một hệ mật ược gọi là an toàn về mặt tính
toán nếu có một thuật toán tốt nhất ể phá nó thì cần
ít nhất N phép toán, với N là một số rất lớn nào ó.
b) Đô ̣ an toàn không iều kiện lOMoARcPSD| 40651217
14. Lý thuyết ộ phức tạp
Định nghĩa: Một hệ mật ược coi là an toàn không iều
kiện khi nó không thể bị phá ngay cả với khả năng tính toán không hạn chế.