: 60 48 01 04
quý
X
Phòng
ô
M
U........................................................................................................... 5
1: T NG QUAN V CÁC H M T MÃ ................................ 8
1.1. T ng quan v lý thuy t m t mã. ............................................................. 8
1.1.1. M t s khái ni
n........................................................................ 8
toán h c c a lý thuy t s . .......................................................... 10
1.2. M t mã truy n th ng . ........................................................................... 18
1.2.1. Mã chuy n d ch (shift cipher).............................................................. 18
1.2.2. Mã thay th (substitution cipher). ....................................................... 20
1.2.3. Mã apphin............................................................................................ 21
1.2.4. Mã Vigenere. ....................................................................................... 22
1.2.5. Mã Hill................................................................................................. 23
1.2.6. Mã hoán v ( chuy n v - Transposition )........................................... 24
i v i mã Vigenere ............................................................. 26
1.4. M t mã khóa công khai. ........................................................................ 31
1.4.1. H m t mã công khai RSA................................................................... 31
1.4.2. H m t mã khoá công khai Rabin....................................................... 32
1.4.3. H m t mã khoá công khai ElGamal. ................................................. 34
M TS
N CÔNG H MÃ TRUY N
TH NG.......................................................................................................... 38
ti n hành thám mã............................................... 38
2.2. Mã thay th
....................................... 44
2.2.1 Mã thay th
.................................................................................... 44
......................................................................... 45
2.3. Lu
........................................... 52
2.3.1. Khái quát............................................................................................... 52
....................................................................... 54
XU T THU T TOÁN C I TI N NH M NÂNG CAO
AN TOÀN CHO H M T MÃ TRUY N TH NG ......................... 59
3.1. M
.................................................................................... 59
xu t thu t toán.................................................................................. 59
an toàn c a h m
xu t............................. 63
t ki m th ..................................................................................... 63
3.4.1 Gi i thi u thu t toán ............................................................................. 63
3.4.2 Gi i thi u thu t toán ............................................................................. 65
K T LU N ..................................................................................................... 82
TÀI LI U THAM KH O............................................................................... 82
mang
pháp. Thông tin
.
Steganography)
u khác
toàn.
Các
Steganography
Steganography
Steganography
khai.
1:
MÃ
1.1. T ng quan v lý thuy t m t mã.
1.1.1. M t s khái ni
n.
B n rõ: Là n i dung c
pc ng
toàn. Nó có th
c b o v an
n, các file có c u trúc.
Mã hoá: Là quá trình bi
i b n rõ thành nh ng dãy ký t
c khi g
i nh
B n mã: Là k t qu
c
c..
c khi mã hóa b n rõ theo m t thu t toán mã
hóa
Gi i mã: Là quá trình x
b n rõ. Ví d
c, ti n hành gi i mã b
n có n
i lu t mã là t nh ti n
i v i mã ASCII c a m i kí t .
A
65, B
66, C
thu l i
67
67
thành
.
.
không an toàn
k K
ek E, ek : P C
dk D, dk : C P sao cho: dx (ek(x)) = x,
x P
.
Cung c p m t m c cao v tính b o m t, toàn v n, ch ng ch i b và xác
th c.
Tính b o m t: B
m bí m t cho n i dung thông báo và d li u b ng
nh các k thu t mã hóa.
Tính toàn v n: B
m v i các bên r ng b n tin không b
i trên
ng truy n tin.
Ch ng ch i b : Có th xác nh n r ng tài li
nt
khi
h c g ng t ch i nó.
Tính xác th c: Cung c p hai d ch v :
Nh n d ng ngu n g c c a m
mb or
Ki
p h th ng, ti p t c ki m
th c.
nh danh c
mc ah
s d ng h p pháp.
ng h
g ng k t n i và gi
i
1.1.2.
toán h c c a lý thuy t s .
[3].
Z = {.....,-2,-1,0,1,2,....}, và Z+
Z
Z+= {0,1,2,.....}.
Z
a
b
q,
q, a = b.
a
b, b
b, b
a
a, a là
b a
a
a và b, b
a cho b ta
q và r sao cho
a=b.q+r, 0
q
r
b.
a cho b
r
a cho b
a div b
a mod b.
3 và 25 mod 7 = 4, -25 div 7 = -4 và -25 mod 7 = 3.
d
d a và d b
d
a và b
d
0, d
a và b
a và b
d. Ta k
a và b
a và b là gcd(a, b). Thí
18) = 6, gcd(-18, 27) = 3.
a ta có gcd(a, 0) = a
1.1.2:
là
0 và b | a thì gcd(a, b) = b.
. q + r thì gcd(a, b) = gcd(b, r).
m
a và b
m
b
a m và b m.
a và b
m
a,
a và b
a và b
m
a và b
lcm(a, b) . gcd(a, b) = a . b.
a và b
b.
a và b.
1. Trong khi còn b >
r
2.
a mod b , a
b,b
r.
a).
m gcd(18, 12
a, b và r
a
b
18 = 1 12 + 6
18
12
12 = 2 6 + 0
12
6
6
6
0
0
t
toán này
nguyên x, y, d sao cho: mx + ny = d
m
véc -
r
m, n là hai
n
(a1, a2, a3), (b1, b2, b3), (c1, c2, c3 )
sau:
c1. (a1, a2, a3
(1, 0, m ), (b1, b2, b3
b
(a1, a2, a3) là
q = [a3/ b3]; và (c1, c2, c3
a2, a
(0, 1, n);
(b1, b2, b3); (b1, b2, b3
(c1, c2, c3) và
X
[X
(a1, a2, a3 ) -q(b1, b2, b3 ); (a1,
X
X.
a 4864 và b 3458, ta
a, b, q, r, x, y, x1 , x2 , y1 , y2 (sau
:
a
b
q
r
x
y
4864
3458
3458
1406
1
1406
1
1406
646
2
646
646
114
2
114
76
76
38
x1
x2
y1
y2
0
1
1
0
-1
1
0
-1
1
-2
3
-2
1
3
-1
114
5
-7
5
-2
-7
3
5
76
-27
38
-27
5
38
-7
38
1
38
32
-45
32
-27
-45
38
0
2
0
-91
128
-91
32
128
-45
x, y, r
x 3458 y
r
b
d
b
38, x
32 và y -
-
32
3458 (-45)
.
Th
150
.
38.
m và n
m, n) = 1.
Th
c
.
- Cho a và b
n
a
b theo modulo n
a
b (mod n
a, b chia cho n có cùng
n
a
Th
b (mod n)
: 11
Cho a, a1, b, b1, c Z
a
b mod n
a và b
a
a mod n
a
b mod n thì b
a
a
n
b mod n và b
a1 mod n, b
a mod n
c mod n thì a
b1 mod n thì a + b
c mod n
(a1 + b1) mod n và a b
(a1 b1) mod n
L
a
a theo modulo n.
Cho n > 1
cho n , thì
a-
, và a,
a
b mod n
modulo n
a
n
a theo modulo n
b
theo modulo (n).
d, Không gian Zn và Zn*.
a và b
Không gian Zn (các s nguyên theo modulo n)
n: Zn là
n
Zn
n
Zn
n.
Z10 ={0,1,2,3,.., 9}
Th
Trong Z10
3 (mod 10).
Không gian Zn*
p
n
*
={p
n.
Zn
Zn | gcd(n, p) = 1}, (n
n
n
*
= { p Zn | 1
n
p n
*
1}
Z2 = {0, 1} thì Z2* = {1} vì gcd(1, 2) = 1.
Th
e
.
Cho a Zn. Ngh
nh
x Zn sao cho a x
a
o c a a theo modulo n là s nguyên
1(mod n). N u x t n t
c g i là kh ngh ch. Ngh
duy nh t x Zn, và
o c a a ký hi u là a
1
i v i phép toán
nhân )
Tính ch t:
Cho a, b Zn. Phép chia a cho b theo modulo n
modulo n
a và b theo
b
Cho a Zn, a l
khi gcd(a, n) = 1.
d = gcd(a, n
d
n.
a x = b mod n
b
d
n
n/d.
Thí
1
g, Hàm
- Euler.
= 7 (mod 9) vì 4 7
1 (mod 9)
x
Cho n
1. (n
s t t c các s nguyên
trong kho ng t [1; n] nguyên t cùng nhau v i n và
c g i là hàm phi Euler.
Tính ch t:
p
(n) = p 1 .
Hàm phi Euler là hàm có tính nhân:
m, n) = 1 thì (m n) = (m) (n).
n = p1e1p2e2 pkek
piei là các
n
thì :
i
(n) = n 1
1
p1
1
1
p2
1
1
pn
.
Thu t toán : M t h th ng ch t ch và rõ ràng các ch th nh
m t dãy thao tác trên d li u
u vào sao cho: B t k d li
th nào, sau m t s h u h
c th c hi
ch
nh
c
m t k t qu (output) mong mu n.
a thu t toán
n, tính d
n, tính
ph d ng, tính kh thi.
Các th c mô t thu t toán: Ngôn ng t
Thu t toán t t
thu t toán t t
kh i, mã gi
nh (deterministic): V i hai b d li u vào gi ng nhau,
nh s thi hành các mã l nh gi ng nhau và cho k t qu gi ng
nhau.
Thu t toán ng u nhiên (randomized): V i hai b d li u vào gi ng nhau,
thu t toán ng u nhiên có th th c hi n theo nh ng mã l nh khác nhau và cho
k t qu khác nhau.
Thu t toán và gi i thu t không có s phân bi t trong thu t ng ti ng Anh
(Algorithm).
hi
:
t toán (gi i thu t)
t thu
i
t c u trúc d li u c th .
i thu t: Là vi
ng ngu n tài
nguyên c n ph i có khi th c hi
t gi i thu
Tài nguyên:
Có nhi u ch
i thu
bi n nh
th i gian th c hi n gi i thu t.
Phân tích th i gian th c hi n gi i thu t :
D li u càng l n
D li
th i gian s lý càng ch m.
cn
th i gian th c hi n T(n) là m
Th c hi n trên mô hình máy tính tr u
nh
ng.
c l p v i ph n c ng c th .
Th i gian th c hi n m t thu t toán ph thu c vào c (size) c a d li u vào:
N
:-
?
N
-
N
-
Trong các d li u vào cùng m t c (N), th i gian ch y c a thu t toán
i:
N
?
Bi u di n th i gian ch y b i kí hi u O
f(n) và g(n
nguyên không âm n
f(n) là O(g(n )
c* và n0 sao cho f(n
: f(n) = O(g(n
c*g(n
n
f(n) = 5n3 + 2n2 + 13n + 6 , ta có :
f(n) = 5n3 + 2n2 + 13n
n3 + 2n3 + 13n3 + 6n3 = 26n3
f(n) = O(n3)
f(n
f(n) = aknk + ak 1nk
k
1
n:
a1n + a0thìf(n) = O(nk)
:
n0.
O(1)
O(
logarit
)
O(n)
O(n
)
n
O(n2)
O(n3)
O(2n)
Th i gian ch y c a các l nh
L nh gán
L nh l a ch n
u ki n)
T0(n)
l nh 1 T1(n)
else
l nh 2
T2(n)
Th i gian : T0(n) + max(T1(n) + T2(n))
L nh l p : for, while, do while
v i X(n) s vòng l p.
Thí d :
u ki n l p.
Th i gian th c hi n vòng l p th i
1.2. M t mã truy n th ng.
1.2.1. Mã chuy n d ch (shift cipher).
Z26
S = (P , C , K , E , D ),
P = C = K = Z26
K, x, y
E và D
Z26:
E(K, x) = x + K mod 26,
D(K, y) = y - K mod 26.
K, x, y Z26
dK(eK(x)) = (x +K ) - K mod 26 = x.
K=
và
hengapnhau
x = 7 4 13 6 0 15 13 7 0 20 21 0 14 2 7 8 4 20 19 7 20 1 0 24.
K
y= 20 17 0 19 13 2 0 20 13 7 8 13 1 15 20 21 17 7 6 20 7 14 13 11.
uratncaunhinbpuv rhguhonl.
dãy y
x
1.2.2. Mã thay th (substitution cipher).
S = (P , C , K , E , D ),
, P = C = Z26 , K
Z26. Các ánh
E và D
v i m i x P, y C,
K
Z26 .
Z26
trên Z26
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
x
n
y
a
h
p
o
g
z
q
w
b
t
s
f
l
r
c
s
t
u
v m u
v w x
y
z
e
d
i
k
j
,
x = hengapnhauvaochieuthubay
y = ghsoxlsgxuexfygzhumgunxd.
Z26,
> 4.1026
T
y thành
x.
1.2.3. Mã apphin.
(P , C , K , E , D ) ,
, P = C = Z26 , K = { (a ,b) Z26x Z26|gcd(a, 26) = 1}
E và
D
eK(X) = ax + bmod 26,
dK(Y ) = a-1(y - b)mod 26,
x
P , y C, k= (a, b) K.
a-1mod
a, 26) = 1
dK
Z26
a
:
1, 3, 5, 7 ,9, 11, 15, 17, 19, 21, 23, 25,
o theo mod 26
1, 9, 21, 15, 3, 19, 7, 23, 11, 5, 17, 25.
" hengapnhauvaochieuthubay"
x = 7 4 13 6 0 15 13 7 0 20 21 0 14 2 7 8 4 20 19 7 20 1 0 24.
k
y = 15 0 19 10 6 3 19 15 6 2 7 6 24 16 15 20 0 2 23 15 2 11 6 22,
ng La tinh,
patkgdtpgchgyqpuacxpclgw.
Z26
a,
.N
1.2.4. Mã Vigenere.
Vigenere
16.
Vigenere không
m là
Vigenere
(P, C, K, E, D),
Vigenere
,P=C=K=
E và D
i:
eK(x1,..., xm ) = ( x1 + k1,...., xm+ km ) mod 26
dK(y1,..., ym ) = ( y1-k1,..., ym-km ) mod 26
i x = (x1,..., xm )
P, y =(y1,..., ym ) C, k= (k1,...,km)
K.
Vigenere
m
Vigenere
k
hóa
m = 6 và
:
hengapnhauvaochieuthubay,
x = 7 4 13 6 0 15 | 13 7 0 20 21 0 | 14 2 7 8 4 20 | 19 7 20 1 0 24.
x
xem là x nhóm
26 các
k
mã:
y = 9 12 2 13 4 6 | 15 15 15 1 25 17 | 16 10 22 15 8 11 | 21 15 9 8 4 15
jmcnegpppbzrqkwpilvpjiep.
m
K
mã Vigenere
m
m
m
1.2.5. Mã Hill.
m
Vigenere
vành Z26
m
k Zm m
m
k
k
k-1 theo mod
k
k
:
(P, C, K, E, D),
,P=C=
,
,
E và D
ek(x1,..., xm ) = (x1,..., xm ) k mod 26,
dk(y1,..., ym ) = (y1,..., ym) k-1mod 26
x =(x1,..., xm )
P , y =(y1,..., ym ) C ,k K.
m = 2, và k =
.
x = (x1, x2) ta có dãy = (y1, y2) K
y1 = 11 1 + 3 2
y2 = 8 1 + 7 2 mod 26.
hengapnhauvaochieuthubay,
x = 7 4 | 13 6 | 0 15 | 13 7 | 0 20 | 21 0 | 14 2 | 7 8 | 4 20 | 19 7 | 20 1 |
y = 11 6 |516 | 191 | 8 21 | 8 2 | 23 12 | 4 22 | 23 8 | 0 16 | 22 19 | 15 11 | 20 12.
T
:
lgfqtbivicxmewxiaqwtplum.
,
K-1
y
x
m
k có detk
m
1.2.6. Mã hoán v ( chuy n v - Transposition ).
m
Sm
2, ... ,
m
(P, C, K, E, D),