Tải bản đầy đủ (.docx) (10 trang)

Đề cương ôn tập mã hóa

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 (153.47 KB, 10 trang )

Câu 1: Cho biết vai trò của hệ mật mã trong việc bảo mật thông tin trên mạng? Một
hệ thống thông tin như thế nào được coi là an toàn?
1.
2.
3.
4.

Mật mã có vai trò rất quan trọng trong việc bảo mật HTTT: Nó đảm bảo tính bí
mật cho thông tin được lưu trên máy hay truyền đi trên môi trường truyền.
Thông tin được coi là an toàn khi nó đảm bảo các yếu tố:
Tính bí mật – Bảo vệ dữ liệu không bị lộ ra ngoài một cách trái phép
Tính toàn vẹn – Chỉ những người dùng được uỷ quyền mới được phép chỉnh
sửa dữ liệu
Tính sẵn sàng – Đảm bảo dữ liệu luôn sẵn sàng khi người dùng yêu cầu truy
cập
Tính chống thoái thác – Khả năng ngăn chặn việc từ chối một hành vi đã làm.

Câu 2: Trình bày hàm mật mã f ( f – function) trong thuật toán mã hóa khối DES?
(đầu vào, đầu ra, sơ đồ thực hiện)
Input: + biến 1: Rn-1 (32bit)
+ biến 2: khóa Kn (48bit)
Output: một xâu bit f(Rn-1, Kn) (32 bit)
Trong sơ đồ mã hóa DES hàm f được mô tả như sau:
+ Biến Rn-1 được mở rộng thành xâu có độ dài 48 bit theo hàm mở rộng cố định E.
Thực chất: E(Rn-1) là 1 hoán vị có lặp trong đó lặp lại 16 bit của Rn-1.
+ Thực hiện phép toán logic XOR của E(Rn-1) với Kn. Viết thành 8 xâu 6 bit:
B1B2B3B4B5B6B7B8
+ Đưa 8 khối Bn vào 8 bảng S1,…,S8 (các hộp S-Box). Mỗi hộp S-box là 1 bảng 4*16
Cố định từ 0-15 (các cột), 0-3(các hàng). Mỗi xâu Bn=b1b2b3b4b5b6b tính S(Bn)
như sau : b1b6 (xác định hàng r trong hộp S-box), b2b3b4b5(xác định cột c trong
hộp S-box). Khi đó xác định đựơc phần tử Cn=Sn (r,c) viết dưới dạng nhị phân.


Như vậy 8 khối 6 bit Bn sẽ cho ra 8 khối 4 bit Cn (0<= n <=8).
+ Xâu bit C = C1C2C3C4C5C6C7C8 (32 bit) được hoán vị P(hộp P-box). Kết quả P(C)
sẽ là kết quả f(Rn-1, Kn) và cx là Rn cho vòng sau.


Rn-1(32bit)
Khóa Kn (48 bit)

Hàm mở rộng E
48 bit

XOR (E(Rn-1);Kn)

B1

B2

B3

B4

B5

B7

B8

B8

S1


S2

S3

S4

S5

S7

S8

S8

C1

C2

C3

C4

C5

C7

C8

C8


P(32 bit)
Rn (32 bit)

Câu 3 : Mô tả thuật toán DES (Data Ecryption Standard)? (Đầu vào, đầu ra, sơ đồ
tổng quát của thuật toán, giải thích sơ đồ)
Input: Bản rõ M ( 64 bits)
Khoá: Độ dài 56 bits
Output: Bản mã hoá C(64 bits).
* Sơ đồ tổng quát:


* Giải thích sơ đồ:
B1: Khối bản rõ 64 bit được hoán vị (Hoán vị khởi đầu thông qua bảng IP-PC1) để thay
đổi thứ tự của các bit.
B2: Chia bản rõ vừa hoán vị bit làm 2 nửa trái L0 và phải R0, mỗi nửa 32 bit.
B3: Dùng 16 vòng lặp, tính Ln Và Rn (n = 1,...,16) theo quy tắc:
Ln = R(n-1)
Rn = Ln-1 + f(R(n-1), Kn)
B4: Tại vòng lặp cuối cùng n = 16 ra được L16 R16, đổi vị trí 2 nửa này cho nhau thành
R16 L16
B5: Hoán vị thứ tự bit cho R16 L16, ta được đầu ra là bản mã hóa cần tìm.


Câu 4: Thế nào là hệ mã hóa đối xứng? Trình bày các ưu điểm và nhược điểm của
hệ mã hóa đối xứng? Vẽ mô hình truyền thông tin với hệ mã hóa đối xứng, giải thích
mô hình?
Hệ mã hóa đx là hệ mã hóa mà bên gửi và bên nhận tin cùng sử dụng chung 1
khóa K cho cả 2 hàm mã hóa và giải mã. Do đó khóa phải tuyệt đối giữ bí mật.
- Ưu điểm:

+ Mô hình khá đơn giản.
+ Dễ ràng tạo ra thuật toán mã hóa đối xứng cho cá nhân.
+ Hoạt động nhanh và hiệu quả do tốc độ mã hóa và giải mã cao.
+ Được sử dụng khá phổ biến nhiều hiện nay.
- Nhược điểm:
+ Dùng chung khóa nên nhiều nguy cơ mất an toàn.
+ Khóa dùng chung rất dễ hóa giải (bị “bẻ khóa”). Do cũng phải truyền trên kênh
truyền tin đến bên nhận.
+ Việc gửi thông tin cùng khóa cho số lượng lớn là khó khăn.
- Mô hình truyền tin cơ bản :

Câu 5: Hệ mật mã là gì? Cho biết mô hình truyền tin cơ bản của hệ mật mã học?
Ứng dụng của mật mã học?
* Hệ mật mã : là một hệ bao gồm 5 thành phần (P, C, K, E, D) thoả mãn các tính chất
sau :
P (Plaintext) là tập hợp hữu hạn các bản rõ có thể.
C (Ciphertext) là tập hợp hữu hạn các bản mã có thể.
K (Key) là tập hợp các bản khoá có thể.
E (Encrytion) là tập hợp các qui tắc mã hoá có thể.
D (Decrytion) là tập hợp các qui tắc giải mã có thể.
* Mô hình truyền tin cơ bản của hệ mật mã học:


Bản rõ

Bản mã
Mã hóa

K1


Kẻ địch

Giải mã

Bản rõ gốc

K2

Một thông báo thường được tổ chức dưới dạng bản rõ. Người gửi sẽ mã hóa bản rõ
thông qua một khóa K1 để tránh kẻ địch nghe trộm hay sửa đổi, kết quả thu được gọi là
bản mã. Bản mã này được gửi đi trên một đường truyền tới người nhận, sau khi nhận
được bản mã thì người nhận sử dụng khóa K2 để giải mã thành bản rõ gốc để tìm hiểu
nội dung.
* Ứng dụng của mật mã học:
 Bảo mật : che dấu nội dung của các thông điệp được trao đổi trong một phiên truyền
thông hoặc giao dịch hoặc các thông điệp trên một hệ thống máy tính (các file, các
dữ liệu trong một cơ sở dữ liệu …)
 Xác thực hóa: đảm bảo nguồn gốc của một thông điêp, người dùng.
 Toàn vẹn: đảm bảo chỉ có các tổ chức đã được xác thực hóa mới có thể thay đổi các tài
sản của hệ thống cũng như các thông tin trên đường truyền.
 Dịch vụ không thể chối từ: Các bên đã được xác thực không thể phủ nhận việc tham gia
vào một giao dịch hợp lệ.
 Các dịch vụ khác: chữ ký điện tử, dịch vụ chứng thực danh tính...
Câu 6 : Trình bày sơ đồ của hệ mã hóa khóa công khai RSA? Các bước thực hiện
truyền tin giữa hai thực thể (A và B) sử dụng hệ mã hóa khóa công khai RSA ( giả
sử A muốn truyền thông tin cho B)
Sơ đồ của hệ mã hóa công khai RSA:

- Các bước thực hiện truyền tin A và B:
B1: B tạo khóa như sau:



+ Chọn 2 số nguyên tố lớn p và q (p#q) ngẫu nhiên.
+ Tính n = p*q;
+ Tính ɸ(n) = (p-1)(q-1);
+ Chọn 1 số ngẫu nhiên e (1< e < ɸ(n)) sao cho UCLN(e, ɸ(n)) = 1
+ Tính d: d = e-1mod ɸ(n)
 Khóa công khai: Kp = (n,e)
 Khóa bí mật: Ks = (d, p, q)
B2: Mã hóa và giải mã.
+ A nhận khóa công khai từ B.
+ A biểu diễn thông tin cần gửi thành số m (0<= m + Mã hóa: c = me mod n;
+ Gửi c cho B.
+ Giải mã: Tính m = cd mod n là thông tin nhận được.
Câu 7 : Trình bày thuật toán tạo khóa trong hệ mã hóa khối DES ( Đầu vào, đầu ra,
sơ đồ thực hiện)
Input: Khóa chính (64 bit).
Output: 16 khóa con (K1,….,K16) (48 bit).
* LS: biểu diễn phép dịch trái các bit.
vi = 1 (dịch trái 1 bit) đối với bit i = {1, 2, 9, 16)
vi = 2 (dịch trái 2 bit) đối với bit i còn lại


K (64bit)
PC-1
Co (28bit)
LS1
C1(28 bit)
LS2

Ci(28 bit)
LS16
C16(28 bit)

Do (28bit)
LS1
D1(28 bit)

PC-2

K1 (48 bit)

LS2
Di(28 bit)

PC-2

Ki(48 bit)

LS16
D16(28 bit)

PC-2

K16 (48 bit)

Câu 8 : Thế nào là hệ mật mã khóa công khai? So sánh với hệ mã hóa khóa đối
xứng?
Hệ mật mã khóa công khai (hệ mật mã bất đối xứng): 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 là khóa công
khai và khóa bí mật.
Hệ mật mã đối xứng
+ Sử dụng 1 khóa bí mật cho cả 2 quá
trình mã hóa và giải mã.
+ Sử dụng các kĩ thuật mã hóa: DES,
Triple DES, AES
+ Tốc độ mã hóa và giả mã nhanh hơn so
với kĩ thuật mã hóa bất đối xứng.
+ Thích hợp mã hóa những dữ liệu lớn và
yêu cầu bảo mật không cao lắm.

Hệ mã bất đối xứng
+ Sử dụng 2 khóa khác nhau: 1 khóa công
khai và 1 khóa bí mật cho quá trình mã
hóa và giải mã.
+ Sử dụng kĩ thuật mã hóa : RSA
+ An toàn hơn so với kĩ thuật mã hóa đối
xứng.
+ Thích hợp mã hóa những dữ liệu nhỏ và
yêu cầu bảo mật cao.

Câu 9 : Trình bày khái niệm hàm băm? Đặc tính của hàm băm? Một số hàm băm và
ứng dụng của hàm băm?
Hàm băm bảo mật là một kỹ thuật mã hóa nhằm trong việc xác thực thông tin.Hàm
băm chỉ dựa vào thông tin gốc để tạo ra mã băm mà không dùng thêm bất kỳ khóa bí mật


nào nên phải Dùng kèm với 1 thuật toán mật mã nào đó (đối xứng hoặc bất đối xứng) để
mã hóa.

 Đặc tính của hàm băm:
+ Tính toán nhanh.
+ Các khoá được phân bố đều trong bảng.
+ Ít xảy ra đụng độ.
+ Xử lý được các loại khóa có kiểu dữ liệu khác nhau.
 Các hàm băm được ứng dụng trong nhiều lĩnh vực
+ Cho phép tra cứu nhanh một bản ghi dữ liệu nếu cho trước khóa.
+ Kiểm tra tính toàn vẹn của thông điệp.
+ Kiểm tra mật khẩu.
+ Dành cho việc phát hiện và sửa lỗi tập trung phân biệt các trường hợp mà dữ liệu đã
bị làm nhiễu bởi các quá trình ngẫu nhiên.
Câu 10 : Trình bày khái niệm chữ ký điện tử? Chuẩn chữ ký và ứng dụng chữ ký
điện tử?
Chữ ký điện tử: là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video...) nhằm
xác định người chủ của dữ liệu đó.
Chuẩn chữ ký DSS là một chuẩn chữ ký số. DSS sử dụng hàm băm SHA và thuật
toán tạo chữ ký DSA. DSS thuộc loại chữ ký ngẫu nhiên và không phục hồi được.
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. Trao đổi thông tin với độ an toàn và xác thực cao,tiết kiệm
được chi phí giấy tờ, thời gian luân chuyển hoạt động quản lý công văn thư, thư điện tử.
Câu 11: Trình bày ý tưởng giải thuật hệ chữ ký RSA?
Giả sử A và B cần trao đổi thông tin bí mật thông qua một kênh không an toàn.
Với thuật toán RSA, đầu tiên A cần tạo ra cho mình cặp khóa gồm khóa công khai và
khóa bí mật theo các bước sau:
+ Chọn 2 số nguyên tố lớn p và q (p#q) ngẫu nhiên.
+ Tính n = p*q;
+ Tính ɸ(n) = (p-1)(q-1);
+ Chọn 1 số ngẫu nhiên e (1< e < ɸ(n)) sao cho UCLN(e, ɸ(n)) = 1
+ Tính d: d = e-1mod ɸ(n)



 Khóa công khai: Kp = (n,e)
 Khóa bí mật: Ks = (d, p, q)
A gửi khóa công khai cho B và giữ bí mật khóa bí mật của mình.
Ở đây, p và q giữ vai trò rất quan trọng. Chúng là các nhân tố của n và
cho phép tính d khi biết e. Nếu không sử dụng dạng sau của khóa bí mật
thì p và q sẽ được xóa ngay sau khi thực hiện xong quá trình tạo khóa.
Câu 12 : Trình bày ý tưởng giải thuật ELGama?
1) Mã Hóa
Ban đầu chọn 1 số nguyên tố lớn p và 2 số nguyên tố nhỏ hơn p là alpha và a, sau đó tính
khóa công khai:
Beta = alpha^a mod p
Để mã hóa một thông điệp M thành bản mã C, người gửi chọn 1 số ngẫu nhiên k nhỏ hơn
p và tính cặp bản mã:
C1 = alphak mod p
C2 = (M * betak) mod p
Bản mã E(C1,C2) được gửi đi.
Sau đó k sẽ bị hủy đi.
2) Giải mã
Để giải mã thông điệp M đầu tiên ta dùng khóa bí mật a và tính theo công thức:
M = (C2 * (C1a)-1) mod p
= (C2 * (C1(p-1-a))) mod p
3) Kết Luận
K = (p, alpha, a , beta) với:
Thành phần khóa công khai :
Kp = (alphal , beta, p)
Thành phần khóa bí mật:
Ks = (a, p)
Câu 13: Trình bày ý tưởng giải thuật affine? Tại sao trong gt Afine p, q lại là 2 số
nguyên tố?

Mật mã Affine là một dạng mật mã thay thế dùng một bảng chữ cái, trong đó mỗi chữ cái
được ánh xạ tới một số sau đó mã hóa qua một hàm số toán học đơn giản. Một phép dịch
Caesar là mật mã Affine, trong đó các chữ cái được mã hóa với hàm (x+b) mod 26,
với b là bước dịch.


Đầu tiên bảng chữ cái của thông điệp cần mã hóa có kích thước m sẽ được chuyển thành
các con số tự nhiên từ 0,…,m-1. Sau đó dùng một hàm mô đun để mã hóa và chuyển
thành bản mã.
Hàm mã hóa cho một ký tự như sau:
E(x) = (ax + b) mod m
Hàm giải mã là:
D(x) = a-1 (x – b) mod m
với a-1 là nghịch đảo của a theo mô đun m. Tức là
1 = aa-1 mod m
Nghịch đảo mô đun của a chỉ tồn tại nếu a và m là nguyên tố cùng nhau. Hàm giải mã là
hàm ngược của hàm mã hóa:
D(E(x)) = a-1 (E(x) – b) mod m
= a-1 (((ax + b) mod m) – b) mod m
= a-1 (ax + b – b) mod m
= a-1 ax mod m
= x mod m
Câu 14: Mật mã Hill
Giả sử M = 2 là một số nguyên dương (khóa là ma trận cấp 2 x 2), bảng chữ cái là
bảng tiếng anh N = 26 với khóa K và một xâu P ví dụ: P = “x1 x2 x3 x4”.
Để mã hóa, chúng ta chia xâu bản rõ thành 2 vecto hàng 2 chiều “x 1 x2” và “x3 x4”
và tiến hành mã hóa lần lượt:
Với P1 = (x1 x2) ta có: C1 = P1 * K
Với P2 = (x3 x4) ta có: C2 = P2 * K


Với: y1 = (11x1+ 3x2)
11 8mod 26
C1 (y1 y2) = (x1 x2).

y2 = (8x1+ 7x32) mod
7 26

Vậy bản mã thu được là C = “y1y2y3y4”

3

7



×