Tải bản đầy đủ (.docx) (12 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (248.19 KB, 12 trang )

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^EVE3n file đO#: !.S<3n file xong,
đưD!IYT đư)c đ_.S*S
Hình 2: Lựa chọn le cần mã hoá
Sau khi đ6đưD!IT3H5X`ab
EVE5:ăn b(n đO#:  P+ng anh, đư)5!#cX`
aGbEVE5:ăn b(n đO#:  P+:Ht, đư)3H
5!#d8#13H5T.Y6!.ng
tenfilevao_mahoa.txt đ_t cùng thư mA:;i file đO#: 
8#156%P+ (Kng như viH5:;Y
5:ăn b(P+ng anh, đ%(TR!A`aebY
5:ăn b(P+GHTR!AaeGb
f đây, ta demo v;YS6&!#
g7g]77]X]ehii!
8#11@: `abT có thêm file test_mahoa.txt đư)
.:;&i dung như sau:
MMATDL - Vương Thị Mỵ - 13025173 Trang 11
hjhggLjj77Lkl987EiiSEES$
Đ%(Y5 $T3Y[SBEO
n file như h^!ư;i đây:

Hình 3: Lựa chọn file để giải mã
fEO $m3'ng file có đ"!.[S
8#11@: `aebT6CY[SB
cùng thư mA:;Y: 6J&!A:;i file test ban đO#
MMATDL - Vương Thị Mỵ - 13025173 Trang 12

×