Professional Documents
Culture Documents
E Cuong On Tap 1
E Cuong On Tap 1
vẽ sơ đồ minh họa
- Mô hình trao đổi khóa công khai thông qua sử dụng một máy chủ không trực
tuyến và chứng chỉ
- Ví dụ:
4. Quy trình giải mã của thuật mã hóa RC6? Vẽ sơ đồ minh họa
7. Quy trình trao đổi khóa của (Two-way Authentication) trong X.509 ?
- Xác thực hai chiều (Two-way Authentication) – Xác thực thực thể với tem thời
gian
A tạo
(1)
C1 =
k A =D(cert A )
D A =D(S A ( D A ) , k A )
PB ( k 1 ) ¿ B , t A ,t B =D( D A )
k 1= D( PB ( k 1 ) , k B)
B tạo
(2)
C2 =
8. Quy trình mã hóa và giải mã của giải thuật mã hóa Elgamal? ví dụ minh họa
cho quá trình mã hóa và giải mã?
Bước 1: Sinh khóa: Người nhận sẽ thực hiện các công việc sau để sinh ra khóa phục vụ
cho quá trình mã hóa và giải mã:
Chọn số nguyên tố p đủ lớn (từ 1024 bit trở lên);
¿
Chọn số ngẫu nhiên e 1; sao cho e 1 Z p là phần tử nguyên thủy.
Chọn d sao cho 1<d<p-1;
Tìm giá trị e 2 sao cho e 2 =e 1 mod p;
d
Kết luận: Như vậy khóa công khai sẽ là (e2; e1; p); khóa bí mật sẽ là d. Người nhận sẽ
công khai tham số (e2; e1; p)
Bước 2: Mã hóa: người gửi sau khi có cặp khóa công khai của người nhận sẽ thực hiện
quá trình mã hóa thông điệp như sau:
Chọn thông điệp mã hóa (M)
Chọn số ngẫu nhiên r;
Tính C 1= e 1 mod p;
r
Kết luận: sau khi mã hóa xong, bản mã sẽ là C1 và C2 và cặp bản mã này sẽ được người
gửi gửi cho người nhận qua kênh công cộng.
Bước 3: giải mã: người nhận, sau khi nhận được cặp bản mã C1 và C2 sẽ thực hiện giải
mã bản mã để tìm ra được thông điệp. Quá trình giải mã như sau:
d r d rd
Tính Z = (C 1) = (e 1) = e 1 mod p
rd −1
Tính giá trị nghịch đảo của Z: Z−1 = (e 1 ) mod (p)
d −1
Giải mã theo bản mã: M = (C ¿ ¿ 2∗Z−1) ¿ mod (p) = ¿ * (C 1 ) ) mod p
Kết luận: sau khi giải mã xong thì người nhận sẽ tìm ra được thông điệp ban đầu.
Ví dụ: chọn p=11; M=7; e 1=2; d= 3; tính được e 2= 8.
Từ đây được cặp khóa công khai như sau: (2, 8, 11), khóa bí mật (3).
Người nhận chọn r = 4.
Áp dụng công thức ở trên tính toán được cặp bản mã như sau:
C 1= e r1 mod p = 16 mod 11 = 5
C 2= (e r2 M ) mod p = (7*4096) mod 11= 6.
Vậy cặp bản mã là (5, 6).
Người nhận sau khi nhận được cặp bản mã (C1; C2) tiến hành giải mã như sau:
M= C 2 * (C d1 )−1) mod p = [6 * (53 )−1] mod 11 = 7
Lưu ý: Từ quá trình mã hóa và giải mã của giải thuật mã hóa Elgamal có thể thấy một số
vấn đề trong giải thuật Elgamal như sau: Trong giải thuật mã hóa Elgamal người nhận tạo
ra 1 khóa bí mật d và người gửi cũng tạo ra 1 khóa bí mật r. Người gửi đã giúp người
nhận tạo ra mặt lạ rd e1 để giấu đi r và d. Nếu một trong 2 tham số r và d bị lộ ra thì giải
thuật mã hóa Elgamal không còn được an toàn. Vì nếu d bị lộ thì thông điệp bị lộ, nếu r
bị lộ thì thông điệp bị giả mạo.
9. Hàm g trong giải thuật mã hóa Twofish? vẽ sơ đồ minh họa quá trình biến
đổi trong hàm g của giải thuật mã hóa Twofish?
- Hàm g trong giải thuật mã hóa Twofish:
Đầu vào 32bit, đầu ra 32bit
Từ dữ liệu đầu vào 32 bit, chia thành 4 khối mỗi khối 8bit = 4 byte. 4 byte này
sẽ đi vào các hàm S–box. Sau khi qua hàm S–box với các quá trình biến đổi sẽ
thu được 8 bit kết quả trên mỗi S–box. Sau đó bốn byte kết quả được xem như
một vector có chiềudài bằng 4 trên GF(28) và vector này nhân với ma trận có
kích thước (4 × 4) MDS (sử dụng vùng GF(28) cho việc tính toán). Vector kết
quả được xem như một từ 32 bit và nó cũng là kết quả của hàm g.
12. Quy trình mã hóa của giải thuật mã hóa Serpent? Hình vẽ tương ứng
Giải thuật mã hóa Serpent gồm 3 phần chính: Hoán vị khởi tạo IP (Initial
Permutation); 32 vòng lặp của thuật toán mã hoá; Hoán vị kết thúc FP.
- Hoán vị khởi tạo và hoán vị kết thúc: Hoán vị khởi tạo IP sẽ thực hiện biến đổi
128 bit bản rõ P thành 128 bit ^ B0, ^
B0 chính là đầu vào của vòng lặp đầu tiên trong
32 vòng lặp mã hoá. Hoán vị kết thúc FP sẽ thực hiện biến đổi 128 bit ^ B32 (đầu ra
của vòng lặp cuối cùng) thành 128 bit bản mã C. Giá trị đầu vào của IP là khối P
có kích thước 128 bit 𝑏0 , 𝑏1 , 𝑏2 , …, 𝑏127. Hoán vị khởi tạo IP sẽ thực hiện biến
đổi giá trị các bit theo nguyên tắc sau:
𝑏0 , 𝑏1 , 𝑏2 , …, 𝑏127 → 𝑏0 , 𝑏32, 𝑏64,… , 𝑏127
Giá trị đầu ra sau khi lặp 32 vòng là khối ^ B32 có kích thước 128bit 𝑏0,𝑏1,𝑏2,…,𝑏127.
Hoán vị kết thúc FP là hoán vị nghịch đảo của hoán vị khởi tạo IP và sẽ thực hiện
biến đổi giá trị các bit của 𝐵̂32 theo nguyên tắc sau và cho bản mã C:
𝑏0 , 𝑏1 , 𝑏2 , …, 𝑏127 → 𝑏0 , 𝑏4, 𝑏8,… , 𝑏127
Các vòng của Serpent:
Trộn khoá (key mixing): Trong giải thuật mã hóa Serpent phép trộn khóa
sẽ sử dụng phép XOR giữa 2 giá trị 128 bit ^ Bi ⊕ ^K i trong đó i ∈ {0, 1, 2,
…, 31, 32}, ^K i là khoá vòng thứ i, các khóa vòng này sẽ được sinh ra từ
khóa K ban đầu.
S-boxes: S-box là hộp thế trong Serpent là một phép thay thế 4 bit. Nghĩa
là nó sẽ nhận đầu vào là 1 số nguyên 4 bit và cho ra 1 số nguyên 4 bít khác.
Có tổng cộng 8 S-box được đánh số 𝑆0, 𝑆1, …, 𝑆7.
13. Phân tích về các yêu cầu trong quá trình sinh khóa của giải thuật mã hóa
Elgamal?
14. Định nghĩa thám mã tuyến tính? ưu điểm và nhược điểm của kỹ thuật thám
mã tuyến tính?
15. Quy trình trao đổi thỏa thuận khóa Diffie – Hellman trên đường cong
Elliptic? lấy ví dụ minh họa?
- Ví dụ:
- Quy trình trao đổi thỏa thuẩn Diffie-Hellman trên đường cong Elliptic
Xét nhóm E P (a , b) trên đường cong E và P là điểm nguyên thủy P ∈ E P (a , b)
Chọn Chọn
C A=xP
C B= yP
x(yP) y(xP)
xyP K yxP