Tải bản đầy đủ (.ppt) (18 trang)

Bài Thảo Luận : Tìm hiểu mã hoá khối pptx

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 (811.52 KB, 18 trang )

ì
Bài Thảo Luận : Thực tập an toàn thông tin
Bài Thảo Luận : Thực tập an toàn thông tin
Chủ đề : Tìm hiểu mã hoá khối
Chủ đề : Tìm hiểu mã hoá khối
Giáo viên hướng dẫn : TH.S CAO NGỌC ÁNH
Giáo viên hướng dẫn : TH.S CAO NGỌC ÁNH
Thành viên:
Thành viên:


Bùi Vĩnh Tiến
Bùi Vĩnh Tiến


Nguyễn Duy Trung
Nguyễn Duy Trung


Lê Công Đồng
Lê Công Đồng
I. Mã kh iố

Mã hóa kh i là nh ng thu t toán mã hóa đ i x ng ho t đ ng trên ố ữ ậ ố ứ ạ ộ
nh ng kh i thông tin có đ dài xác đ nh(block) v i nh ng chuy n đ i ữ ố ộ ị ớ ư ể ổ
xác đ nh. ị

Phân bi t v i mã hóa kh i là mã hóa dòng. Mã hóa dòng làm vi c trên ế ớ ố ệ
t ng bít c a d li u và quá trình bi n đ i thay đ i theo quá trình mã ừ ủ ữ ệ ế ổ ổ
hóa. Tuy nhiên, s phân bi t gi a 2 ph ng pháp nhi u khi không rõ ự ệ ữ ươ ề
ràng vì mã hóa kh i khi ho t đ ng theo m t ch đ nào đó thì có tác ố ạ ộ ộ ế ộ


d ng nh m t ph ng pháp mã hóa dòng.ụ ư ộ ươ

Đ xây d ng thu t toán mã hóa kh i an toàn b ng cách s d ng k t ể ự ậ ố ằ ử ụ ế
h p các thao tác mã hóa t o ra tính h n lo n và tính khu ch tán thông ợ ạ ỗ ạ ế
tin:

Tính h n lo n giúp phá v m i quan h gi a b n rõ và b n mã, t o ỗ ạ ỡ ố ệ ữ ả ả ạ
ra m i quan h ph c t p và ch t ch gi a khóa và b n mã.ố ệ ứ ạ ặ ẽ ữ ả

S khu ch tán giúp phá v và phân tán các ph n t trong các m ự ế ỡ ầ ử ẫ
xu t hi n trong b n rõ đ không th phát hi n ra các m u này ấ ệ ả ể ể ệ ẫ
trong b n mã.ả
II. Các ch đ s d ng Mã kh iế ộ ử ụ ố
1. Ch đ b ng tra mã đi n t (Electronic code book -ECB)ế ộ ả ệ ử
Ký hi u :ệ
E : Encryption (Mã hóa)
Pi : Plaintext block I (Kh i b n rõ)ố ả
K : Secret key (Khóa b o m t)ả ậ
D : Decryption (Gi i mã)ả
Ci : Ciphertext block i (Kh i b n mã)ố ả

Mã hóa:
Cj= Ek(Pj)
P=P1P2…Pn

Giải mã:
Pj= Dk(Cj)

Chỉ thích hợp cho việc mã
hóa các thông điệp ngắn.

Bảng mã của thông điệp dài
có tính an toàn không cao.

u đi m c a ECB :Ư ể ủ

Đ n gi n ơ ả

Không câ n đô ng bô hóa gi a be n g i và nhân. ̀ ̀ ̃ ̣̂ ư ử ̣

Các bit l i s không đ c đ a vào các kh i k sau . ỗ ẽ ượ ư ố ế

Nh c đi m :ượ ể

Trong ch đ này, các kh i đ c t o m t mã riêngbi t, đ c l p. Do ế ộ ố ượ ạ ậ ệ ộ ậ
đó, nh ng kh i tin gi ng nhau s đ c mã hóa thành nh ng kh i mã ữ ố ố ẽ ượ ữ ố
gi ng nhau.ố

Traffic analysis (Phân tích đ ng truy n): Ng i tha m mã có th d a ́ườ ề ườ ể ự
vào y u t ca c khô i plaintext giô ng nhau t o các th ng kê v các ́ ́ ́ế ố ạ ố ề
b n rõ t ng ng ngay c khi không gi i mã đ c toàn b b n mã, ả ươ ứ ả ả ượ ộ ả
ng i thám mã có th l i d ng th ng ke này đ khám phá khóa.̂ườ ể ợ ụ ố ể

Substitution attack (T n công thay th ): Mode ECB không b o v ấ ế ả ệ
đ c b n mã nhi u kh i. Đ i th có th s a đ i 1 thông báo dài b ng ượ ả ề ố ố ủ ể ử ổ ằ
cách ch c n xóa b t hay thay đ i th t m t vài kh i. N u đ i th ỉ ầ ớ ổ ứ ự ộ ố ế ố ủ
có trong tay 1 vài kh i mã đ c mã hóa cùng khóa v i thông ba o, đ i ́ố ượ ớ ố
th có th chèn nó vào b n mã. ECB không ne n dùng đ mã hóa các ̂ủ ể ả ể
b n rõ dài có nhi u kh i.ả ề ố

Ví dụ

N u ECB đ c s d ng trong truy n tin m t trong giao d ch ngân hàng, k đ ch có ế ượ ử ụ ề ậ ị ẻ ị
th t n công làm gi thông báo, l nh chuy n tài kho n. Nh c đi m nói trên ể ấ ả ệ ể ả ượ ể
khi n cho vi c truy n tin m t theo ch đ mã này là không có l i, tuy nhiên ch ế ệ ề ậ ế ộ ợ ế
đ này th ng đ c dùng trong mã hóa thông tin l u tr , ví d nh các c s d ộ ườ ượ ư ữ ụ ư ơ ở ữ
li u vì nó cho phép t ng đ n v d li u đ c mã hóa đ c l p và do đó có th c p ệ ừ ơ ị ữ ệ ượ ộ ậ ể ậ
nh t thay đ i d dàng t ng ph n mà không đ ng ch m đ n các ph n khác c a c ậ ổ ễ ừ ầ ộ ạ ế ầ ủ ơ
s d li u.ở ữ ệ
VD1: Mã hóa và gi i mã b n rõ : “Hello !!Hello !!Hello !!” Key : “abcdefgh” theo ả ả
h mã DES v i c ch ma hóa ECB.̃ệ ớ ơ ế
Ta có
B n rõ C (ASCII) : Hello !!Hello !!Hello !!ả
B n rõ C (HEX) : 48656C6C6F20212148656C6C6F20212148656C6C6F202121ả
Khóa key (ASCII) : abcdefgh
Khóa key (HEX) : 6162636465666768
Kh iố Kh i b n rõố ả Kh i mã mã hóa DESố
Kh i mã sau khi mã hóa ố
DES
Kh i b n mãố ả
C1 48656C6C6F202121 48656C6C6F202121 44665395698A26B9 44665395698A26B9
C2 48656C6C6F202121 48656C6C6F202121 44665395698A26B9 44665395698A26B9
C3 48656C6C6F202121 48656C6C6F202121 44665395698A26B9 44665395698A26B9
VD1.1. Mã hóa
B1 : Chia bản rõ ra thành các khối bản rõ (Plaintext block) 64bit
Bản rõ gồm các khối : C1: 48656C6C6F202121
C2: 48656C6C6F202121
C3: 48656C6C6F202121
B2 : Mã hóa các khối bản rõ theo hệ mã DES bằng khóa Key :
6162636465666768
B3 : Sau khi mã hóa được các khối thì bản mã chính là tổng hợp của các khối
bản mã

Bản mã sau khi mã hóa DES theo chế độ ECB :
44665395698A26B944665395698A26B944665395698A26B9
2. Ch đ mã móc xích (Cipher Block Chaining -CBC)ế ộ
Ký hi u :ệ
E : Encryption (Mã hóa)
Pi : Plaintext block I (Kh i b n rõ)ố ả
K : Secret key (Khóa b o m t)ả ậ
D : Decryption (Gi i mã)ả
Ci : Ciphertext block i (Kh i b n mã)ố ả
IV : Initial Vector (C0)

Trong chế độ này, mỗi khối tin trước khi được mã hóa thì được XOR với khối mã sinh
ra từ bước trước đó.

Hàm mã hóa:
C0 = IV
Cj= Ek(Cj-1
XOR Pj)
1.Hàm giải mã:
Pj= Cj-1 XOR
Dk(Cj)
Chú ý khối đầu
tiên:
C0 = Ek(IV
XOR Pj)
P0 = IV XOR
Dk(C1)

Ca c v n đê bao m t trong CBĆ ̀ấ ̉ ậ


Ca c khô i plaintext giô ng nhau trong cùng 1 message th ng đ c mã ́ ́ ́ ̀ươ ượ
hóa thành ca c khô i ciphertext kha c nhau. Tuy nhie n ne u 2 message ́ ́ ́ ̂ ̂
giô ng nhau thì se cho ke t qua mã hóa giô ng nhau ne u cùng gia tri ́ ̃ ̂́ ́ ̂́ ́̉ ̣
IV.

Error Propagation : Các kh i ciphertext có liên quan v i nhau, vì v y có ố ớ ậ
nghĩa là ca c l i cũng s truy n theo.– Vi d : kh i mã ci đ c truy n ́ ́ỗ ẽ ề ụ ố ượ ề
v i 1 l i, khi đó khô i ci và ci+1 s gi i mã không đu ng. Nh ng t t c ́ ́ớ ỗ ẽ ả ư ấ ả
ca c kh i mã kha c c1, ,ci−1, ci+2, , không bi anh h ng.́ ́ố ̣ ̉ ưở

Ví dụ
VD2: Mã hóa và gi i mã b n rõ : “Hello !!Hello !!Hello !!” Key : ả ả
“abcdefgh” Initialization Vector(IV): “defghabc” theo h mã DES v i ệ ớ
c ch ma hóa CBC̃ơ ế
Ta có
B n rõ C (ASCII) : Hello !!Hello !!Hello !!ả
Bản rõ C(HEX) :
48656C6C6F20212148656C6C6F20212148656C6C6F202121
Khóa key (ASCII) : abcdefgh
Khóa key (HEX) : 6162636465666768
IV (ASCII) : defghabc
IV (HEX) : 6465666768616263
B3 : XOR Kh i b n mã P1 v i C2 sau đó th c hi n mã hóa DES v i khóa key ta ố ả ớ ự ệ ớ
đ c kh i b n mã P2ượ ố ả
C2: 48656C6C6F202121
P1: 894D6EB32C66803C
C2 XOR P1 : C12802DF4346A11D
Mã hóa DES C2 XOR P1 v i khóa Key ta đ c b n mã P2: C12802DF4346A11Dớ ượ ả
B4 : L p l i b c 3 đ n khi mã hóa h t các kh i b n rõ ặ ạ ướ ế ế ố ả
XOR Kh i b n mã P2 v i C3 sau đó th c hi n mã hóa DES v i khóa key ta đ c ố ả ớ ự ệ ớ ượ

kh i b n mã P3ố ả
C3: 48656C6C6F202121
P2: C12802DF4346A11D
C3 XOR P2: 894D6EB32C66803C
Mã hóa DES C3 XOR P2 v i khóa Key ta đ c b n mã P3: 894D6EB32C66803Cớ ượ ả
B5 : Sau khi mã hóa đ c toàn b các kh i b n rõ ta đ c b n mã là t p h p ượ ộ ố ả ượ ả ậ ợ
c a các kh i b n mã ủ ố ả
B n mã sau khi mã hóa DES ch đ CBC :ả ở ế ộ
894D6EB32C66803C C12802DF4346A11D894D6EB32C66803C
3.Ch đ Mã ph n h i k-bit (k-bit Cipher Feedback Mode -CFB)ế ộ ả ồ
Ký hi u :ệ
E : Encryption (Mã hóa)
Pi : Plaintext block I (Kh i b n rõ)ố ả
K : Secret key (Khóa b o m t)ả ậ
D : Decryption (Gi i mã)ả
Ci : Ciphertext block i (Kh i b n mã)ố ả
IV : Initial Vector (C0)
W

Mã hóa
Cj= Pj XOR Ek(Cj-1)

Giải mã:
Pj= Cj XOR Dk(Cj-1)

Ví dụ
VD3: Mã hóa và gi i mã b n rõ : “Hello !!Hello !!Hello !!” Key : “abcdefgh” ả ả
Initialization Vector(IV): “defghabc” theo h mã DES v i c ch ma hóa CFB̃ệ ớ ơ ế
Ta có
B n rõ C (ASCII) : Hello !!Hello !!Hello !!ả

B n rõ C (HEX) : 48656C6C6F20212148656C6C6F20212148656C6C6F202121ả
W
Khóa key (ASCII) : abcdefgh
Khóa key (HEX) : 6162636465666768
IV (ASCII) : defghabc
IV (HEX) : 6465666768616263
VD3.1. Mã hóa
B1 : Chia b n rõ ra thành các kh i b n rõ (Plaintext block) 64bitả ố ả
B n rõ g m các kh i : ả ồ ố C1: 48656C6C6F202121
C2: 48656C6C6F202121
C3: 48656C6C6F202121
B2 : Th c hi n mã hóa DES IV v i khóa Keyự ệ ớ
Mã hóa DES IV : 6465666768616263
Key : 6162636465666768
K t qu Des1: ế ả 2FDC6E5FFFB9157F
B3 : Th c hi n XOR K t qu sau khi mã hóa DES : Des1 v i kh i b n rõ ự ệ ế ả ớ ố ả
C1 ta đ c kh i b n mã P1ượ ố ả
C1: 48656C6C6F202121
Des1: 2FDC6E5FFFB9157F
P1: 67B902339099345E
W
B4 : Th c hi n mã hóa DES P1 v i khóa Key sau đó XOR v i kh i b n ự ệ ớ ớ ố ả
rõ C2 ta đ c kh i b n mã P2ượ ố ả
Mã hóa DES P1: 67B902339099345E
Key: 6162636465666768
K t qu Des2:ế ả 5B5C22D51D1A5B49
Th c hi n XOR k t qu Des2 v i C2 ta đ c P2ự ệ ế ả ớ ượ
C2: 48656C6C6F202121
Des2: 5B5C22D51D1A5B49
P2:

13394EB9723A7A68
B5 : L p l i b c 4 đ n khi mã hóa h t các kh i b n rõ ặ ạ ướ ế ế ố ả
Th c hi n mã hóa DES P2 v i khóa Key sau đó XOR v i kh i b n rõ C3 ta ự ệ ớ ớ ố ả
đ c kh i b n mã P3ượ ố ả
Mã hóa DES P2: 13394EB9723A7A68
Key: 6162636465666768
K t qu Des3:ế ả E832BC92806BFB2C
Th c hi n XOR k t qu Des3 v i C3 ta đ c P3ự ệ ế ả ớ ượ
C3: 48656C6C6F202121
Des3: E832BC92806BFB2C
P3: A057D0FEEF4BDA0D
B6: Sau khi mã hóa đ c toàn b các kh i b n rõ ta đ c b n mã là t p ượ ộ ố ả ượ ả ậ
h p c a các kh i b n mã ợ ủ ố ả
B n mã sau khi mã hóa DES ch đ CFB :ả ở ế ộ
67B902339099345E13394EB9723A7A68
A057D0FEEF4BDA0D
III. Ý nghĩa c a m t mã kh i ủ ậ ố
Mã kh i có m t u đi m đó là t c đ mã hoá r t nhanh, ố ộ ư ể ố ộ ấ
nó có th đáp ng cho vi c mã d li u, ti ng nói. Mã ể ứ ệ ữ ệ ế
kh i là y u t n i b t và quan tr ng trong m t s các h ố ế ố ổ ậ ọ ộ ố ệ
th ng m t mã. C th chúng cung c p m t s tin c y. ố ậ ụ ể ấ ộ ự ậ
Gi ng nh vi c xây d ng m t kh i c b n, chúng linh ố ư ệ ự ộ ố ơ ả
ho t h n trong vi c cho phép xây d ng các s gi ng u ạ ơ ệ ự ố ả ẫ
nhiên, dòng khoá, MAC và các hàm băm. Mã kh i có th ố ể
ng d ng cho c các thu t toán mã hoá bí m t và công ứ ụ ả ậ ậ
khai.

×