Bài giảng An toàn Mạng Máy tính - Bài 3: Các giải thuật mã hóa dữ liệu - Tô Nguyễn Nhật Quang

pdf 77 trang huongle 3350
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn Mạng Máy tính - Bài 3: Các giải thuật mã hóa dữ liệu - Tô Nguyễn Nhật Quang", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_an_toan_mang_may_tinh_bai_3_cac_giai_thuat_ma_hoa.pdf

Nội dung text: Bài giảng An toàn Mạng Máy tính - Bài 3: Các giải thuật mã hóa dữ liệu - Tô Nguyễn Nhật Quang

  1. Trường Đại Học Cơng Nghệ Thơng Tin Khoa Mạng Máy Tính và Truyền Thơng ANAN TOTỒÀNN MMẠẠNGNG MMÁÁYY TTÍÍNHNH ThS. Tơ Nguyễn Nhật Quang
  2. NNỘỘII DUNGDUNG MƠNMƠN HHỌỌCC 1.1. TTổổngng quanquan vvềề anan ninhninh mmạạngng 2.2. CCáácc phphầầnn mmềềmm gâygây hhạạii 3.3. CCáácc gigiảảii thuthuậậtt mãmã hohốá ddữữ liliệệuu 4.4. MãMã hohốá khokhốá cơngcơng khaikhai vvàà ququảảnn lýlý khokhốá 5.5. ChChứứngng ththựựcc ddữữ liliệệuu 6.6. MMộộtt ssốố giaogiao ththứứcc bbảảoo mmậậtt mmạạngng 7.7. BBảảoo mmậậtt mmạạngng khơngkhơng dâydây 8.8. BBảảoo mmậậtt mmạạngng vvàànhnh đđaiai 9.9. TTììmm kikiếếmm phpháátt hihiệệnn xâmxâm nhnhậậpp ATMMT - TNNQ 2
  3. BBÀÀII 33 CCÁÁCC GIGIẢẢII THUTHUẬẬTT MÃMÃ HOHỐÁ DDỮỮ LILIỆỆUU
  4. CCáácc gigiảảii thuthuậậtt mãmã hohốá ddữữ liliệệuu 1.1. GiGiớớii thithiệệuu vvềề mmậậtt mãmã hohốá 2.2. LLịịchch ssửử ccủủaa mmậậtt mãmã 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 5.5. BBẻẻ gãygãy mmộộtt hhệệ ththốốngng mmậậtt mãmã 6.6. BBààii ttậậpp ATMMT - TNNQ 4
  5. 1.1. GiGiớớii thithiệệuu vvềề mmậậtt mãmã hohốá „„ GiGiớớii thithiệệuu –– MMậậtt mãmã hohốá đưđượợcc ssửử ddụụngng kkểể ttừừ ccổổ đđạạii chocho đđếếnn ttậậnn ngngààyy nay.nay. –– HiHiệệnn nay,nay, ccáácc giaogiao ddịịchch ttààii chchíính,nh, chuychuyểểnn khokhoảản,n, muamua ssắắmm hhààngng hohốá,, tthhưư ttừừ,, ttààii liliệệuu đưđượợcc ththựựcc hihiệệnn nhinhiềềuu quaqua mơimơi trtrưườờngng mmạạngng đđịiịi hhỏỏii ddữữ liliệệuu phphảảii đưđượợcc bbảảoo mmậậtt ttốốtt =>=> phphảảii đưđượợcc mãmã hohốá ATMMT - TNNQ 5
  6. 1.1. GiGiớớii thithiệệuu vvềề mmậậtt mãmã hohốá „ MMộộtt ssốố khkhááii niniệệmm –– ThơngThơng bbááo,o, vvăănn bbảản:n: llàà mmộộtt chuchuỗỗii hhữữuu hhạạnn ccáácc kýký hihiệệuu llấấyy ttừừ mmộộtt bbảảngng chchữữ ccááii ZZ nnààoo đđĩĩ vvàà đưđượợcc kýký hihiệệuu llàà m.m. –– MMậậtt mãmã hohốá:: llàà viviệệcc bibiếếnn đđổổii mmộộtt thơngthơng bbááoo saosao chocho nnĩĩ khơngkhơng ththểể hihiểểuu nnổổii đđốốii vvớớii bbấấtt kkỳỳ ngngưườờii khkháácc ngongồàii ngngưườờii nhnhậậnn đưđượợcc mongmong mumuốốn.n. –– PhPhéépp mmậậtt mãmã hohốá ththưườờngng đưđượợcc kýký hihiệệuu llàà e(m),e(m), vvớớii mm llàà thơngthơng bbááoo ccầầnn mãmã hohốá ATMMT - TNNQ 6
  7. 1.1. GiGiớớii thithiệệuu vvềề mmậậtt mãmã hohốá „ Một số khái niệm – Khố: là một thơng số đầu vào của phép mã hố hoặc giải mã. Khố dùng để mã hố ký hiệu là ke, khố dùng để giải mã ký hiệu là kd. – Chuỗi mật mã: là chuỗi nguỵ trang, tức là chuỗi thơng báo qua phép mật mã hố và thường được ký hiệu là c: c=e(m,ke). – Phép giải mã d(c,kd) là quá trình xác định thơng báo gốc (m) từ chuỗi mật mã c và khố giải mã kd, và thường được ký hiệu là d(c,kd): d(c,kd)=m. ATMMT - TNNQ 7
  8. 1.1. GiGiớớii thithiệệuu vvềề mmậậtt mãmã hohốá ATMMT - TNNQ 8
  9. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãmã Mật mã học là ngành cĩ lịch sử hàng ngàn năm. Mật mã học cổ điển với bút và giấy. Mật mã học hiện đại với điện cơ, điện tử, máy tính. Sự phát triển của mật mã học đi liền với sự phát triển của phá mã (thám mã): – Phát hiện ra bức điện Zimmermann khiến Hoa Kỳ tham gia Thế chiến I – Việc phá mã thành cơng hệ thống mật mã của Đức Quốc xã gĩp phần đẩy nhanh thời điểm kết thúc thế chiến II. Hai sự kiện khiến cho mật mã học trở nên đại chúng: – Sự xuất hiện của tiêu chuẩn mật mã hĩa DES. – Sự ra đời của các kỹ thuật mật mã hĩa khĩa cơng khai. ATMMT - TNNQ 9
  10. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãm㠄„ MMậậtt mãmã hhọọcc ccổổ đđiiểểnn –– CCáácc chchữữ ttưượợngng hhììnhnh khơngkhơng tiêutiêu chuchuẩẩnn ttììmm ththấấyy trêntrên ccáácc bbứứcc ttưượợngng AiAi CCậậpp ccổổ đđạạii (c(cááchch đđâyây khokhoảảngng 45450000 nnăămm trtr.CN) CN). –– MãMã hhĩĩaa thaythay ththếế bbảảngng chchữữ ccááii đơđơnn gigiảảnn nhnhưư mmậậtt mãmã hhĩĩaa AtbashAtbash (kho(khoảảngng nnăămm 500500 600600 trtr.CN) CN). –– NgNgưườờii LaLa MãMã xâyxây ddựựngng mmậậtt mãmã CaesarCaesar ATMMT - TNNQ 10
  11. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãm㠄„ MMậậtt mãmã hhọọcc trongtrong ththếế chichiếếnn ththứứ 22 –– NgNgưườờii ĐĐứứcc ssửử ddụụngng rrộộngng rãirãi mmộộtt hhệệ ththốốngng mmááyy rơtorơto ccơơ đđiiệệnn ttửử ccĩĩ têntên ggọọii llàà mmááyy EnigmaEnigma –– PhePhe ĐĐồồngng minhminh ssửử ddụụngng mmááyy TypeXTypeX ccủủaa AnhAnh vvàà mmááyy SIGABASIGABA ccủủaa MMỹỹ,, đđềềuu llàà nhnhữữngng thithiếếtt kkếế ccơơ đđiiệệnn ddùùngng rơtorơto ttươươngng ttựự nhnhưư mmááyy EnigmaEnigma,, songsong vvớớii nhinhiềềuu nângnâng ccấấpp hhơơnn ATMMT - TNNQ 11
  12. Máy Enigma ATMMT - TNNQ 12
  13. Máy Enigma ATMMT - TNNQ 13
  14. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãm㠄 Mật mã học hiện đại – Cha đẻ của mật mã học hiện đại là Claude Shannon. – Tiêu chuẩn mật mã hĩa dữ liệu (Data Encryption Standard) là một phương thức mã hố cơng khai được cơng bố tại Mỹ vào ngày 17.03.1975. – Với chiều dài khố chỉ là 56-bit, DES đã được chứng minh là khơng đủ sức chống lại những tấn cơng kiểu vét cạn (brute force attack - tấn cơng dùng bạo lực). ATMMT - TNNQ 14
  15. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãm㠄 Mật mã học hiện đại – Năm 2001, DES đã chính thức được thay thế bởi AES (Advanced Encryption Standard - Tiêu chuẩn mã hĩa tiên tiến). – Trước thời kỳ này, hầu hết các thuật tốn mật mã hĩa hiện đại đều là những thuật tốn khĩa đối xứng (symmetric key algorithms), trong đĩ cả người gửi và người nhận phải dùng chung một khĩa, và cả hai người đều phải giữ bí mật về khĩa này. – Đối với mật mã hĩa dùng khĩa bất đối xứng, người ta phải cĩ một cặp khĩa cĩ quan hệ tốn học để dùng trong thuật tốn, một dùng để mã hĩa và một dùng để giải mã. Phổ biến nhất là mã hố RSA. ATMMT - TNNQ 15
  16. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãm㠄 Mật mã học hiện đại ATMMT - TNNQ 16
  17. 2.2. LLịịchch ssửử ccủủaa mmậậtt mãm㠄 Mật mã học hiện đại Mã hố RSA ATMMT - TNNQ 17
  18. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn CCáácc yêuyêu ccầầuu ccơơ bbảảnn đđốốii vvớớii gigiảảii thuthuậậtt mmậậtt mãmã hohốá llàà:: –– CCĩĩ ttíínhnh bbảảoo mmậậtt caocao –– CơngCơng khai,khai, ddễễ hihiểểu.u. KhKhảả nnăăngng bbảảoo mmậậtt đưđượợcc chchốốtt vvààoo khokhốá chchứứ khơngkhơng vvààoo bbảảnn thânthân gigiảảii thuthuậật.t. –– CCĩĩ ththểể tritriểểnn khaikhai trêntrên ccáácc thithiếếtt bbịị đđiiệệnn ttửử ATMMT - TNNQ 18
  19. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn „ Mã thay thế đơn giản (Substitution Cipher) – Trong phép này, khố là một hốn vị h của bảng chữ cái Z và mỗi ký hiệu của thơng báo được thay thế bằng ảnh của nĩ qua hốn vị h. – Khố thường được biểu diễn bằng một chuỗi 26 ký tự. Cĩ 26! (≈ 4.1026) hốn vị (khố) – Ví dụ: khố là chuỗi UXEOS , ký hiệu A trong thơng báo sẽ được thay bằng U, ký hiệu B sẽ được thay bằng X – Ư Phá mã? ATMMT - TNNQ 19
  20. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn „„ MãMã thaythay ththếế đơđơnn gigiảảnn ((SubstitutionSubstitution CipherCipher)) Chọn một hốn vị p: Z26 Ỉ Z26 làm khố. VD: – Mã hố ep(a)=X – Giải mã dp(A)=d ATMMT - TNNQ 20
  21. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn „„ MãMã thaythay ththếế nn gramgram –– ThayThay vvìì thaythay ththếế ccáácc kýký ttựự,, nnggưườờii tata ccĩĩ ththểể thaythay ththếế chocho ttừừngng ccụụmm 22 kýký ttựự (diagram),(diagram), 33 kýký ttựự (trigram)(trigram) hohoặặcc ttổổngng ququáátt chocho ttừừngng ccụụmm nn kýký ttựự (n(n gram).gram). –– VVớớii bbảảngng chchữữ ccááii ggồồmm 2626 kýký ttựự titiếếngng AnhAnh ththìì phphéépp thaythay ththếế nn gramgram ssẽẽ ccĩĩ khokhốá llàà mmộộtt hohốánn vvịị ccủủaa 2626n nn gramgram khkháácc nhau.nhau. –– ƯƯ PhPháá mã?mã? ATMMT - TNNQ 21
  22. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn „ Mã thay thế n-gram Trong trường hợp diagram thì hốn vị gồm 262 diagram và cĩ thể biểu diễn bằng một dãy 2 chiều 26x26 trong đĩ các hàng biểu diễn ký hiệu đầu tiên, các cột biểu diễn ký hiệu thứ hai, nội dung của các ơ biểu diễn chuỗi thay thế. AA BB AA EGEG RSRS BB BOBO SCSC ATMMT - TNNQ 22
  23. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn „„ MãMã hohốánn vvịị bbậậcc dd (Permutation(Permutation Cypher)Cypher) –– ĐĐốốii vvớớii mmộộtt ssốố nguyênnguyên ddươươngng dd bbấấtt kkỳỳ,, chiachia thơngthơng bbáoo mm ththàànhnh ttừừngng khkhốốii ccĩĩ chichiềềuu ddààii d.d. RRồồii llấấyy mmộộtt hohốánn vvịị hh ccủủaa 1,1, 2,2, ,, dd vvàà áápp ddụụngng hh vvààoo mmỗỗii khkhốối.i. –– VVíí ddụụ:: nnếếuu d=5d=5 vvàà h=(4h=(4 11 33 22 5),5), hohốánn vvịị (1(1 22 33 44 5)5) ssẽẽ đưđượợcc thaythay ththếế bbằằngng hohốánn vvịị mmớớii (4(4 11 33 22 5).5). ATMMT - TNNQ 23
  24. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn 3.3. MãMã hohốánn vvịị bbậậcc dd VVíí ddụụ:: tata ccĩĩ thơngthơng bbááoo mm == JOHNJOHN ISIS AA GOODGOOD ACTORACTOR QuaQua phphéépp mãmã hohốá nnààyy mm ssẽẽ trtrởở ththàànhnh chuchuỗỗii mmậậtt mãmã cc sau:sau: cc == NJHONJHO AIAI SS DGOODGOO OATCROATCR ƯƯ PhPháá mã?mã? ATMMT - TNNQ 24
  25. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn 4.4. MãMã ddịịchch chuychuyểểnn (Shift(Shift Cypher)Cypher) VigenVigenèèrere vvàà CaesarCaesar TrongTrong phphươươngng phpháápp VigenVigenèère,re, khokhốá baobao ggồồmm mmộộtt chuchuỗỗii ccĩĩ dd kýký ttựự ChChúúngng đưđượợcc viviếếtt llặặpp llạạii bênbên ddưướớii thơngthơng bbááoo vvàà đưđượợcc ccộộngng modulomodulo 26.26. CCáácc kýký ttựự trtrắắngng đưđượợcc gigiữữ nguyênnguyên khơngkhơng ccộộng.ng. NNếếuu d=1d=1 ththìì khokhốá chchỉỉ llàà mmộộtt kýký ttựự đơđơnn vvàà đưđượợcc ggọọii llàà phphươươngng phpháápp CaesarCaesar ((đưđượợcc đưđưaa rara ssửử ddụụngng đđầầuu tiêntiên bbởởii JuliusJulius Caesar).Caesar). ƯƯ PhPháá mã?mã? ATMMT - TNNQ 25
  26. Ví dụ: Plaintext: CRYPTOGRAPHY The classic Caesar Shift chart Ciphertext: HWDUYTLWFUMD (Shift of 5) C=(p+4) mod 26 ATMMT - TNNQ 26
  27. Mã dịch chuyển–Shift Cypher ATMMT - TNNQ 27
  28. Vigenère Encryption – Block Cypher (1523 – 1596) Ví dụ: Từ khố: CHIFFRE Mã hố: VIGENERE Kếtquả: XPOJSVVG ATMMT - TNNQ 28
  29. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn 5.5. OneOne timetime Pad:Pad: e=000 h=001 l=010 d=011 p=100 n=101 a=110 Encryption: Plaintext ⊕ Key = Ciphertext hh ee ll pp nn ee ee dd ee dd Plaintext: 001 000 010 100 101 000 000 011 000 011 Key: 111 101 110 101 111 100 000 101 110 000 110 101 100 001 010 100 000 110 110 011 Ciphertext: aa nn pp hh ll pp ee aa aa dd ATMMT - TNNQ 29
  30. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn 6.6. MãMã tuytuyếếnn ttíínhnh (Affine(Affine Cipher)Cipher) Mã tuyến tính là mã thay thế cĩ dạng: e(x) = ax + b (mod 26), với a, b ∈ Z26. Nếu a = 1 ta cĩ mã dịch chuyển. Giải mã: Tìm x? y = ax + b (mod 26) ax = y – b (mod 26) x = a-1(y – b) (mod 26). ATMMT - TNNQ 30
  31. 3.3. GiGiảảii thuthuậậtt mãmã hohốá ccổổ đđiiểểnn 7.7. PhPhươươngng phpháápp phpháá mãmã ccổổ đđiiểển:n: DDựựaa vvààoo đđặặcc đđiiểểmm ngơnngơn ngngữữ DDựựaa vvààoo ttầầnn susuấấtt xuxuấấtt hihiệệnn ccủủaa ccáácc chchữữ ccááii trongtrong bbảảngng chchữữ ccááii thơngthơng quaqua ththốốngng kêkê ttừừ nhinhiềềuu ngunguồồnn vvăănn bbảảnn khkháácc nhau,nhau, ddựựaa vvààoo ssốố llưượợngng ccáácc kýký ttựự trongtrong bbảảngng mãmã đđểể xxáácc đđịịnhnh thơngthơng bbááoo đđầầuu vvàào.o. ATMMT - TNNQ 31
  32. Tầnsuấtcủacáckýtự trong ngơn ngữ tiếng Anh ATMMT - TNNQ 32
  33. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii „„ ThThưườờngng ssửử ddụụngng mãmã khkhốốii kkếếtt hhợợpp vvớớii ccáácc phphéépp hohốánn vvịị vvàà thaythay ththếế „„ ViViệệcc bibiếếnn đđổổii vvăănn bbảảnn đưđượợcc ththựựcc hihiệệnn nhinhiềềuu llầầnn trongtrong mmộộtt ssốố vịngvịng llặặp.p. „„ KhoKhốá concon ccủủaa ccáácc vịngvịng llặặpp ssẽẽ khkháácc nhaunhau vvàà đưđượợcc sinhsinh rara ttừừ khokhốá banban đđầầu.u. „„ PhPhổổ bibiếếnn ccĩĩ DES,DES, AES,AES, RSA RSA ATMMT - TNNQ 33
  34. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 1.1. PhânPhân loloạạii Mã hố khố đối xứng (symmetric): – Block ciphers: mã hố các khối cĩ chiều dài cố định 64 bit hoặc 128 bit. Phổ biến cĩ IDEA, RC2, DES, Triple DES, Rijndael (AES), MARS, RC6, Serpent, Twofish, DESX, DESL, DESXL. – Stream ciphers: mã hố từng bit của thơng điệp. Đại diện là RC4. Mã hố khố bất đối xứng (asymmetric): RSA ATMMT - TNNQ 34
  35. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES DES (Data Encryption Standard) được sử dụng rộng rãi trên thế giới. Dùng khố cĩ độ dài 56 bit để mã hố các khối dữ liệu 64 bit. Cả bên mã hố lẫn bên giải mã đều dùng chung một khố và DES thuộc vào hệ mã khố bí mật. Xét về độ an tồn, hiện nay 3DES (một cải tiến của DES) được đánh giá là cĩ độ an tồn cao vì độ dài khố của nĩ gấp 3 lần so với DES. ATMMT - TNNQ 35
  36. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2.2. ChuChuẩẩnn mãmã hohốá ddữữ liliệệuu DESDES ATMMT - TNNQ 36
  37. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 37
  38. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 38
  39. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 39
  40. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 40
  41. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 41
  42. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 42
  43. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 43
  44. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 44
  45. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 45
  46. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 46
  47. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 47
  48. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 48
  49. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 49
  50. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 50
  51. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 51
  52. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 52
  53. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 53
  54. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 54
  55. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 55
  56. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 56
  57. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 57
  58. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 2. Chuẩn mã hố dữ liệu DES ATMMT - TNNQ 58
  59. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3. Hệ mã hố cơng khai RSA Được sử dụng phổ biến trong thương mại điện tử Đảm bảo an tồn với điều kiện độ dài khĩa đủ lớn. Thuật tốn RSA cĩ hai khĩa: – khĩa cơng khai (hay khĩa cơng cộng) – khĩa bí mật (hay khĩa cá nhân). Mỗi khĩa là những số cố định sử dụng trong quá trình mã hĩa và giải mã. Khĩa cơng khai được cơng bố rộng rãi cho mọi người và được dùng để mã hĩa. Những thơng tin được mã hĩa bằng khĩa cơng khai chỉ cĩ thể được giải mã bằng khĩa bí mật tương ứng. ATMMT - TNNQ 59
  60. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3. Hệ mã hố cơng khai RSA Ta cĩ thể mơ phỏng trực quan một hệ mật mã khố cơng khai như sau : – Bob muốn gửi cho Alice một thơng tin mật. – Alice sẽ gửi cho Bob một chiếc hộp cĩ khĩa đã mở sẵn và giữ lại chìa khĩa. – Bob nhận chiếc hộp, cho vào đĩ một tờ giấy viết thư bình thường và khĩa. – Sau đĩ Bob gửi chiếc hộp lại cho Alice. – Alice mở hộp với chìa khĩa của mình và đọc thơng tin trong thư. – Trong ví dụ này, chiếc hộp với khĩa mở đĩng vai trị khĩa cơng khai, chiếc chìa khĩa chính là khĩa bí mật. ATMMT - TNNQ 60
  61. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3.3. HHệệ mãmã hohốá cơngcơng khaikhai RSARSA Bob Alice ATMMT - TNNQ 61
  62. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3.3. HHệệ mãmã hohốá cơngcơng khaikhai RSARSA Chọnmộtsố ngẫu nhiên lớn để sinh cặpkhĩa. Dùng khố cơng khai để mã hĩa, nhưng dùng khố bí mật để giảimã. ATMMT - TNNQ 62
  63. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3.3. HHệệ mãmã hohốá cơngcơng khaikhai RSARSA Tổ hợpkhốbímậtcủamìnhvới Dùng khố bí mật để ký một thơng báo; dùng khố bí mậtcủangườikháctạora khố cơng khai để xác minh chữ ký. khố dùng chung chỉ hai ngườibiết. ATMMT - TNNQ 63
  64. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3.3. HHệệ mãmã hohốá cơngcơng khaikhai RSARSA ATMMT - TNNQ 64
  65. 4.4. GiGiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii 3. Hệ mã hố cơng khai RSA Các giải thuật mã hố DES và RSA cịn được ứng dụng vào chữ ký điện tử. Giải thuật RSA là rất an tồn nhưng tốc độ mã hố và giải mã chậm hơn giải thuật DES hàng ngàn lần. Thơng thường người ta thường kết hợp hai phương pháp mã hố DES và RSA như sau: – DES mã hố khối văn bản. – RSA để mã hố khố mà DES đã dùng để mã hố khối văn bản. ATMMT - TNNQ 65
  66. 5.5. BBẻẻ gãygãy mmộộtt hhệệ ththốốngng mmậậtt mãmã NhNhữữngng chuyênchuyên giagia mmậậtt mãmã hayhay nhnhữữngng kkẻẻ tấấnn cơngcơng ththưườờngng đưđượợcc gigiảả thithiếếtt bibiếếtt đđầầyy đđủủ thơngthơng tintin vvềề hhààmm mãmã hohốá ee vvàà hhààmm gigiảảii mãmã d.d. CCáácc chuyênchuyên giagia nnààyy ccũũngng ccĩĩ ththểể ccĩĩ thêmthêm nhinhiềềuu thơngthơng tintin hhỗỗ trtrợợ nhnhưư ccáácc ththốốngng kêkê vvềề ngơnngơn ngngữữ,, kikiếếnn ththứứcc vvềề ngngữữ ccảảnh nh VVớớii mmộộtt chuchuỗỗii mmậậtt mãmã nnàoo đđĩĩ,, hhọọ thithiếếuu khokhốá kk đđểể ccĩĩ ththểể ssửử ddụụngng dd đđểể gigiảảii mãmã cc mmộộtt ccááchch chchíínhnh xxáác.c. ATMMT - TNNQ 66
  67. 5.5. BBẻẻ gãygãy mmộộtt hhệệ ththốốngng mmậậtt mãmã ATMMT - TNNQ 67
  68. 5.5. BBẻẻ gãygãy mmộộtt hhệệ ththốốngng mmậậtt mãmã Các khả năng tấn cơng trên hệ thống: 1. Tấn cơng chỉ dựa trên chuỗi mật mã (crytogram-only attack): đối phương chỉ biết một vài mẫu chuỗi mật mã c. 2. Tấn cơng dựa trên văn bản đã biết (known-plaintext attack): Trong trường hợp này những người tấn cơng được giả thiết là đã biết một độ dài đáng kể của văn bản thơng báo và chuỗi mật mã tương ứng, và từ đĩ cố gắng tìm ra khố. 3. Tấn cơng dựa trên văn bản được chọn (chosen-plaintext attack): những người tấn cơng cĩ thể đã cĩ được một số lượng tuỳ ý của các cặp thơng báo và chuỗi mật mã tương ứng (m, c). ATMMT - TNNQ 68
  69. 5.5. BBẻẻ gãygãy mmộộtt hhệệ ththốốngng mmậậtt mãmã CCáácc khkhảả nnăăngng ttấấnn cơngcơng trêntrên hhệệ ththốống:ng: Kiểu tấn cơng Đối phương nắm được ciphertext only attack Chỉ văn bản mã c known plaintext attackattack Cả văn bản nguồn p và văn bản mã c Đột nhập được vào máy mã hố. Tự chosen plaintext attack chọn văn bản p và mã hố lấy được văn bản mã c tương ứng. Đột nhập được vào máy giải mã. Tự chosen ciphertext attack chọn văn bản mã c và giải mã lấy được văn bản p tương ứng. ATMMT - TNNQ 69
  70. 5.5. BBẻẻ gãygãy mmộộtt hhệệ ththốốngng mmậậtt mãmã Thời gian trung bình để tìm khố theo kiểu vét cạn Number of Time required at 1 Time required at 106 Key size (bits) alternative keys decryption/μs decryption/μs 32 232 = 4.3 x 109 231 μs = 35.8 2.15 milliseconds minutes 56 256 = 7.2 x 1016 255 μs = 1142 10.01 hours years 128 2128 = 3.4 x 1038 2127 μs = 5.4 x 1024 5.4 x 1018 years years 168 2168 = 3.7 x 1050 2167 μs = 5.9 x 1036 5.9 x 1030 years years 26 characters 26! = 4 x 1026 2 x = 6.4 x 1012 6.4 x 106 years (permutation) 1026 μs years ATMMT - TNNQ 70
  71. 6.6. BBààii ttậậpp 1.1. GiGiảảii ththííchch ccơơ chchếế ccủủaa viviệệcc bbẻẻ gãygãy mmậậtt mãmã ccủủaa hhệệ ththốốngng sau:sau: ATMMT - TNNQ 71
  72. 6.6. BBààii ttậậpp 2. TTììmm mãmã hohốá ccủủaa ccáácc kýký ssốố 11 9:9: Mỗi biểu tượng trong số chín biểu tượng xuất hiện trong mảng dưới đây (U<>{♥♠◊♣y) mã hĩa duy nhất một trong các chữ số 1 đến 9. Cột ngồi cùng bên phải là các tổng sốởmỗi hàng Hàng dưới cùng cho các tổng sốởmỗi cột. Một dấu hỏi cĩ thể đại diện cho bất kỳ một hoặc hai chữ số và khơng nhất thiết phải cùng một số trong mỗi trường hợp. ATMMT - TNNQ 72
  73. 6.6. BBààii ttậậpp 2.2. TTììmm mãmã hohốá ccủủaa ccáácc kýký ssốố 11 9:9: ATMMT - TNNQ 73
  74. 6.6. BBààii ttậậpp 3.3. SSửử ddụụngng cơngcơng ccụụ CryptoolCryptool CryptoolCryptool llàà mmộộtt ứứngng ddụụngng mimiễễnn phphíí chchạạyy trêntrên Windows,Windows, ththưườờngng đưđượợcc ssửử ddụụngng đđểể phânphân ttííchch ccáácc gigiảảii thuthuậậtt mãmã hohốá PhiênPhiên bbảảnn hihiệệnn naynay llàà 11.4.30 4.30. ĐĐịịaa chchỉỉ downloaddownload Cryptool:Cryptool: ATMMT - TNNQ 74
  75. 6.6. BBààii ttậậpp 4.4. NêuNêu ccơơ chchếế hohoạạtt đđộộngng vvàà viviếếtt ứứngng ddụụngng chocho phphéépp mãmã hohốá vvàà gigiảảii mãmã vvớớii 22 (hai)(hai) trongtrong ssốố nhnhữữngng gigiảảii thuthuậậtt mãmã hohốá sau:sau: i.i. VigenVigenèèrere ii.ii. Hill.Hill. iii.iii. AffineAffine iv.iv. PlayfairPlayfair v.v. SolitaireSolitaire ATMMT - TNNQ 75
  76. 6.6. BBààii ttậậpp 5.5. NêuNêu chichi titiếếtt ccơơ chchếế hohoạạtt đđộộngng ccủủaa gigiảảii thuthuậậtt mãmã hohốá DES.DES. 6.6. TrTrììnhnh bbààyy ttổổngng quanquan vvềề ccơơ chchếế hohoạạtt đđộộngng ccủủaa ccáácc gigiảảii thuthuậậtt RC4RC4 vvàà RSA.RSA. 7.7. ViViếếtt ứứngng ddụụngng mãmã hohốá vvàà gigiảảii mãmã chocho mmộộtt gigiảảii thuthuậậtt mãmã hohốá hihiệệnn đđạạii tutuỳỳ chchọọn.n. ATMMT - TNNQ 76
  77. ATMMT - TNNQ 77