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

Bài giảng Bảo mật hệ thống thông tin: Chương 4 - Data Encryption Standard và Advanced Encryption Standard

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 (1.24 MB, 31 trang )

CH

NG 4:

Data Encryption Standard và
Advanced Encryption Standard


N i dung
Data Encryption Standard
Advanced Encryption Standard (

c thêm)


Mã hóa tích (Product Cipher)
Mã hóa ch s d ng phép thay th (substitution) hay
phép i ch (transposition) không an toàn (do c
tính c a ngôn ng )
S d ng liên ti p các thao tác mã hóa n gi n s
t o ra cách mã hóa thông tin an toàn h n

Substitution k t h p v i Substitution an toàn h n 1
phép Substitution
Transposition k t h p v i Transposition an toàn h n 1
phép Transposition
Substitution k t h p Transposition cho k t qu an toàn
h n nhi u so v i vi c ch dùng m t lo i thao tác (thay
th hay i ch )

ây là ý t ng m


hóa hi n i.

u cho các ph

ng pháp mã


Quy trình mã hóa theo kh i


Quy trình mã hóa theo kh i
Data Path:
! "ng, quy trình mã hóa bao
g#m nhi u chu k$ mã hóa (round) liên ti p nhau;
m i chu k$ g#m nhi u thao tác mã hóa
Key Schedule: T% khóa g&c (secret key), phát sinh
(có quy lu't) các giá tr( khóa s
c s d ng
trong m i chu k$ mã hóa (round key)


Data Encryption Standard


Data Encryption Standard
Mã hóa theo kh&i (block cipher)
Ý t ng: mã hóa tích (product cipher)
Key: 56 bit
Block: 64 bit
c IBM phát tri)n t% *

* áp Lucifer
Chính th+c công b& ,- 1975
c ch n là Chu.n x lý thông tin liên bang
(Federal Information Processing Standard - /0123
n,m 1976
Gi i thu't mã hóa và gi i mã
c công b&


Data Encryption Standard


Thu t toán b o m t DES
V m t khái ni m DES là thu't toán m , ngh4a là
m i ng "i u bi t thu't toán này.
Tuy nhiên chìa khoá c a DES có
dài t i 56
bit, ngh4a là s& l n th t&i a ) tìm
c chìa
khoá 56 n 256, trung bình là 255 =
36.028.797.018.963.968 l n, m t con s& r7t l n!.
DES
c th8c hi n nh" các phép d(ch, hoán v( và
các phép toán logic trên các bit


Quy trình c a thu t toán DES

DES nh'n vào m t thông i p M 64 bit, m t khóa
K 56 bit và cho ra m t b ng mã C 64 bit.

u tiên, áp d ng m t phép hoán v( bit kh i t o
IP vào M cho ra M’: M’ 9 IP(M).
B c hai, chia M’ thành hai ph n: n a trái L0 =
32 bit và n a ph i R0 9 32 bit.
B c ba, thi hành các phép toán sau v i i = 1, 2,
… 16 (có 16 vòng).
Li = Ri-1
Ri = Li-1 ⊕ f(Ri-1, Ki)
Cu&i cùng hoán v( v i phép hoán v( IP-1 )
c
b n mã cu&i cùng C.


Quy trình Mã hóa c a gi i thu t DES
IP: Initial Permutation
FP: Final Permutation
FP = IP-1
Ghi chú:
FP và IP không có ý ngh4a v m t
mã hóa, chi có tác d ng ) n p
d li u vào và ra các kh&i d li u
(theo c ch ph n c+ng gi a th'p
niên 1970!!!)
! "#


Hoán V Bit Kh i T o
58

50


42

34

26

18

10

2

60

52

44

36

28

20

12

4

62


54

46

38

30

22

14

6

64

56

48

40

32

24

16

8


57

49

41

33

25

17

9

1

59

51

43

35

27

19

11


3

61

53

45

37

29

21

13

5

63

55

47

39

31

23


15

7

Ví d : Bit th+ 58 c a x tr thành bit u tiên c a IP(x)
Bit th+ 50 c a x tr thành bit th+ hai c a IP(x)


Quy trình mã hóa



Li = Ri-1
Ri = Li-1 ⊕ f (Ri-1, Ki)

$


Quy t c m r ng 32 bit thành 48 bit
B ng ch n l a bit E
32

1

2

3

4


5

4

5

6

7

8

9

8

9

10

11

12

13

12

13


14

15

16

17

16

17

18

19

20

21

20

21

22

23

24


25

24

25

26

27

28

29

28

29

30

31

32

1


Hàm $ trong DES
!

)

* "

%

&



)

'

(

)


S-box
S1
14

4 13

0 15
4

1


2 15 11

8

3 10

5

9

0

7

6 12 11

9

5

3

8

3 10

5

0


7

4 14

2 13

1 14

8 13

6

2 11 15 12

9

2

9

1

5 11

3 14 10

0

6 13


9

7

2 13 12

0

5 10

8 14 12

0

1 10

6

9 11

6

9

3

7 12

0


5 14

15 12

8

4

1 10

6 12

7

7

S2
15

1

8 14

6 11

3 13

4

0 14


7 11 10

13

8 10

7 15
1

"# $%&' (

2

3

4 13

3 15

4
) *

4
1

5

2 11


+

'

8 12
6

&!( ',

-,

5

2 15
9
) *-


S-box
S3
10

0

9 14

6

3 15


13

7

0

9

3

4

13

6

4

9

8 15

1 10 13

0

6

9


5

6 10

1 13 12

7 11

4

2

8

2

8

5 14 12 11 15

1

3

0 11

1

2 12


7

8

7

5 10 14

4 15 14

3 11

5

2 12

9 10

1

2

8

5 11 12

4 15

0


4

7

2 12

1 10 14

9

7 13 15

1

3 14

5

2

8

4

4

5 11 12

7


2 14

S4
7 13 14

3

0

6

6 15

13

8 11

5

10

6

9

0 12 11

3 15

0


6 10

1 13

3
8

9


S-box
S5
2 12
14 11
4
11

2

4

1

2 12

7 10 11

6


8

5

4

1

5

0 15 10
9 12

7 13

1 11 10 13

8 12

7

1 14

7

8 15

2 13

3 15 13

5

0 14

9

3

9

8

6

6

3

0 14

6 15

0

9 10

4

5


3

3

4 14

7

5 11

S6
12

1 10 15

10 15

9

2

6

8

0 13

9

5


6

1 13 14

0 11

3

8

3

7

0

4 10

1 13 11

6

1

6

4

2


7 12

9 14 15

5

2

8 12

2 12

9

5 15 10 11 14

4

3

7

0

8 13


S-box
S7

4 11
13
1

2 14 15

0

8 13

4

9

1 10 14

4 11 13 12

3

7 14 10 15

0 11

6 11 13

7
8

1


4 10

7

3 12
3

9

7

5 10

6

1

5 12

2 15

8

6

6

0


5

9

2

3 12

8

9

5

0 15 14

2

1 10

9

3 14

5

0 12

4 12


5

6 11

0 14

2

6 10 13 15

S8
13

2

8

4

6 15 11

1 15 13

8 10

7 11

4

1


9 12 14

1 14

7

4 10

2

3

7

0

8 13 15 12

9

0

3

7

9

2


3

5

8

5

6 11


B ng hoán v P
P
16

7

20

21

29

12

28

17


1

15

23

26

5

18

31

10

2

8

24

14

32

27

3


9

19

13

30

6

22

11

4

25


Key Schedule
Th't t , K là m t dãy 64 bits trong ó có 56 bits
làm khóa và 8 bits dùng ) ki)m tra l i (Ki)m tra
ch:n l;).
Các bit n) ki)m tra ch:n l;.
Cho m t khóa K 64 bits, ta s b= các bit ki)m tra
ch:n l; ta s
c 56 bits khóa.
Cho 56 bit này hoán v( theo b ng hoán v( PC-1.
Ta có: PC-1(K) = C0D0

Trong ó: C0 ch+a 28 bit bên trái
D0 ch+a 28 bit bên ph i


Key Schedule
Cho i ch y t% >cho n 16 tính:
Ci = LSi(Ci-1)
Di = LSi(Di-1)
Ki = PC-2(CiDi)
V i LSi là d(ch chuy)n vòng sang trái m t hay hai
v( trí tùy thu c vào giá tr( c a i.
D(ch chuy)n m t v( trí n u i = 1,2,9 hay 16, d(ch
chuy)n hai v( trí trong các tr "ng h p còn l i,


Key Schedule


Các hoán v trong Key Schedule
PC-1
57

49

41

33

25


17

9

1

58

50

42

34

26

18

10

2

59

51

43

35


27

19

11

3

60

52

44

36

63

55

47

39

31

23

15


7

62

54

46

38

30

22

14

6

61

53

45

37

29

21


13

5

28

20

12

4

./*
0
12 2 )2 2
)32)12* 2 )


Các hoán v trong Key Schedule
PC-2
14

17

11

24

1


5

3

28

15

6

21

10

23

19

12

4

26

8

16

7


27

20

13

2

41

52

31

37

47

55

30

40

51

45

33


48

44

49

39

56

34

53

46

42

50

36

29

32

./)1
0
42 12 2 *2
*2 12) 2*)!



×