Tải bản đầy đủ (.pdf) (84 trang)

Nghiên cứu đề xuất thuật toán mã hóa văn bản có độ bảo mật cao trên cơ sở mật mã truyền thống (Luận văn thạc sĩ)

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 (14.9 MB, 84 trang )

: 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:



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:



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=

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),


×