1. Trang chủ
  2. » Công Nghệ Thông Tin

đề cương ôn tập mật mã học PTIT

30 1,9K 21

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,86 MB
File đính kèm đề cương ôn tập mật mã học.rar (2 MB)

Nội dung

1.hãy định nghĩa về tấn công chỉbiếtbảnmã (ciphertextonly attack)? Lấy ví dụ minh họa về cuộc tấn công này?2.hãy định nghĩa về tấn công biếtbảnrõ (knownplaintext attack)? Lấy ví dụ minh họa về cuộc tấn công này?.3.hãy định nghĩa về Tấn công bảnrõchọnsẵn (chosenplaintext attack)? Lấy ví dụ minh họa về cuộc tấn công này?4.hãy định nghĩa về Tấn công bảnmãchọnsẵn (chosenciphertextattack)? Lấy ví dụ minh họa về cuộc tấn công này?5.hãy trình bày và giải thích các yêu cầu cơ bản trong thủ tục sinh khóa trong giải thuật mã hóa RSA?6.hãy mô tả cấu trúc khối Feistel ? Hãy vẽ sơ đồ mã hóa theo nguyên tắc cấu trúc khối Feistel ?

Trang 1

CHƯƠNG 3: MÃ HÓA KHỐI DÒNG BÍ MẬT CÔNG KHAI 2

1 Nêu định nghĩa mã hóa dòng Nêu các đặc điểm chính mã hóa dòng Ứng dụng mã hóa dòng trong thực tế 2

2 Trình bày khái niệm về mã hóa khối Nêu các yêu cầu khi thiết kế mã hóa khối Các thuật toán DES AES thuộc mã hóa khối nào? 3

3 Trình bày tổng quan và quy trình mã hóa thuật toán mã hóa RC4 Nêu ví

dụ minh họa ? 4

4 Trình bày tổng quan, các thành phần về hệ mật khóa bí mật Ưu điểm và nhược điểm của hệ mật khóa bí mật 5

5 Trình bày tổng quan, các thành phần về hệ mật khóa công khai Ưu điểm

và nhược điểm của mã hóa công khai 6

6 Trình bày tổng quan về mô hình mã Feistel Vẽ sơ đồ khối của mã Feistel.

8

7 Hãy trình bày quy trình mã hóa và giải mã thuật toán RSA 10

8 Trình bày và lấy ví dụ minh họa một số cuộc tấn công lên phương pháp

mã hóa RSA 11

9 Trình bày sơ lược mô hình trao đổi khóa công khai trong mã hóa khóa công khai 12 CHƯƠNG 3.1: CÁC THỨ LIÊN QUAN AES, DES 12

10 Trình bày cơ sở toán học của mã hóa AES Trình bày các bước xử lý chính của quy trình mã hóa AES 12

11 Nêu các yêu cầu với mã hóa AES Trình bày quy trình giải mã AES 13

12 Trình bày quy trình mã hóa DES Vẽ sơ khối tổng quát của quy trình

mã hóa DES 14

13 Ưu nhược điểm, các cuộc tấn công lên DES 16 CHƯƠNG 4: HÀM BĂM 17

Trang 2

14 Hãy định nghĩa về hàm băm Hãy định nghĩa hàm có khóa, hàm băm không có khóa Hãy nêu các đặc trưng và các tính chất cơ bản của hàm

băm.Lấy Ví dụ về các tính chất? 17

15 Hãy nêu các tính chất cơ bản của hàm băm không có khóa Hãy trình bày nguyên tắc làm việc của hàm băm có khóa dựa trên các mật mã khối 20

16 Trình bày tổng quan về quá trình xử lý thông điệp của SHA1 21

17 Trình bày tổng quan về hàm băm MD5 21

CHƯƠNG 5: ỨNG DỤNG MÃ HÓA 22

18 Trình bày quy trình hoạt động Kerberos 23

19 Trình bày sơ lược về chức năng cung cấp các dịch vụ an ninh mạng của Kryptoknight 24

20 Trình bày sơ lược một số ứng dụng trong hiện tại của Pretty Good Privacy (PGP) 27

21 Trình bày ứng dụng cụ thể Smart Cards cho điện thoại di động 29

PHẦN BONUS 30

Chương 3: Mã hóa khối dòng bí mật công khai

1 Nêu định nghĩa mã hóa dòng Nêu các đặc điểm chính mã hóa dòng Ứng dụng mã hóa dòng trong thực tế

Định nghĩa: Cho K là một không gian khóa của một hệ mã và cho là một dòng khóa Hệ mã này được gọi là một mã dòng nếu việc mã hóa trên chuỗi bản rõ thu được bằng cách áp dụng lặp đi lặp lại của phép mã hóa trên những đơn vị thông điệp bản rõ

Trang 3

Ứng dụng

 Thuật toán A5/1

A5/1 được dùng trong mạng điện thoại GSM, để bảo mật dữ liệu trong quá trình liên lạc giữa máy điện thoại và trạm thu phát sóng vô tuyến Đơn vị mã hóa của A5/1 là một bít Bộ sinh số mỗi lần sẽ sinh ra hoặc bít 0 hoặc bít 1 để sử dụng

trong phép XOR Ứng dụng thuật toán A5/1: Mã hóa A5/1 có thể được thực hiện

dễ dàng bằng các thiết bị phần cứng, tốc độ nhanh Do đó A5/1 đã từng được sử dụng để mã hóa các dữ liệu real-time như các dãy bít audio Ngày nay A5/1 được

sử dụng để mã hóa dữ liệu cuộc gọi trong mạng điện thoại GSM

 Thuật toán RC4

Mã dòng RC4 được sử dụng với các mạng không dây IEEE 802.11b như một phần của hệ thống được gọi là Wired Equivalent Privacy (WEB) và là một trong các kỹ thuật mã cho giao thức SSL

2 Trình bày khái niệm về mã hóa khối Nêu các yêu cầu khi thiết kế mã hóa khối Các thuật toán DES AES thuộc mã hóa khối nào?

 Khái niệm:

Mật mã khối được cấu trúc trên nguyên tắc là bản tin được chia thành các khối

có độ dài bằng nhau và việc mã hoá tiến hành theo từng khối độc lập nhau Trong môi trường máy tính độ dài của khối được tính bằng bit

Trang 4

Độ bảo mật của mã trong trường hợp này phụ thuộc vào độ dài của khối và độ phức tạp của thuật toán mã Nếu kích cỡ của khối quá bé thì việc giải mã không mấy khó khăn do dò tìm được đặc tính cấu trúc thống kê của bản tin rõ Nếu tăng kích thước khối thì mức độ cấu trúc thống kê cũng tăng theo số mũ và nếu kích cỡ khối tiến đến đoạn tin thì tác dụng mã khối sẽ giảm

 Các tham số trong mã hóa khối:

Độ dài khối: Độ dài của một đơn vi mã hóa

Kích thước khóa: Độ dài của chuỗi dùng để mà hóa

Yêu cầu:

Kích thước khối đủ lớn => Hạn chế phương pháp thống kê

Không gian khóa phải đủ lớn => Hạn chế phương pháp vét cạn

 Khi thiết kế một hệ mã khối, phải đảm bảo hai yêu cầu sau:

• Sự hỗn loạn (confusion): sự phụ thuộc giữa bản rõ và bản mã phải thực sự phức tạp để gây khó khăn đối với việc tìm quy luật thám mã Mối quan hệ này tốt nhất là phi tuyến

• Sự khuếch tán (diffusion): Mỗi bit của bản rõ và khóa phải ảnh hưởng lên càng nhiều bit của bản mã càng tốt

 AES Là mã khối đối xứng khoá riêng

 Des mã hóa khối Mô hình mã Feistel

3 Trình bày tổng quan và quy trình mã hóa thuật toán mã hóa RC4 Nêu

- Bộ sinh số mỗi lần sinh ra một byte để sử dụng trong phép XOR

• Hai giai đoạn của RC4 là:

Giai đoạn khởi tạo:

• /* Khoi tao day S va T*/

• for i = 0 to 255 do

Trang 5

4 Trình bày tổng quan, các thành phần về hệ mật khóa bí mật Ưu điểm và

nhược điểm của hệ mật khóa bí mật

Trang 6

Ưu nhược điểm của mật mã khóa bí mật

 Ưu điểm:

Đơn giản (thời gian nhanh, yêu cầu phần cứng không phức tạp)

Hiệu quả: (Tỷ lệ mã bằng 1) dễ sử dụng cho các ứng dụng nhạy cảm với độ trễ và các ứng dụng di động

 Nhược điểm:

Phải dùng kênh an toàn để truyền khóa (Khó thiết lập và chi phí tốn kém) Việc tạo và giữ khóa bí mật phức tạp, khó làm việc trên mạng do phải tạo khóa nhiều

Các thuật toán là song ánh, vì vậy nếu biết M và K thì chắc chắn biết C Thám mã có thể suy luận ra K, kết hợp với C tại kênh mở có thể suy ra M Khó xây dựng các dịch vụ an toàn khác như: đảm bảo tính toàn vẹn, xác thực, chữ ký số…

5 Trình bày tổng quan, các thành phần về hệ mật khóa công khai Ưu điểm và nhược điểm của mã hóa công khai

Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng

trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan

hệ toán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật)

Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàn toàn tương

đương Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trong khi khóa công khai được phổ biến công khai Trong 2 khóa, một dùng để

Trang 7

mã hóa và khóa còn lại dùng để giải mã Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai

Giải thuật khóa công khai gồm 6 thành phần:

- Bản rõ: thông điệp có thể đọc, đầu vào của giải thuật

- Giải thuật mật hóa

- Khóa công khai và bí mật: một cặp khóa được chọn sao cho 1 khóa dùng để mật hóa và 1 khóa dùng để giải mật

- Bản mã: thông điệp đầu ra ở dạng không đọc được, phụ thuộc vào bản rõ và khóa Nghĩa là với cùng một thông điệp, 2 khóa khác nhau sinh ra 2 bảng mã khác nhau

- Giải thuật giải mã

Ưu điểm:Ưu điểm: chắc chắn, không cần trao đổi key, mỗi đối tượng chỉ cần một cặp key (số lượng key ít) khoá được quản lý một cách linh hoạt

và hiệu quả hơn Người sử dụng chỉ cần bảo vệ Private key

Nhược điểm:

Tồn tại khả năng một người nào đó có thể tìm ra được khóa bí mật Không giống với hệ thống mật mã sử dụng một lần (one-time pad) hoặc tương đương, chưa có thuật toán mã hóa khóa bất đối xứng nào được chứng minh là an toàn

Trang 8

trước các tấn công dựa trên bản chất toán học của thuật toán Khả năng một mối quan hệ nào đó giữa 2 khóa hay điểm yếu của thuật toán dẫn tới cho phép giải mã không cần tới khóa hay chỉ cần khóa mã hóa vẫn chưa được loại trừ An toàn của các thuật toán này đều dựa trên các ước lượng về khối lượng tính toán để giải các bài toán gắn với chúng Các ước lượng này lại luôn thay đổi tùy thuộc khả năng của máy tính và các phát hiện toán học mới

Mặc dù vậy, độ an toàn của các thuật toán mật mã hóa khóa công khai cũng tương đối đảm bảo Nếu thời gian để phá một mã (bằng phương pháp duyệt toàn bộ) được ước lượng là 1000 năm thì thuật toán này hoàn toàn có thể dùng để mã hóa các thông tin về thẻ tín dụng - Rõ ràng là thời gian phá mã lớn hơn nhiều lần thời gian tồn tại của thẻ (vài năm)

Một điểm yếu tiềm tàng trong việc sử dụng khóa bất đối xứng là khả năng bị tấn

công dạng kẻ tấn công đứng giữa (man in the middle attack): kẻ tấn công lợi dụng

việc phân phối khóa công khai để thay đổi khóa công khai Sau khi đã giả mạo được khóa công khai, kẻ tấn công đứng ở giữa 2 bên để nhận các gói tin, giải

mã rồi lại mã hóa với khóa đúng và gửi đến nơi nhận để tránh bị phát hiện Dạng tấn công kiểu này có thể phòng ngừa bằng các phương pháp trao đổi khóa an toàn nhằm đảm bảo nhận thực người gửi và toàn vẹnthông tin Một điều cần lưu ý là khi các chính phủ quan tâm đến dạng tấn công này: họ có thể thuyết phục (hay bắt buộc) nhà cung cấp chứng thực số xác nhận một khóa giả mạo và có thể đọc các thông tin mã hóa

6 Trình bày tổng quan về mô hình mã Feistel Vẽ sơ đồ khối của mã Feistel

Mô hình do Horst Feistel đề xuất, cũng là sự kết hợp các phép thay thế và hoán vị Trong hệ mã Feistel, bản rõ sẽ được biến đổi qua một số vòng để cho ra bản mã cuối cùng:

Trang 9

• F là một hàm mã hóa dùng chung cho tất cả các vòng Hàm F đóng vai trò

như là phép thay thế còn việc hoán đổi các nửa trái phải có vai trò hoán vị

Bản mã C được tính từ kết xuất của vòng cuối cùng:

• C = Cn = (Ln, Rn)

Hệ mã Feistel có điểm quan trọng là việc chia các bản mã thành hai nửa trái phải giúp cho hàm F

không cần khả nghịch (không cần có F-1 ) Mã hóa và giải mã đều dùng chiều thuận của hàm

F Hàm F và thuật toán sinh khóa con càng phức tạp thì càng khó phá mã Ứng với các hàm F

và thuật toán sinh khóa con khác nhau thì ta sẽ có các phương pháp mã hóa khác nhau

Trang 10

7 Hãy trình bày quy trình mã hóa và giải mã thuật toán RSA

RSA sử dụng một cặp khóa:

Khóa công khai (Public key) dùng để mã hóa;

Khóa riêng (Private key) dùng để giải mã

Chỉ khóa riêng cần giữ bí mật Khóa công khai có thể công bố rộng rãi

Kích thước khóa của RSA:

Khóa < 1024 bít không an toàn hiện nay

Khuyến nghị dùng khóa >= 2048 bít Tương lai nên dùng khóa 3072 bít

Thủ tục sinh khóa RSA:

Tạo 2 số nguyên tố p và q;

Tính n = p x q

Tính phi(n) = (p-1) x (q-1)

Trang 11

Chọn số e sao cho 0 < e < phi(n) và gcd(e, phi(n)) = 1

Chọn số d sao cho d trùng e-1 mod phi(n),

hoặc (d x e) mod phi(n) = 1

(d là molulo nghịch đảo của e)

Ta có (n, e) là khóa công khai, (n, d) là khóa riêng

Trang 12

Trên thực tế có nhiều cách tấn công khác nhau đối với mã công khai RSA như sau:

 Tìm kiếm khoá bằng phương pháp vét cạn, phương pháp này không khả thi với kích thước đủ lớn của các số

 Với các khóa nhỏ tầm 256 bít thì dễ dàng bị phá trong vài giờ với mt

9 Trình bày sơ lược mô hình trao đổi khóa công khai trong mã hóa khóa công khai

Các phương pháp phân phối khóa công khai:

ổi kiểu điểm-điểm thông qua kênh tin cậy;

ập trực tiếp vào danh mục công cộng (public-key registry);

ử dụng một máy chủ trực tuyến tin cậy;

ử dụng một máy chủ không trực tuyến và chứng chỉ;

ử dụng các hệ thống đảm bảo tính xác thực với các tham số công

cộng

Chương 3.1: Các thứ liên quan AES, DES

10 Trình bày cơ sở toán học của mã hóa AES Trình bày các bước xử lý chính của quy trình mã hóa AES

 Cơ sở toán học của AES

Trong AES các phép toán cộng và nhân được thực hiện trên các byte trong trường hữu hạn GF(28)

Phép cộng:

 A = (a1 a2 a3 a4 a5 a6 a7 a8); B = (b1 b2 b3 b4 b5 b6 b7 b8)

 C = A + B = (c1 c2 c3 c4 c5 c6 c7 c8),

Trang 13

Phép nhân: Phép nhân được thực hiện trên GF(28) bằng cách nhân hai

đa thức rút gọn theo mođulo của một đa thức bất khả quy m(x) Trong AES đa thức bất khả quy này là:

m(x) = x8 + x4 + x3 + x +1

 Ví dụ: A = C3H, B = 85H tương ứng với a(x) = x7 + x6 + x +1 và b(x) = x7 + x2 + 1 Khi đó: C= A.B

c(x) = a(x).b(x) mod (x8 + x4 + x3 + x +1)

c(x) = x7 + x5 + x3 +x2 + x hay C = AEH = 10101110

 Các bước xử lí chính:

1 Mở rộng khóa (Key extend)

2 AES sử dụng thủ tục sinh khóa Rijndael

3 Vòng khởi tạo (InitialRound)

a) AddRoundKey: Mỗi byte trong state được kết hợp với khóa phụ

sử dụng XOR

4 Các vòng lặp chính (Rounds)

a) SubBytes: bước thay thế phi tuyến tính, trong đó mỗi byte trong state được thay thế bằng một byte khác sử dụng bảng tham chiếu;

b) ShiftRows: bước đổi chỗ, trong đó mỗi dòng trong state được dịch một số bước theo chu kỳ;

c) MixColumns: trộn các cột trong state, kết hợp 4 bytes trong mỗi cột

11 Nêu các yêu cầu với mã hóa AES Trình bày quy trình giải mã AES

 Yêu cầu của AES

 Là mã khối đối xứng khoá riêng

 Kích thước khối dữ liệu 128 bit và độ dài khoá là tùy biến: 128, 192 hoặc 256 bit

Trang 14

 Chuẩn mã mới phải mạnh và nhanh hơn Triple DES Mã mới có cơ sở

lí thuyết mạnh để thời gian sống của chuẩn khoảng 20-30 năm (cộng thêm thời gian lưu trữ)

 Khi đưa ra thành chuẩn yêu cầu cung cấp chi tiết thiết kế và đặc tả đầy

đủ Đảm bảo rằng chuẩn mã mới cài đặt hiệu quả trên cả C và Java

 Quy trình giải mã AES

12 Trình bày quy trình mã hóa DES Vẽ sơ khối tổng quát của quy trình

Trang 15

ớc của khối là 64 bít: ví dụ bản tin „meetmeafterthetogaparty‟ biểu diễn theo mã ASCII thì mã DES sẽ mã hóa làm 3 lần, mỗi lần 8 chữ cái (64 bít): meetmeaf - tertheto - gaparty

ớc khóa là 56 bít

ỗi vòng của DES dùng khóa con có kích thước 48 bít được trích ra

từ

khóa chính

Quy trình mã hóa DES:

o DES mã hoá một xâu bit x của bản rõ độ dài 64 bằng một khoá 56 bit Bản mã nhận được cũng là một xâu bit có độ dài 64

o Thuật toán tiến hành theo 3 bước:

 B1: Với bản rõ cho trước x, một xâu bit x0 sẽ được xây dựng bằng cách hoán vị các bit của x theo phép hoán vị cố định ban đầu IP Ta viết: x0 = IP(x) = L0R0, trong đó L0 gồm 32 bit đầu

và R0 là 32 bit cuối

 B2: Sau đó tính toán 16 lần lặp theo một hàm xác định Ta sẽ

tính LiRi, 1£ i £ 16 theo quy tắc sau:

o Li = Ri-1; Ri = Li-1 cộng modul f(Ri-1, ki)

o F(R i-1 , K i ) = P-box(S-boxes(Expand( R i-1 ) K i))

Một vòng của phép mã hóa được mô tả như sau:

 B3: Áp dụng phép hoán vị ngược IP-1 cho xâu bit R16L16, ta thu được bản mã y Tức là y = IP-1(R16L16) Hãy chú ý thứ tự đã đảo của L16 và R16

Trang 16

13 Ưu nhược điểm, các cuộc tấn công lên DES

Trang 17

Ta hãy xem xét tính an toàn của DES trước một vài phương pháp tấn công phá mã

1) Tấn công vét cạn khóa (Brute Force Attack): Vì khóa của mã DES có chiều dài

là 56 bít nên để tiến hành brute-force attack, cần kiểm tra 256 khóa khác nhau Hiện nay với những thiết bị phổ dụng, thời gian gian để thử khóa là rất lớn nên việc phá mã là không khả thi (xem bảng) Tuy nhiên vào năm 1998, tổ chức Electronic Frontier Foundation (EFF) thông báo đã xây dựng được một thiết bị phá

mã DES gồm nhiều máy tính chạy song song, trị giá khoảng 250.000$ Thời gian thử khóa là 3 ngày Hiện nay mã DES vẫn còn được sử dụng trong thương mại, tuy nhiên người ta đã bắt đầu áp dụng những phương pháp mã hóa khác có chiều dài khóa lớn hơn (128 bít hay 256 bít) như TripleDES hoặc AES 49

2) Phá mã DES theo phương pháp vi sai (differential cryptanalysis): Năm 1990 Biham và Shamir đã giới thiệu phương pháp phá mã vi sai Phương pháp vi sai tìm khóa ít tốn thời gian hơn brute-force Tuy nhiên phương pháp phá mã này lại đòi hỏi phải có 247 cặp bản rõ - bản mã được lựa chọn (chosen-plaintext) Vì vậy phương pháp này là bất khả thi dù rằng số lần thử có thể ít hơn phương pháp brute-force

3) Phá mã DES theo phương pháp thử tuyến tính (linear cryptanalysis) Năm 1997 Matsui đưa ra phương pháp phá mã tuyến tính Trong phương pháp này, cần phải biết trước 243 cặp bản rõ-bản mã (known-plaintext) Tuy nhiên 243 cũng là một con số lớn nên phá mã tuyến tính cũng không phải là một phương pháp khả thi

Chương 4: Hàm băm

14 Hãy định nghĩa về hàm băm Hãy định nghĩa hàm có khóa, hàm băm không có khóa Hãy nêu các đặc trưng và các tính chất cơ bản của hàm băm.Lấy Ví dụ về các tính chất?

 Định nghĩa hàm băm:

o Hàm băm là các thuật toán không sử dụng khóa để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hóa”), nó có nhiệm vụ “lọc”

(băm) thông điệp được đưa vào theo một thuật toán h một chiều nào

đó, rồi đưa ra một bản băm – văn bản đại diện – có kích thước cố định Do đó người nhận không biết được nội dung hay độ dài ban đầu của thông điệp đã được băm bằng hàm băm

o Giá trị của hàm băm là duy nhất, và không thể suy ngược lại được

nội dung thông điệp từ giá trị băm này

 Đặc trưng:

o Hàm băm h là hàm băm một chiều (one-way hash) với các đặc tính sau:

Ngày đăng: 08/08/2016, 07:51

TỪ KHÓA LIÊN QUAN

w