lecture1 Mã nén

61 412 3
lecture1 Mã nén

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

lecture1 Mã nén

1Lecture 1: Mật cổ điển1. Giới thiệu2. Định nghĩa một hệ mật3. Các tính chất của một hệ mật mã4. Số học modulo m5. dịch vòng (shift cipher)6. thay thế7. Affine 8. Vigenère 9. Hill 10.Mã hoán vị (MHV)11.Các hệ dòng 2Giới thiệu•Mục đích cơ bản của mật là tạo ra khả năng liên lạc trên một kênh không an toàn cho hai người sử dụng (tạm gọi là Alice và Bob) sao cho đối phương (Oscar) không thể hiểu được thông tin được truyền đi. • Kênh này có thể là một đường dây điện thoại hoặc một mạng máy tính. Thông tin Alice muốn gửi cho Bob (bản rõ) có thể là một văn bản tiếng Anh, Việt, các dữ liệu bằng số hoặc bất cứ tài liệu ởdạng nào. Alice sẽ hoá bản rõ bằng một khoá đã được xác định trước và gửi bản trên kênh. • Đối phương Oscar giả sử có bản thu trộm được trên kênh song không thể xác định nội dung của bản rõ, nhưng Bob (người đã biết khoá mã) có thể giải và thu được bản rõ (nội dung của tài liệu). 3Định nghĩa một hệ mật mã•Một hệ mật là một bộ 5 (P,C,K,E,D) thoả mãn các điều kiện sau:– P là một tập hữu hạn các ký tự bản rõ.–C làmột tập hữu hạn các ký tự bản mã.– K (không gian khoá) là tập hữu hạn các khoá có thể.– Đối với mỗi k∈ K có một quy tắc ek ∈ E: P → C vàmột quy tắc giải tương ứng dk∈ D.•Các hàm ek: P → C và dk: C → P là những hàm mà: dk(ek (x)) = x với mọi bản rõ x ∈ P. 4Kênh liên lạc•Nguồn khóa được Alice và Bob trao đổi trên kênh an toàn. 5Các tính chất của một hệ mật mã•Nếu một hệ mật có thể sử dụng được trong thực tế thì nóphải thoả mãn một số tính chất nhất định:1. Các hàm hoá eKvà các hàm giải dKphải cókhả năng tính toán được một cách hiệu quả.2. Đối phương dựa trên xâu bản phải không có khả năng xác định khoá k đã dùng hoặc không có khả năng xác định được xâu bản rõ x. 6Số học modulo m•Giả sử a và b là các số nguyên và m là một số nguyên dương. Khi đóta viết a ≡ b (mod m) nếu m chia hết cho (b-a). Mệnh đề a ≡ b (mod m) được gọi là "a đồng dư với b theo modulo m".• Phân tích a và b theo m như sau:¾a = q1m + r1và b = q2m + r2 trong đó0 ≤ r1≤ m-1 và 0 ≤ r2≤ m-1. (chú ý: r1và r2là không âm)¾Dễ dàng thấy rằng a ≡ b (mod m) khi và chỉ khi r1= r2. Ta sẽ dùng ký hiệu a mod m (không dùng các dấu ngoặc). Như vậy: a ≡ b (mod m) khi và chỉ khi a mod m = b mod m. ¾Nếu thay a bằng a mod m thì ta nói rằng a được rút gọn theo modulo m. 7Số học modulo m (tiếp)• Nhận xét: Nhiều ngôn ngữ lập trình của máy tính xác định a mod m là phần dư trong dải -m+1, ., m-1 có cùng dấu với a. •Vídụ -17 mod 7 sẽ là -3, tuy nhiên theo định nghĩa ở trên thì -17 mod 7 = (-3)*7 +4 (4 là đối của -3 theo phép cộng: 4= 7+(-3)).•Bây giờ ta có thể định nghĩa số học modulo m - Zm như sau: Zmlà tập hợp {0,1,. . .,m-1} và được trang bị hai phép toán cộng và nhân. Việc cộng và nhân trong Zm được thực hiện giống như cộng và nhân các số nguyên ngoại trừ một điểm là các kết quả được rút gọn theo modulo m. 8Số học modulo m – ví dụ•Vídụ tính 11× 13 trong Z16 tương tự như với các sốnguyên ta có:–11 ×13 = 143. – Để rút gọn 143 theo modulo 16, ta thực hiện phép chia bình thường: 143 = 8 × 16 + 15,–Bởi vậy 143 mod 16 = 15 trong Z16.• 9Số học modulo m–tính chất của các phép toán1. Phép cộng là đóng, tức với bất kì a,b ∈ Zm ,a +b ∈ Zm 2. Phép cộng là giao hoán, tức là với a,b bất kì ∈ Zm: a+b = b+a3. Phép cộng là kết hợp, tức là với bất kì a,b,c ∈ Zm: (a+b)+c = a+(b+c)4. 0 là phần tử đơn vị của phép cộng, có nghĩa là với a bất kì ∈ Zm: a+0 = 0+a = a5. Phần tử nghịch đối của phép cộng của phần tử bất kì (a ∈ Zm ) làm-a, nghĩa là a+(m-a) = (m-a)+a = 0 với bất kì a ∈ Zm .6. Phép nhân là đóng, tức là với a,b bất kì ∈ Zm, ab ∈ Zm .7. Phép nhân là giao hoán, nghĩa là với a,b bất kì ∈ Zm, ab = ba8. Phép nhân là kết hợp, nghĩa là với a,b,c ∈ Zm , (ab)c = a(cb)9. 1 là phần tử đơn vị của phép nhân, tức là với bất kỳ a ∈ Zm: a×1 = 1×a = a10. Phép nhân có tính chất phân phối đối với phép cộng, tức là đối với a,b,c ∈ Zm , (a+b)c = (ac)+(bc) và a(b+c) = (ab) + (ac) 10Số học modulo m – nhận xét•Vìphần tử đối của phép cộng tồn tại trong Zmnên ta cũng có thể thực hiện phép trừ trong Zm. Ta định nghĩa a-b trong Zmlà a+m-b mod m. Một cách tương đương có thểtính số nguyên a-b rồi rút gọn theo modulo m.•Vídụ : Để tính 11-18 trong Z31:– Ta tính 11+13 mod 31 = 24. – Hoặc, có thể lấy 11-18 được -7 rồi sau đó tính -7 mod 31 = 24. [...].. .Mã dịch vòng (shift cipher) • Hệ mật dịch vòng: – P = C = K = Z26 – Với 0 ≤ k ≤ 25 , các hàm mã và giải như sau: • ek(x) = x +k mod 26 • và dk(y) = y-k mod 26 • (x,y ∈ Z26) – Nhận xét: Trong trường hợp K = 3, hệ mật thường được gọi là Caesar đã từng được Julius Caesar sử dụng 11 dịch vòng (shift cipher) • Ta sẽ sử dụng MDV (với modulo 26) để hoá một văn bản tiếng... tập, bạn đọc có giải mã bản sau: – M G Z V Y Z L G H C M H J M Y X S S E M N H A H Y C D 19 L M H A Mã Affine - lập • MDV là một trường hợp đặc biệt của MTT (tập khóa gồm 26! các hoán vị có thể của 26 phần tử) • Một trường hợp đặc biệt khác của MTT là Affine được mô tả dưới đây Trong Affine, ta giới hạn chỉ xét các hàm có dạng: – y=e(x) = ax + b mod 26, (y là bản mã) – a,b ∈ Z26 Các... được bản sau: HPHTWWXPPELEXTOYTRSE 13 dịch vòng (shift cipher) - ví dụ • Nhận xét: Trong ví dụ trên, ta đã dùng các chữ in hoa cho bản mã, các chữ thường cho bản rõ để tiện phân biệt • Giải mã bản này: – Bob sẽ biến đổi bản thành dãy các số nguyên rồi trừ đi giá trị cho 11 và rút gọn theo modulo 26 (công thức dk(y) = y-k mod 26) – Cuối cùng biến đổi lại dãy này thành các ký tự 14 dịch... phải là một hàm đơn ánh và bởi vậy nó không thể là hàm hoá hợp lệ 21 Affine - lập - Ví dụ • Với a=4, ta có: – UCLN(4,26) = 2 – Nên hàm e(x)= 4x +7 mod 26 không phải là hàm hoá hợp lệ vì khi đó x và x+13 sẽ hoá thành cùng một giá trị đối với bất kì x ∈ Z26: • e(x+13)=4(x+13)+7 = 4x+52+7 =4x+0+7=4x+7 (vì 52/26=2) 22 Affine - lập • Giả thiết 2, UCLN(a,26) = 1 và phương trình đồng dư... minh cho x Như vậy hàm giải là: x=d(y) = a-1(y-b) mod 26 27 Affine • Hệ Affine được định nghĩa như sau: – P = C = Z26 và – K = { (a,b) ∈ Z26 × Z26: UCLN(a,26) =1 } – Với một khóa k = (a,b) ∈K, ta định nghĩa: • y=ek(x) = ax +b mod 26 và • dk(y) = a-1(y-b) mod 26, x,y ∈ Z26 28 Affine - Ví dụ • Giả sử k = (7,3) • Hàm hoá là: ek(x) = 7x+3 mod 26 • Giải mã: Để giải ta phải tính 7-1 – 7-1... π-1 là hoán vị ngược của π 17 thay thế -Ví dụ • Ví dụ về phép hoán vị ngẫu nhiên π tạo nên một hàm hoá • Như vậy, eπ (a) = X, eπ (b) = N, 18 thay thế - Ví dụ (tiếp) • Hàm giải là phép hoán vị ngược Điều này được thực hiện bằng cách viết hàng thứ hai lên trước rồi sắp xếp theo thứ tự chữ cái Ta nhận được: • Bởi vậy dπ (A) = d, dπ(B) = 1, • Như vậy khoá của thay thế là một phép hoán... minh hoạ theo ví dụ sau 15 dịch vòng (shift cipher) - ví dụ Cho bản JBCRCLQRWCRVNBJENBWRWN ta sẽ thử liên tiếp các khoá giải k=0 ,k=1, : jbcrclqrwcrvnbjenbwrwn iabqbkpqvbqumaidmavqvm hzapajopuaptlzhclzupul gyzozinotzoskygbkytotk jxynyhmnsynrjexfajxsnsj ewxmxglmrxmqiweziwrmri dvwlwfklqwlphvodyhvqlqh cuvkvejkpvkogucxgupkpg btujudijoujnftbwfojof 16 thay thế • Hệ mật thay thế được định nghĩa... tử nghịch đảo theo modulo 34 Vigenère • Trong cả hai hệ MDV và MTT (một khi khoá đã được chọn) mỗi ký tự sẽ được ánh xạ vào một ký tự duy nhất Vì lý do đó, các hệ mật còn được gọi hệ thay thế đơn biểu • Mật Vigenère sẽ hoá đồng thời m kí tự: Mỗi phần tử của bản rõ tương đương với m ký tự Mật này lấy tên của Blaise de Vigenère sống vào thế kỷ XVI • Định nghĩa hệ Vigenère: – Cho m là một... nghiệm duy nhất 23 Affine - Định lí • Phương trình đồng dư ax ≡ b mod m chỉ có một nghiệm duy nhất x ∈ Zm với mọi b ∈ Zm khi và chỉ khi UCLN(a,m) = 1 24 Affine - Ví dụ • Vì 26 = 2 ×13 nên các giá trị a ∈ Z26 thoả mãn UCLN(a,26) = 1 là a = 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 và 25 (tổng cộng có 12 giá trị có thể cho a) • Tham số b có thể là một phần tử bất kỳ trong Z26 Như vậy, Affine có 12... 26, (y là bản mã) – a,b ∈ Z26 Các hàm này được gọi là các hàm Affine (chú ý rằng khi a = 1, ta có MDV) • Để giải được, yêu cầu hàm Affine phải là đơn ánh Nói cách khác, với bất kỳ y ∈ Z26, ta muốn có đồng nhất thức sau: ax + b ≡ y (mod 26) phải có nghiệm x duy nhất 20 Affine - lập • Đồng dư thức: ax + b ≡ y (mod 26), tương đương với: – ax ≡ y-b (mod 26) – Vì y thay đổi trên Z26 nên y-b cũng . Mật mã cổ điển1. Giới thiệu2. Định nghĩa một hệ mật3. Các tính chất của một hệ mật mã4 . Số học modulo m5. Mã dịch vòng (shift cipher)6. Mã thay thế7. Mã. Mã thay thế7. Mã Affine 8. Mã Vigenère 9. Mã Hill 10 .Mã hoán vị (MHV)11.Các hệ mã dòng 2Giới thiệu•Mục đích cơ bản của mật mã là tạo ra khả năng liên

Ngày đăng: 26/10/2012, 11:57

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan