TÌM HIỂU VỀ PHÉP ĐỒNG DƯ

12 871 0
TÌM HIỂU VỀ PHÉP ĐỒNG DƯ

Đ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

TÌM HIỂU VỀ PHÉP ĐỒNG DƯ Khái niệm “đồng dư” Cho các số nguyên a, b, m (m>0). Ta nói rằng a và b đồng dư với nhau theo modulo m nếu chia a và b cho m ta nhận được cùng một số dư. Ký hiệu: a b (mod m) Ví dụ: 20 (mod 3) vì 20 và 2 chia cho 3 được cùng một số dư là 2.

TÌM HIỂU VỀ PHÉP ĐỒNG DƯ Học viên: Vương Thị Mỵ MSHV: 13025173 ậ qwertyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmrtyuiopasdfghjklzxcvb nmqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxcvbn Mục lục PHÉP ĐỒNG DƯ 1.Giới thiệu về “Đồng dư” 1.1: Khái niệm “đồng dư” Cho các số nguyên a, b, m (m>0). Ta nói rằng a và b đồng dư với nhau theo modulo m nếu chia a và b cho m ta nhận được cùng một số dư. Ký hiệu: a b (mod m) Ví dụ: 20 (mod 3) vì 20 và 2 chia cho 3 được cùng một số dư là 2. MMATDL - Vương Thị Mỵ - 13025173 Trang 2 1.2: Nhận xét Các mệnh đề sau đây là tương đương với nhau:  a b (mod m)  m \ (a – b)  Tồn tại số nguyên t sao cho a = b + m*t Chứng minh: 1=>2: Nếu có mệnh đề 1, theo định nghĩa của “đồng dư” thì a và b chia cho m phải có cùng số dư, do đó: a = p*m + r b = q *m + r  a – b = (p – q) * m => m \ (a – b) 2=>3: m \ (a – b) có nghĩa là tồn tại số nguyên t sao cho a – b = m *t => a = b + m*t 3=>1: xét mệnh đề 3 a = b +m * t Lấy a chia cho m giả sử được số dư là r và thương là q: a = m*q + r (0 r < m)  b + m*t = a = m*q +r  b= m * (q – t) + r => a và b chia cho m có cùng số dư là r hay a b (mod m) 1.3:Các tính chất của quan hệ “đồng dư” 1.3.1. Quan hệ đồng dư là quan hệ tương đương trong tập Z Với mọi số nguyên m ta có: a a (mod m) với mọi a Z; (Tính chất phản xạ) MMATDL - Vương Thị Mỵ - 13025173 Trang 3 a b (mod m) thì b a (mod m) (Tính chất đối xứng) a b (mod m) và b c (mod m) thì a c (mod m) (Tính chất bắc cầu) 1.3.2. Tổng – Hiệu các đồng dư (a+b) (mod n) [(a mod n) + (b mod n)] (mod n) (a-b) (mod n) [(a mod n) - (b mod n)] (mod n) Tổng quát: Có thể cộng hoặc trừ từng vế nhiều đồng dư thức theo cùng modulo m, ta được một đồng dư thức theo cùng modulo m, tức là: Nếu a i ≡ b i (mod m) , i = 1 k, thì 1 1 (mod ) k k i i i i i i t a t b m = = = ∑ ∑ với t i = ± 1 1.3.3. Tích các đồng dư (a * b) (mod n) [(a mod n) * (b mod n)] (mod n) Tổng quát: Có thể nhân từng vế nhiều đồng dư thức theo cùng modulo m, ta được một đồng dư thức theo cùng modulo m, tức là: Nếu a i ≡ b i (mod m) , i = 1 k, thì Hệ quả: - Có thể cộng hoặc trừ cùng một số vào 2 về của đồng dư thức - Có thể chuyển vế các số hạng của đồng dư thức bằng cách đổi dấu các số hạng đó. - Có thể cộng vào 1 vế của đồng dư thức bội của modulo, tức là: MMATDL - Vương Thị Mỵ - 13025173 Trang 4 1 1 (mod ) k k i i i i a b m = = = ∏ ∏ a ≡ b (mod m) => a+km ≡ b (mod m) với mọi k Z - Có thể nhân 2 vế của đồng dư thức với cùng một số: a ≡ b (mod m) => a*c ≡ b*c (mod m) với mọi c Z - Có thể nâng lên luỹ thừa bậc nguyên không âm cho 2 vế của một đồng dư thức a ≡ b (mod m) => a n ≡ b n (mod m) với mọi n Z - Có thể chia 2 vế đồng dư thức cho một ước chung nguyên tố với modulo c\a, c\b, (c,m)=1, a ≡ b (mod m) ⇒ a/c ≡ b/c (mod m) - Có thể nhân 2 vế đồng dư thức và modulo với cùng một số nguyên dương Nếu a ≡ b (mod m), c >0 ⇒ ac ≡ bc (mod mc) - Có thể chia 2 vế đồng dư thức và modulo cho cùng một số nguyên dương là ước chung của chúng: Nếu c \ (a, b, m) ⇒ a/c ≡ b/c (mod m/c) - a ≡ b (mod m) => a ≡ b (mod k) với k \ m - a ≡ b (mod m) ⇒ UCLN(a, m) = UCLN(b, m) MMATDL - Vương Thị Mỵ - 13025173 Trang 5 ∈ ∈ ∈ 2. Ứng dụng của phép “đồng dư” 2.1.Mã dịch vòng 2.1.1. Định nghĩa Giả sử P = C = K = Z M , định nghĩa: E k (X) = X + K mod M Và D k (X) = Y – K mod M Với Z M là số học modulo của M, là tập hợp {0, 1, …, M} có trang bị 2 phép toán cộng và nhân như trong số học, nhưng kết quả được rút gọn theo modulo M. Trong trường hợp K =3 hệ này được gọi là hệ CAESAR. Trong báo cáo này, sẽ demo mã dịch vòng với modulo 26 để mã hoá một văn bản tiếng anh thông thường bằng cách thiết lập sự tương ứng giữa các ký tự và các thặng dư theo modulo 26: A↔0, B↔1, …, Z↔25. Cùng với đó, sẽ demo mã dịch vòng với modulo 29 để mã hoá văn bản tiếng việt bằng sự thiết lập tương ứng giữa các ký tự và các thặng dư theo modulo 29: A↔0, Ă↔1, …, Y↔28 2.1.2. Các bước thực hiện việc mã hoá và giải mã Giả sử có bản rõ là: WEWILLMEETATNIGHT Với K = 11. Bước 1: Biến đổi bản rõ thành các số nguyên theo quy đổi bên trên thành dãy số như sau:22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19 Bước 2: Cộng 11 vào mỗi giá trị trên rồi rút gọn tổng theo modulo 26 Ta được dãy sau: MMATDL - Vương Thị Mỵ - 13025173 Trang 6 7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4 Bước 3: Cuối cùng biến đổi dãy số nguyên này thành các ký tự theo bảng quy đổi được bản mã sau: HPHTWWXPPELEXTOYTRSE Để giải bản mã này, trước tiên, ta sẽ biến đổi bản mã thành dãy các số nguyên rồi trừ đi giá trị tương ứng cho 11 (rút gọn theo modulo 26) và cuối cùng biến đổi lại dãy này thành các ký tự dựa vào bảng quy đổi. Nhận xét: Trong ví dụ trên, ta đã dùng các chữ in hoa cho bản mã, nếu đầu vào là chữ thường thì ta mã hoá theo chữ hoa rồi chuyển bản mã từ chữ hoa về chữ thường. 2.1.3.Đánh giá tính “An toàn” của mã dịch vòng 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, ngay sau đây sẽ nêu ra hai trong số đó:  Mỗi hàm mã hoá và mỗi hàm giải mã phải có khả năng tính toán được một cách hiệu quả.  Đối phương dự trên xâu bản mã 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õ. Tính chất thứ hai xác định khá mập mờ theo ý tưởng “bảo mật”. Quá trình thử tính khoá K (khi đã biết bản mã) được gọi là mã thám. Nhận xét rằng, mã dịch vòng (Theo modulo 26) là không an toàn vì nó có thể bị thám theo phương pháp vét cạn. Do chỉ có 26 khoá nên dễ dàng thử mọi khoá có thể cho tới khi nhận được bản rõ có ý nghĩa. Điều này được minh hoạ theo ví dụ sau: MMATDL - Vương Thị Mỵ - 13025173 Trang 7 Cho bản mã: JBCRCLQRWCRVNBJENBWRWN Ta sẽ thử liên tiếp các khoá giải mã D 0 , D 1 ,… và Y thu được j b c r c l q r w c r v n b j e n b w r w n i a b q b k p q v b q u m a i d m a v q v m h z a p a j o p u a p t l z h c l z u p u l g y z o z i n o t z o s k y g b k y t o t k j x y n y h m n s y n r j e x f a j x s n s j e w x m x g l m r x m q i w e z i w r m r i d v w l w f k l q w l p h v o d y h v q l q h c u v k v e j k p v k o g u c x g u p k p g b t u j u d i j o u j n f t b w f o j o f a s t i t c h i n t i m e s a v e s n i n e Tới đây ta đã xác định được bản rõ và dừng lại. Khoá tương ứng K = 9 Trung bình có thể tính được bản rõ sau khi thử 26/2 = 13 quy tắc giải mã. Như đã chỉ ra trong ví dụ trên, điều kiện để một hệ mật được an toàn là phép tìm kiếm khoá vét cạn phải không thể thực hiện được; tức không gian khoá phải rất lớn. Tuy nhiên, một không gian khoá lớn cũng chưa thể đảm bảo độ mật. MMATDL - Vương Thị Mỵ - 13025173 Trang 8 2.1.4.Mật mã CAESAR  !"#$% & 'đơn gi(n và đư)*+t đ+,#- &!./ $+, trong đó m0123 trong văn b(n đư)$+*4&123 56&t đo.*(' cái đ%. *(789 !" ::;15<= 6%%#>:, CAESAR như các m!":15?#:@!A đưa B C Bư;6*4ưDng đư)1+)E:;&EF.p hơn, ví dA nhưG: H$:In đư)!J5F!Ang hiên đ.như ROT13Kng như các m$+!J&*(15LC! !M! *"E5:N và không đáp Fng đư)$C#O# P#$,  GQ &t phương pháp m6:ăn b(*45R!AS 1T&UEVE615#!3C5'5/&W16 X6 &!.ng đơn gi(/$+!J,#*('5 Trong phép mã hóa Caesar, mỗi ký tự của bảng chữ cái được dịch đi một khoảng nhất định, ví dụ với bước dịch là 3, A trở thành D, B trở thành E Mật mã Vigenère là sự kết hợp xen kẽ vài phép mã hóa Caesar với các bước dịch khác nhau. Để mã hóa, ta dùng một hình vuông Vigenère (hình bên). Nó gồm 26 hàng, mỗi hàng dịch về bên trái một bước so với hàng phía trên, tạo thành 26 bảng mã Caesar. Trong quá trình mã hóa, tùy theo từ khóa mà mỗi thời điểm ta dùng một dòng khác nhau để mã hóa văn bản. Ví dụ, ta có văn bản cần mã hóa như sau: ATTACKATDAWN Người gửi lựa chọn một từ khóa và viết nó lặp lại nhiều lần trên một dòng đến khi số chữ cái trên dòng bằng số chữ cái trong thông điệp, với từ khóa "LEMON" thì: MMATDL - Vương Thị Mỵ - 13025173 Trang 9 LEMONLEMONLE Chữ cái đầu tiên của văn bản, A, được mã hóa bằng bảng bắt đầu với L (chữ cái đầu tiên của từ khóa). Nó sẽ được mã hóa thành chữ cái trên dòng L và cột A của hình vuông Vigenère, đó là chữ L. Tương tự như vậy, chữ cái thư hai của văn bản sẽ được mã hóa bằng chữ cái thứ hai của từ khóa: chữ trên dòng E và cột T là X. Sau đây là bản mã: Văn bản: Từ khóa: Bản mã: 3.Demo ứng dụng T đi xây d3F!A:;789( văn b(P+:Ht và văn b(P+ G;E#/:H5 Y!.ng text. Và đOu ra là file text sau khi đ 5ZY $T có đ"!.[S\ ]E#/( Y!.ng _mahoa.txt (file đ5*CC\đO# Y !.[S Đây là giao diH@/F!A MMATDL - Vương Thị Mỵ - 13025173 Trang 10 [...]...Hình 1: Giao diện chính Chương trình cho phép lựa chọn file đầu vào dạng txt Khi lựa chọn file xong, đường dẫn file sẽ được đặt tại textbox Hình 2: Lựa chọn file cần mã hoá Sau khi đã có đường dẫn, ta sẽ thực hiện mã hoá Nút “Ma hoa TiengAnh” cho phép mã hoá văn bản đầu vào là tiếng anh, được mã hoá theo modulo 26 Nút “Ma hoa TV” cho phép mã hoá văn bản đầu vào là tiếng việt, được thực... với nội dung như sau: MMATDL - Vương Thị Mỵ - 13025173 Trang 11 HPHTWWXPPELEXTOYTRSEhphtwwxppelextoytrse Để giải mã file mã hoá này, ta sẽ lựa chọn file test_mahoa.txt ở trong phần chọn file như hình dư i đây: Hình 3: Lựa chọn file để giải mã Ở phần này chỉ cho lựa chọn những file có định dạng _mahoa.txt Sau khi kích vào nút “Giai ma TiengAnh”, sẽ có thêm 1 file test_giaima.txt ở cùng thư mục với file . 13025173 ậ qwertyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmrtyuiopasdfghjklzxcvb nmqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxcvbn Mục lục PHÉP ĐỒNG DƯ 1.Giới thiệu về Đồng dư 1.1: Khái niệm đồng dư Cho các số nguyên a, b, m (m>0). Ta nói rằng a và b đồng dư với nhau theo modulo m nếu chia. nhiều đồng dư thức theo cùng modulo m, ta được một đồng dư thức theo cùng modulo m, tức là: Nếu a i ≡ b i (mod m) , i = 1 k, thì Hệ quả: - Có thể cộng hoặc trừ cùng một số vào 2 về của đồng dư. TÌM HIỂU VỀ PHÉP ĐỒNG DƯ Học viên: Vương Thị Mỵ MSHV: 13025173 ậ qwertyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasdfghjkl zxcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmqwertyuiopasdfghjklz xcvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuiop asdfghjklzxcvbnmrtyuiopasdfghjklzxcvb nmqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxcvbn Mục

Ngày đăng: 27/10/2014, 11:11

Từ khóa liên quan

Mục lục

  • 1.Giới thiệu về “Đồng dư”

    • 1.1: Khái niệm “đồng dư”

    • 1.2: Nhận xét

    • 1.3:Các tính chất của quan hệ “đồng dư”

      • 1.3.1. Quan hệ đồng dư là quan hệ tương đương trong tập Z

      • 1.3.2. Tổng – Hiệu các đồng dư

      • 1.3.3. Tích các đồng dư

      • 2. Ứng dụng của phép “đồng dư”

        • 2.1.Mã dịch vòng

          • 2.1.1. Định nghĩa

          • 2.1.2. Các bước thực hiện việc mã hoá và giải mã

          • 2.1.3.Đánh giá tính “An toàn” của mã dịch vòng

          • 2.1.4.Mật mã CAESAR

          • 3.Demo ứng dụng

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

Tài liệu liên quan