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

bài tập mã mã nén

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

Câu 6:
Trình bày về thuật toán RSA:
a. Ý tưởng và các yêu cầu của thuật toán.
+ Thuật toán RSA được phát minh năm 1978
+ Sử dụng chế độ mã hóa khối M, C là một số nguyên

(0, n)
Nhắc lại: C= E
PU
(M) : mã hóa khóa PU
M= D
PR
(E
PU
(M)) : giải mã khóa PR (ko cho phép tính được PR từ PU)
+ Dạng mã hóa / giải mã:
C= M
e
mod n
M= c
d
mod n = M
ed
mod n
PU = {e, u} -> Public
PR = {d, n} -> Private
+ Người gửi và người nhận biết giá trị của n và e, nhưng chỉ người nhận biết gtrị của d
+ Mục đích: tìm các giá trị e, d, n (chọn) để tính M và C
Nhận xét:
+ Có thể tìm giá trị của e, d, n sao cho M
ed


= M mod n với M < n
+ Không thể xác định d nếu biết e và n
b. Chi tiết về tạo khóa, quá trình mã hóa, giải mã.
- Tạo khóa (chọn ra p, q là số nguyên tố)
- Mã hóa và giải mã
Ví dụ:
Chon p, q là các số nguyên tố: p=7, q= 17
- Tính n= p*q = 119
- Tính
( )
n
ο
= (p-1)(q-1) = 6*16 = 96
- Chọn e sao cho ƯSCLN (e,
( )
n
ο
) = 1 (e <
( )
n
ο
).
o Chọn e= 5 vì ƯSCLN (5,96) = 1
- Tính d: Xác định d sao cho de = 1 mod 96 và d<96 (d= e
-1
mod O(n)).
=> d = 77, vì 77 x 5 = 385 = 4 x 96 + 1
- Tính M:
- Tính C
• Đặc điểm của thuật toán

- Thử tất cả các khóa có thể, e và d càng lớn thì càng bảo mật
- Khóa càng lớn thì hệ thống càng chậm
- Đối với n lớn (tích của các số nguyên tố lớn) thì việc phân tích thành thừa số là vấn đề khó khăn
-
c. Thuật toán trao đổi khóa Diffie-Hellman.
- Thuật toán này tạo ra cơ chế giúp cho 2 bên có thể thống nhất được khóa bí mật sau một số bước.
- Công khai chọn:
o Chọn số nguyên tố q
o Chọn số
α
< q và là căn nguyên thủy của q.
Khái niệm căn nguyên thủy: a là ăn ng.thủy của n nếu a
i
(i = 0,…) bao hàm tcả số dư
trong phép chia cho n.
Ví dụ: (3
0
= 1 ) : 7 dư 1
(3
1
= 3 ) : 7 dư 3
(3
2
= 9 ) : 7 dư 2
(3
3
= 27 ) : 7 dư 6
……….
o Bên A: Chọn 1 số bí mật X
A

< q
Chọn số Y
A =
(
α
XA
) mod q
o Bên B: Chọn 1 số bí mật X
B
Chọn số Y
B =
(
α
XB
) mod q
o K = (Y
B
XA
mod q) = (Y
A
XB
mod q)
Y
B
XA
= (
α
XB
mod q)
XA

=
α
XB.XA
mod q
=
Y
A
XB
= (
α
XA
mod q)
XB
=
α
XA.XB
mod q
Câu 7:
Trình bày về kỹ thuật chứng thực (authentication):
a. Khái niệm, tại sao cần phải chứng thực thông tin.
- Khái niệm chứng thực:
+ 3 vấn đề an toàn của thông tin: bảo mật thông tin, chứng thực xác minh nguồn gốc của t. tin, toàn vẹn
dữ liệu
+ Chứng thực là để xác minh nguồn gốc của thông tin, đảm bảo đúng người gửi, thông tin toàn vẹn.
- Cơ chế chứng thực:
+ Thêm vào dữ liệu 1 thẻ chứng thực
+ Bên nhận tiến hành tiếp nhận dữ liệu gốc và thẻ độc lập
+ Tính lại thẻ, so sánh và phát hiện sự thay đổi
Gửi
So sánh

b. Kỹ thuật chứng thực bằng mã chứng thực (authentication code), tạo mã chứng thực bằng hàm hash.
• Chứng thực bằng mã chứng thực
• Tạo mã chứng thực bằng hàm Hash
- Hàm hash tiếp nhận input có kích thước bất kỳ, output có kích thước cố định
- Dễ tính toán xuôi, biết M -> tính H(M)
- Khó tính ngược, cho H(M) ko tính đc M
- Khó tìm được M1 # M2 sao cho H(M1) = H(M2)
Ví dụ: hàm Hash đơn giản
- Chia dữ liệu thành các khối n bit, sắp xếp thành ma trận bit mxn
b
11
b
12
b
13
……… b
1n
b
21
b
22
b
23
……. b
21
….
b
m1
b
m2

b
m3
b
mn
C1 C2 C3 Cn
- Thực hiện XOR theo cột được mã Hash C1, C2, …, Cn
c. Thực hiện chứng thực bằng mã hóa đối xứng và mã hóa bất đối xứng.
- Chứng thực với mã hóa đối xứng
Thực hiện mã hóa và giải mã với khóa bí mật
(Hình này là hình a, Using private-key encryption nhé!)
Message
Thẻ
Message
Thẻ
Message
Thẻ
Thẻ mới
- Chứng thực với mã hóa công khai
+ Mã hóa = khóa bí mật, giải mã = khóa công khai
+ Chứng thực khóa công khai là một chứng thực sử dụng chữ ký số để gắn một khóa công khai với một
thực thể (cá nhân, máy chủ hoặc công ty...). Một chứng thực khóa công khai tiêu biểu thường bao gồm
khóa công khai và các thông tin (tên, địa chỉ...) về thực thể sở hữu khóa đó. Chứng thực điện tử có thể
được sử dụng để kiểm tra một khóa công khai nào đó thuộc về ai.
Câu 8:
Trình bày về thuật toán SHA: (học thuật toán trong vở- 1 số hình hông vẽ :P)
a. Các yêu cầu và đặc điểm của 1 thuật toán hash.
b. Trình bày thuật toán SHA-1: Ý tưởng, các bước thực hiện.
c. Thuật toán HMAC.
Câu 9:
Trình bày về chữ ký số (Digital Signature):

a. Khái niệm, tạo và sử dụng chữ ký số bằng kỹ thuật mã hóa bất đối xứng.
- Chữ ký số : Là một thể chứng thực được mã hóa bởi khoá bí mật của người gửi. Chữ ký số 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ý số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng các kỹ thuật mật mã để gắn
với mỗi người sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện tử cũng
như trao đổi các thông tin mật. Khóa công khai thường được phân phối thông qua chứng thực khóa công
khai. Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký.
- Tạo chữ ký số: bằng kỹ thuật mã hóa bất đối xứng (kỹ thuật mã hóa khóa công khai): Chữ ký điện tử
được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn
bản (message digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính
kèm với văn bản gốc để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại
fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×