Chương 2 - Các phương pháp mã hóa đối xứng. Nội dung chính được trình bày trong chương này: Sơ đồ chung của phương pháp mã hóa đối xứng, một số phương pháp mã hóa đối xứng kinh điển, phương pháp DES, quản trị và phân phối khóa.
Trang 1An toàn và An ninh thông tin
Nguy n Linh Giang
B môn Truy n thông
và M ng máy tính
Trang 2I Nh p môn An toàn thông tin
II Các ph ng pháp mã hóa đ i x ng
III Các h m t khóa công khai
IV Xác th c thông đi p
V Ch ký s và các giao th c xác th c
VI ánh d u n vào d li u
Trang 4Gi thi t
mã đ c thông đi p n u ch d a trên duy nh t n i dung c a v n b n đ c mã hóa( ciphertext ).
thu c vào đ bí m t c a thu t toán.
S đ mã hóa đ i x ng
Trang 6Ngu n thông tin:
– T p h p thông đi p c a ngu n:
Trang 10Phía t n công
đi p Y, đ i ph ng ph i khôi ph c l i ho c K,
ho c X ho c c hai.
S đ chung c a ph ng pháp mã hóa đ i x ng
Trang 11M t mã
– Phân lo i các h th ng m t mã
D ng c a phép toán tham gia vào mã hóa v n b n t d ng
Trang 13S đ mã hóa đ c coi là an toàn vô đi u ki n
toán
tin
S đ chung c a ph ng pháp mã hóa đ i x ng
Trang 14– Ví d : thu t toán DES ( Data Encryption Standard ): Khoá nh phân
• dài 32 bit ⇒S l ng khoá: 232 ⇒ 35.8 phút x lý v i t c đ
1 phép mã hoá/μs ⇒ 2.15 ms v i t c đ 106 phép mã hoá / μs
• dài 56 bit ⇒S l ng khoá: 256 ⇒ 1142 n m x lý v i t c
đ 1 phép mã hoá/μs ⇒ 10.01 gi v i t c đ 106 phép mã hoá / μs
• dài 128 bit ⇒S l ng khoá: 2128 ⇒ 5.4 x 1024 n m x lý v i
t c đ 1 phép mã hoá/μs ⇒ 5.4 x 1018 n m v i t c đ 106 phép
mã hoá / μs
S đ chung c a ph ng pháp mã hóa đ i x ng
Trang 15Các ph ng pháp thay th
Các ký t ch cái đ c gán giá tr ( a = 1, b = 2, )
C = E( p ) = ( p + k ) mod ( 26 ) Trong đó k = 1 25.
Trang 17P = K-1C ( mod 26 )
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 18– Ví d : v i m = 3, h các ph ng trình tuy n tính có d ngsau:
33 32
31
23 22
21
13 12
11
3 2 1
p p p
k k
k
k k
k
k k
k
C C C
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 1921 18
21
5 17
17 K
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 206 17
15
15 9
K C
K (C)
D P
KP (P)
E C
1 1
K
K
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 21H mã m t Hill m x m ;
Thám mã đã có m c p v n b n g c – v n b n m t, m i
v n b n có đ dài m;
T o các c p: P j = ( p 1 j , p 2 j , , p mj ) và C j = ( C 1 j , C 2 j , , C mj ) sao cho Cj = KPjv i 1≤ j ≤ m đ i v i m t khoá K ch a
bi t
Xác đ nh hai ma tr n m x m, X = ( pij) và Y = ( Cij)
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 2219 7
5 2
16 15
15 2
1 9
5 2
16 15
3 8
17
5 K
K 3 8
17 5
5 2
16 15
1
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 23– ki: bit th i c a khoá;
– Ci: bit th i c a v n b n đ c mã hoá;
– ⊕: phép toán XOR
M t s ph ng pháp mã hóa đ i
x ng kinh đi n
Trang 25Mã hóa kh i ( block cipher )
nh ngh a
– Mã kh i là m t mã khóa đ i x ng th c hi n trên
là m t kh i Quá trình chuy n đ i không thay đ i.
– Khi mã hóa, mã kh i có th th c hi n trên t ng kh i
đ dài 128 bit c a b n rõ t i đ u vào th nh t và cho
ra kh i 128 bit c a mã m t.
khóa m t
– Quá trình gi i mã th c hi n t ng t : nh n t i đ u vào th nh t kh i 128 bit c a m t mã, khóa m t và
t i đ u ra ta nh n đ c kh i 128 bit c a b n rõ
Trang 26– mã hóa b n tin có đ dài l nh n kích th c kh i, (
ví d 128 bit ), các ch đ x lý ( mode of operation )
đ c s d ng.
cipher ), trong đó m i ký t đ c thao tác m t l n và quá trình chuy n đ i thay đ i trong su t quá trình mã hóa.
Trang 28M t mã dòng ( Stream Cipher )
M t mã dòng là m t mã khóa đ i x ng, trong đó các ký t c a b n rõ
đ c mã hóa l n l t và quá trình bi n đ i các ký t ti p theo thay đ i trong quá trình mã hóa M t tên khác c a m t mã dòng là m t mã tr ng thái vì quá trình mã hóa t ng ký t ph thu c vào tr ng thái hi n th i.Trong th cc ti n, ký t có th là t ng bít ho c byte
Stream ciphers represent a different approach to symmetric encryption from block ciphers Block ciphers operate on large blocks of digits with
a fixed, unvarying transformation This distinction is not always cut: in some modes of operation, a block cipher primitive is used in such a way that it acts effectively as a stream cipher Stream ciphers typically execute at a higher speed than block ciphers and have lower hardware complexity However, stream ciphers can be susceptible to serious security problems if used incorrectly: see stream cipher attacks
clear-— in particular, the same starting state must never be used twice