1. Trang chủ
  2. » Thể loại khác

De cuong Bao mat thong tin

16 7 0

Đ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 16
Dung lượng 140,21 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

QUY ĐỊNH TẠM THỜI Đề cương Bảo mật thông tin 1 Định nghĩa bài toán lớp NP Hard? Cho ví dụ minh họa? Định nghĩa Ta gọi bài toán lớp NP khó (NP hard) là các bài toán nếu như sự tồn tại thuật toán đa thứ[.]

Trang 1

Đề cương Bảo mật thông tin

1 Định nghĩa bài toán lớp NP-Hard? Cho ví dụ minh họa?

Định nghĩa: Ta gọi bài toán lớp NP- khó (NP-hard) là các bài toán nếu như sự tồn tại thuật toán

đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài toán trong NP

Ví dụ minh họa: Bài toán tập độc lập (Independent set): Cho đồ thị vô hướng G = (V, E) và số nguyên K, hỏi có thể tìm được tập độc lập S với |S| ≥ K Tập độc lập là tập các đỉnh trong đồ thị

mà chúng đôi một không có cạnh nối với nhau

2 Định nghĩa hệ thống mật mã? Vẽ sơ đồ hệ mật mã hóa đối xứng và hệ mật mã hóa khóa công khai?

Định nghĩa: Một hệ mật mã là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã.

K : Tập hợp các khoá, K = E × D.

Với một khóa k = (E k , D k),

E k : P → C Khoá lập mã.

D k : C → P Khoá giải mã.

Sơ đồ hệ mã khóa đối xứng:

Sơ đồ hệ mã khóa công khai:

3 Hệ mã hóa đối xứng là gì? Hãy trình bày các bước truyền tin giữa Client và Server với hệ mã hóa đối xứng?

Hệ mã hóa đối xứng là hệ mã hóa sử dụng cùng một khóa (khóa bí mật) cho việc mã hóa và giải mã

Trang 2

Khóa bí mật do người tạo bản mã hóa và người giải mã cùng thảo thuận với nhau để tạo ra

nó Thuật toán giải mã là “ngược” với thuật toán mã hóa

Các bước truyền tin giữa Client và Server với hệ mã hóa đối xứng:

1 Client và Server đồng ý sử dụng một hệ mã hóa

2 Client và Server thống nhất khoá với nhau

3 Client lấy bản rõ và mã hoá sử dụng thuật toán mã hoá và khoá Sau đó bản mã đã được tạo ra

4 Client gửi bản mã tới cho Server

5 Server giải mã bản mã đó với cùng một thuật toán và khoá, sau đó đọc được bản rõ

4 Hệ mã hóa khóa công khai là gì? Hãy trình bày các bước truyền tin giữa Client và Server với hệ

mã hóa khóa công khai?

Hệ mã khóa công khai là hệ mã sử dụng 2 khóa khác nhau, một khóa công khai dùng để mã hóa và một khóa bí mật dùng để giải mã

+ Khóa công khai: công khai cho tất cả mọi người (người tạo bản mã hóa)

+ Khóa bị mật: chỉ có người nhận bản mã hóa mới có (người giải mã)

+ Cả hai khóa đều do cùng một người tạo ra, đó là người nhận bản mã hóa

Các bước truyền tin giữa Client và Server với hệ mã hóa khoa công khai:

1 Client và Server nhất trí sử dụng hệ mã hóa công khai

2 Server gửi cho Client khoá công khai của Server

3 Client lấy bản rõ và mã hoá sử dụng khoá công khai của Server Sau đó gửi bản mã tới cho Server

4 Server giải mã bản mã đó sử dụng khoá riêng của mình

5 Hệ mã hóa đối xứng là gì? Nếu các ưu điểm, nhược điểm của hệ mã hóa đối xứng?

Hệ mã hóa đối xứng là hệ mã hóa sử dụng cùng một khóa (khóa bí mật) cho việc mã hóa và giải mã

Khóa bí mật do người tạo bản mã hóa và người giải mã cùng thảo thuận với nhau để tạo ra nó Thuật toán giải mã là “ngược” với thuật toán mã hóa

Ưu điểm:

- Dễ dàng tạo khóa để mã hóa và giải mã

- Tốc độ mã hóa và giải mã nhanh, dễ tính toán

Nhược điểm:

- Việc bí mật khóa mã hóa và giải mã rất khó khăn

- Trao đổi thông tin với số lượng người ít

- Không thiết lập được chữ ký điện tử và trong giao dịch thương mại điện tử trên mạng

6 Hệ mã hóa khóa công khai là gì? Trình bày các ưu điểm, nhược điểm của hệ mã hóa khóa công khai?

Hệ mã khóa công khai là hệ mã sử dụng 2 khóa khác nhau, một khóa công khai dùng để mã hóa và một khóa bí mật dùng để giải mã

Trang 3

+ Khóa công khai: công khai cho tất cả mọi người (người tạo bản mã hóa).

+ Khóa bị mật: chỉ có người nhận bản mã hóa mới có (người giải mã)

+ Cả hai khóa đều do cùng một người tạo ra, đó là người nhận bản mã hóa

Ưu điểm:

- Quản lý khóa đơn giản

- Sử dụng tốt để tạo chữ ký điện tử và thực hiện giao dịch trong thương mại điện tử trên mạng

Nhược điểm:

- Tốc độ tính toán chậm

- Phải xây dựng khóa dưới dạng bẩy cửa sập

- Phải chứng nhận đúng khóa

7 Định nghĩa hệ mã dịch chuyển (Shift cipher)? Cho ví dụ minh họa?

Định nghĩa: Hệ mã dịch chuyển là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ

C : Tập hợp các bản mã

K : Tập hợp các khoá.

Giả sử P = C = K = Z m Khi đó, với k K ta xác định:

y = E k (x) = x + k (mod m)

x = D k (y) = y - k (mod m)

Ví dụ minh họa:

Cho bảng mã Z26 và khóa bí mật k = 9 Hãy mã hóa câu sau:

x = “ NGAY MAI TIEN VE PHIA TAY ”

Có thể định nghĩa qua phép dịch chuyển với k = 9.

Sử dụng mã dịch chuyển với k = 9, ta có bản mã là:

y = “ WPJH VJR CRNW EN YHRJ CJH ”

8 Định nghĩa hệ mã thay thế (Subtitution cipher)? Cho ví dụ minh họa?

Định nghĩa: Hệ mã thay thế là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã Giả sử P = C = Z m

K : Tập hợp các khoá, K chứa mọi hoán vị có thể của m ký hiệu Anphabet.

Với mỗi phép hoán vị khóa π∈ K Ta xác định:

y = Eπ(x) = π(x)

x = Dπ(y) = π-1(y) (π-1 là hoán vị ngược của π)

Trang 4

dụ minh họa:

Cho hoán vị π của bảng mã Z26 như sau:

A B C D E G H I K L M N O P Q R S T U V X Y Z

N M L K J H G F D C B A P O R Q T S V U W Z Y

Hãy mã hóa câu sau:

x = “ NGAY MAI TIEN VE PHIA TAY ”

9 Định nghĩa về hệ mã Affine (Affine cipher)?

Viết thủ tục mã hóa một đoạn văn bản với hệ mã Affine

Trong Z26 cho bản rõ X = ”UNINSTALL” và 3 khóa sau k1 = (9, 15), k2 = (6, 3), k3 = (12, 25),

hãy chọn khóa cho phù hợp trong 3 khóa trên mã hóa bản rõ X ?.

a. Định nghĩa: Hệ mã Affine là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã Giả sử P = C = Z m

K : Tập hợp các khoá,

K = { (a, b) ∈ Z m × Z m | USCLN(a, m) = 1 } Với khóa k = (a, b) K, ta xác định:

y = E k (x) = a.x + b (mod m)

x = D k (y) = a-1.(y – b) (mod m)

(a-1 là hoán vị ngược của a theo modulo m)

b. Thủ tục mã hóa đoạn văn bản với hệ mã Affine

Input: m = 41; Bản rõ x Z41, khóa bí mật k = (a, b) K

Output: Bản mã hóa y Z41

Action

for ch := ‘A’ to ‘Z’ do

CC[ch] = ord(ch) – 65;

for ch := ‘0’ to ‘9’ do

CC[ch] = (ord(ch) – 48) + 26;

CC[‘.’] := 36; CC[‘,’] := 37; CC[‘;’] := 38;

CC[‘:’] := 39; CC[‘ ’] := 40;

for i := 1 to len(x) do

y[i] := chr((CC[x[i]] * a + b) (mod m) );

return (y).

c. Trong bảng mã Z26, chỉ có khóa k1 = (9, 15) là phù hợp, vì khóa k2 và k3 có thành phần thứ nhất của khóa không khả nghịch

Với khóa k1 = (9, 15), ta có bản mã như sau:

Trang 5

Sử dụng mã Affine với k1 = (9, 15), ta có bản mã là:

y = ” NCJCVEPKK”

10 Định nghĩa hệ mã Vigenere (Vigenere cipher)?

Viết thủ tục mã hóa một đoạn văn bản với hệ mã Vigenere

Cho ví dụ minh họa?

a. Định nghĩa: Hệ mã Vigenere là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã Giả sử P = C = Z m Cho l ∈ Z+, K là tâp hợp các khoá:

K = { (k1 , …, k l ) ∈ Zl }

Với khóa k = (k1 , …, k l ) ∈ K, ta xác định:

y = E k (x1 , …, x l ) = (x1 + k1 , …, x l + k l ) (mod

m) x = D k (y1 , …, y l ) = (y1 - k1 , …, y l - k l ) (mod

m)

b. Thủ tục mã hóa đoạn văn bản với hệ mã Vigenere

Input: m = 41; Bản rõ x Z41; l Z+; khóa k = (k1,…, k l)∈K

Output: Bản mã hóa y Z41

Action

for ch := ‘A’ to ‘Z’ do

CC[ch] = ord(ch) – 65;

for ch := ‘0’ to ‘9’ do

CC[ch] = (ord(ch) – 48) + 26;

CC[‘.’] := 36; CC[‘,’] := 37; CC[‘;’] := 38;

CC[‘:’] := 39; CC[‘ ’] := 40;

for i := 1 to len(x) do

if (i mod l = 0) then

y[i] := chr((CC[x[i]] + k[l]) (mod m) )

else

return (y).

y[i] := chr((CC[x[i]] + k[i mod l]) (mod m) );

c. Ví dụ minh họa:

Cho bảng mã Z26 và l = 6, khóa k là từ CIPHER (nghĩa là k = (2, 8, 15, 7, 4,

17)) Hãy mã hóa câu sau:

x = “ HEN TOI THU BAY ”

- Bản rõ x được chia thành từng đoạn có độ dài l = 6 như sau:

Để tạo bản mã hóa, ta cộng với khóa k thì được bản mã:

m

Trang 6

J M C A S Z V P J I E P

Trang 7

⇒ Ta có bản mã là:

y = “ JMC ASZ VPJ IEP ”

11 Định nghĩa hệ mã hoán vị (Premutation cipher)?

Viết thủ tục mã hóa một đoạn văn bản với hệ mã Hoán vị

Cho ví dụ minh họa?

a. Định nghĩa: Hệ mã hoán vị là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã Giả sử P = C = Z m

Cho l ∈ Z+, K là tập tất cả các hoán vị của {1,…, l }.

Với khóa k = π∈ K, ta xác định:

y = E k (x1 , …, x l ) = (xπ (1) , xπ (2) , …, xπ(l ) )

x = D k (y1 , …, y l ) = (yπ -1(1) , yπ -1(2) , …, yπ-1(l ) )

c Thủ tục mã hóa đoạn văn bản với hệ mã Hoán vị

Input: Bản rõ x∈P; l ∈Z+; khóa bí mật k = (π(1),…, π(l))∈K

Output: Bản mã hóa y C.

Action

for i := 1 to len(x) do

if (i mod l = 0) then

y[i] := x[ k(l)]

(π-1 là hoán vị ngược của π)

else

return (y).

y[i] := x[ k(i mod l)];

c Ví dụ minh họa:

Cho bảng mã Z26 và l = 5, khóa mã hóa là hoán vị:

Hãy mã hóa câu sau:

x = “ HEN TOI THU BAY ”

- Bản rõ x được chia thành từng đoạn có độ dài l = 5 như sau:

Để tạo bản mã hóa, ta cộng với khóa k thì được bản mã:

⇒ Ta có bản mã là:

y = “ NTH E HOTIBYUA ”

Trang 8

12 Định nghĩa về hệ mã Hill(Hill cipher)? Viết thủ tục mã hóa một đoạn văn bản với hệ

mã Hill

Trang 9

Cho ví dụ minh họa?.

a. Định nghĩa: Hệ mã Hill là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã Giả sử P = C = Z m Cho l ∈ Z+, K là tập hợp các khoá:

K = { k ∈ Z l × l | ƯSCLN(det(k), m) = 1 } Với khóa k = (k1 , …, k l ) ∈ K, ta xác định:

y = E k (x1 , …, x l ) = (x1 , …, x l ).k (mod m)

x = D k (y1 , …, y l ) = (y1 , …, y l ).k-1 (mod m)

(k-1 là ma trận nghịch đảo của k theo modulo m)

b. Thủ tục mã hóa đoạn văn bản với hệ mã Hill

Input: m = 65; Bản rõ x Z65; l Z+; khóa bí mật | k | l ×l

∈K; Output: Bản mã hóa y ∈ Z65

Action

for ch := ‘A’ to ‘Z’ do

CC[ch] = ord(ch) – 65;

for ch := ‘a’ to ‘z’ do

CC[ch] = (ord(ch) – 97) + 26;

for ch := ‘0’ to ‘9’ do

CC[ch] = (ord(ch) – 48) + 52;

CC[‘.’] := 62; CC[‘,’] := 63; CC[‘ ’] := 64;

while (len(x) mod l <> 0) do x := x + ‘ ‘;

i := 1; S := 0;

while i <= len(x) do

begin

for j1 := 1 to l do

begin

for i t := S*l +1 to S*l + l do

begin

T := 0;

for j2 := 1 to l do

T := T + CC[x[i t ]] * k[i t - S*l, j2];

end

y[i] := chr( T (mod m) );

i := i + 1;

end;

S := S + 1;

end;

return (y).

m

Trang 10

c. Ví dụ minh họa:

Cho bảng mã Z26 và l = 2, khóa k được chọn như sau:

Hãy mã hóa câu

sau:

x = “ WE WILL MEET AT MIDNIGHT ”

- Ta chia bản rõ thành các bộ l = 2 ký tự::

W E W I L L M E E T A T M I D N I G H T

- Mã hóa các bộ hai ký tự theo hệ thức mã hóa: (y1, y2) = (x1, x2).k

U W G Y Y J O U X J F D A W U L C C E H

⇒ Ta có bản mã là:

y = “ UW GYYJ OUXJ FD AWULCCEH ”

13 Định nghĩa hệ mã hóa khóa công khai RSA? Đánh giá độ án toàn của hệ

mã RSA? Định nghĩa: Hệ mã RSA là một bộ gồm 5 thành phần (P, C, K,

E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã.

Cho n = p.q, với p, q là hai số nguyên tố lớn, P = C = Z n

K : Tập các khóa, K = { (n, p, q, e, d) |

USCLN(e, φ(n)) = 1 và e.d ≡ 1 (mod φ(n))

} Với khóa k K, ta xác định:

+ Tạo bản mã: y = E k (x) = xe (mod n) + Giãi bản mã: x = D k (y) = yd (mod n) + Phần khóa công khai là: (n, e)

+ Phần khóa bí mật là (p, q, d)

Độ

an toàn của hệ mã RSA

Tại thời điểm năm 2005, số lớn nhất có thể được phân tích ra thừa số nguyên tố có độ dài

663 bít (gần 200 chữ số) với phương pháp phân tán

Một số chuyên gia cho rằng với khóa 1024 bít có thể sớm bị phá vỡ trong thời gian tới (cũng

có nhiều người phản đối việc này)

Còn với khóa 4096 bít thì hầu như không có khả năng bị phá vỡ trong tương lai gần Do đó,

người ta thường cho rằng RSA đảm bảo an toàn với điều kiện n được chọn đủ lớn.

Nếu n có độ dài 256 bít hoặc ngắn hơn, nó có thể bị phân tích trong vài giờ với máy tính cá

nhân dùng các phần mềm có sẵn

Nếu n có độ dài 512 bít, nó có thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999

Vì vậy, hiện nay người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 1024 bít trong các ứng dụng Nếu cần tới bảo mật cao hơn thì phải dùng khóa 2048 bít

14 Định nghĩa hệ mã hóa khóa công khai ElGamal? Đánh giá độ án toàn của hệ mã

ElGamal?

Trang 11

B2 

Định nghĩa: Hệ mã ElGamal là một bộ gồm 5 thành phần (P, C, K, E, D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã.

Cho p là một số nguyên tố lớn P = C = Z *

K : Tập các khóa, K = { (p, e, a, d) | d ≡ e a (mod p)}

Với một số ngẫu nhiên bí mật k Z p-1 Ta xác lập:

+ Tạo bản mã: (y1, y2) = E k (x) = ( e k, x.d k ) (mod p)

+ Giải bản mã: x = D k (y1, y2) = y2 ( y1a ) -1 (mod p)

+ Phần khóa công khai là: (p, e, d) ;

+ Phần khóa bí mật là (a)

Độ

an toàn của hệ mã ElGamal

Hệ mã Elgamal là hệ mật khóa công khai dựa trên bài toán Logarithm rời rác Để gây khó khăn cho các phương pháp tấn công đã biết thì p phải có ít nhất 150 chữ số và (p - 1) phải có ít nhất một thừa số nguyên tố lớn

Hệ mã ElGamal rất an toàn Bởi vì, ngoài người nhận B ra thì không ai có thể thực hiện giải

mã được

Tuy nhiên, người gửi A cần phải thận trọng khi chọn số ngẫu nhiên k để sao cho không ai có thể đoán ra được nó (mỗi lần nên dùng một số khác nhau)

Nếu như kẻ gian biết trước được k thì nó có thể lấy chìa khoá công khai của người gửi B để nâng lên luỹ thừa bậc k và giải mã ra được bản rõ một cách dễ dàng

15 Định nghĩa hệ mã hóa khóa công khai Rabin? Đánh giá độ án toàn của hệ mã

Rabin? Định nghĩa: Hệ mã Rabin là một bộ gồm 5 thành phần (P, C, K, E,

D) Trong đó:

P : Tập hợp các bản rõ.

C : Tập hợp các bản mã.

Cho n = p.q, với p, q là hai số nguyên tố đủ lớn và có tính chất: p ≡ 3 (mod 4) và q ≡ 3 (mod 4)

P = C = Z m

K : Tập hợp các khoá, K = { (n, p, q, B) 0 ≤ B n-1) }

Với khóa k K Ta xác lập:

+ Tạo bản mã : y = E k (x) = x (x + B) (mod n)

B

+ Giải bản mã : x = D k (y) =

+ Phần khóa công khai là: (n, B)

+ Phần khóa bí mật là (p, q).

Độ

an toàn của hệ mã Rabin

(mod n)

2

Từ định nghĩa hệ mã cho ta thấy, yếu tố có ý nghĩa quyết định trong việc giải mã đó là việc tính căn bậc 2 của một số theo (mod n)

p

Trang 12

Bài toán tìm căn theo (mod n) có độ khó tương đương với bài toán phân tích n thành thừa

số nguyên tố Đây là yếu tố đảm bảo tính an toán của hệ mã rabin

16 Trình bày các bước thực hiện truyền tin mật giữa 2 thực thể (Alice và Bob) sử dụng hệ

mã hóa khóa công khai RSA, giả sử Alice muốn gửi tin mật cho Bob?

Các

bước thực hiện truyền tin mật giữa Alice và Bob sử dụng hệ mã hóa khóa công khai RSA:

Bước 0: Bod tạo ra một khóa: k = (n, p, q, e, d), với n = p.q, p, q là hai số nguyên tố lớn,

USCLN(e, φ(n)) = 1 và e.d ≡ 1 (mod φ(n))

+ Khóa công khai: k1 = (n, e)

+ Khóa bì mật: k2 = (p, q, d)

Bước 1: Khi Alice muốn mã hóa bản tin x, trước tiên Alice yêu cầu Bod cung cấp khoa công

khai k1 = (n, e) (có thể lấy khóa qua công khai của Bod thông qua CA).

Bước 2: Alice sử dụng khóa công khai của Bod để mã hóa bản tin x, Alice thu được bản mã hóa

là: y = E k (x) = xe (mod n)

Bước 3: Alice gửi bản mã hóa y cho Bob.

Bước 4: Khi Bob nhận được bản mã hóa y, Bod sẽ sử dụng khóa riêng (bí mật) k2 = (p, q, d) để

giải bản mã y và thu được bản tin:

x = D k (y) = yd (mod n)

17 Hãy nếu các yếu tố đặc trưng của chữ ký viết tay?

+ Chữ ký là bằng chứng thể hiện người ký có chủ định ký văn bản

+ Chữ ký thể hiện "chủ quyền", nó làm cho người nhận văn bản biết rằng ai đích thị là người đã

ký văn bản

+ Chữ ký không thể "tái sử dụng được", tức là nó là phần của văn bản mà không thể sao chép

sang văn bản khác

+ Văn bản đã ký không thể thay đổi được, không thể giả mạo và cũng là thứ không thể chối bỏ

18 Trình bày khái niệm về chữ ký điện tử? Vẽ mô hình truyền tin một văn bản có chữ ký điện tử của người gửi?

Định nghĩa: Chữ ký điện tử (electronic signature) là thông tin đi kèm theo dữ liệu (văn

bản, hình ảnh, video ) nhằm mục đích xác định người chủ của dữ liệu đó

Chữ ký điện tử được sử dụng trong các giao dịch điện tử Xuất phát từ thực tế, chữ ký điện

tử cũng cần đảm bảo các chức năng: xác định được người chủ của một dữ liệu nào đó: văn bản, ảnh, video, dữ liệu đó có bị thay đổi hay không

hình truyền tin một văn bản có chữ ký điện tử của người gửi:

Ngày đăng: 24/04/2022, 13:40

HÌNH ẢNH LIÊN QUAN

Cho hoán vị π của bảng mã Z26 như sau: - De cuong Bao mat thong tin
ho hoán vị π của bảng mã Z26 như sau: (Trang 4)
Cho bảng mã Z26 và l= 6, khóa k là từ CIPHER (nghĩa là k= (2, 8, 15, 7, 4, 17)). Hãy mã hóa câu sau: - De cuong Bao mat thong tin
ho bảng mã Z26 và l= 6, khóa k là từ CIPHER (nghĩa là k= (2, 8, 15, 7, 4, 17)). Hãy mã hóa câu sau: (Trang 5)
Cho bảng mã Z26 và l= 5, khóa mã hóa là hoán vị: - De cuong Bao mat thong tin
ho bảng mã Z26 và l= 5, khóa mã hóa là hoán vị: (Trang 7)
Cho bảng mã Z26 và l= 2, khóa k được chọn như sau: - De cuong Bao mat thong tin
ho bảng mã Z26 và l= 2, khóa k được chọn như sau: (Trang 10)
w