Câu hỏi: CRY303c - Phần 4: Mật mã bất đối xứng và quản lý khoá
23 câu trắc nghiệm kèm lời giải của môn CRY303c - Mật mã ứng dụng, xếp theo thứ tự nhập vào ngân hàng. Trang 2/2 — câu 21–23.
Danh sách câu hỏi
23/23 câuHết danh sách
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Diffie-Hellman gốc không xác thực các bên: Alice gửi Y_A = a^X_A mod p, Bob gửi Y_B = a^X_B mod p, nhưng không ai kiểm được giá trị nhận được có thật sự đến từ đối phương. Kẻ đứng giữa (man-in-the-middle) như Darth chặn cả hai giá trị, tự sinh hai khoá riêng X_D1, X_D2 rồi gửi Y_D1 cho Bob, Y_D2 cho Alice. Kết quả là Alice chia khoá K1 với Darth, Bob chia khoá K2 với Darth, và Darth giải mã, đọc, sửa rồi mã lại mọi thông điệp chuyển qua mà hai bên không hay biết, dù bài toán lôgarit rời rạc vẫn khó. Cách chống là xác thực các giá trị trao đổi, chẳng hạn ký số chúng hoặc dùng chứng chỉ khoá công khai do CA cấp, như trong TLS. Chọn "False" là nhầm độ khó tính toán với tính xác thực.
ABob's private key
BThe message from Alice to Bob
CAlice's private key
DThe session key
EBob's public key
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm hai ý: "Bob's private key" và "Alice's private key". Trong Diffie-Hellman, Alice chọn số bí mật a, Bob chọn b, hai bên trao g^a mod p và g^b mod p rồi cùng tính khoá phiên g^(ab) mod p. Kẻ tấn công vét cạn thành công phép mã hoá thì có được khoá phiên và từ đó đọc được thông điệp, nhưng muốn lùi từ khoá phiên hay từ g^a mod p về a hoặc b thì phải giải bài toán logarit rời rạc, việc không khả thi với p lớn; nên khoá riêng của cả hai vẫn an toàn. "The message from Alice to Bob" đã lộ vì có khoá phiên là giải mã được. "The session key" chính là thứ vét cạn tìm ra. "Bob's public key" vốn công khai từ đầu nên không có gì để giữ bí mật.
ATakes the hash of the p and then encrypting using its private key
BTakes the hash of the p and then encrypting using its public key
CTakes p and encrypt it using its private key
DTakes p and encrypt it using its public key
EEncrypt p using its private key and then take the hash
FEncrypt p using its public key and then take the hash
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Takes the hash of the p and then encrypting using its private key". Cả chữ ký RSA lẫn DSS đều ký trên giá trị băm: người gửi tính H(p) có độ dài cố định rồi dùng khoá riêng của mình biến đổi nó thành chữ ký (với RSA là s = H(p)^d mod n, với DSS là thuật toán DSA dùng khoá riêng sinh cặp r, s), và gửi kèm p. Người nhận băm lại p và kiểm bằng khoá công khai của người gửi; chỉ người có khoá riêng mới tạo được chữ ký đúng, nên có xác thực và chống chối bỏ. "Takes the hash of the p and then encrypting using its public key" sai vì khoá công khai ai cũng có, ai cũng tạo được, nên không chứng minh gì về người gửi. "Takes p and encrypt it using its private key" bỏ bước băm: thông điệp dài phải ký từng khối rất chậm, chữ ký dài bằng thông điệp và RSA thô còn dễ bị giả mạo nhờ tính chất nhân. "Takes p and encrypt it using its public key" là mã hoá chứ không phải ký, và mã bằng khoá công khai của chính người gửi thì người nhận không giải được. "Encrypt p using its private key and then take the hash" và "Encrypt p using its public key and then take the hash" đảo thứ tự: giá trị băm của bản mã không liên kết được với khoá công khai, người nhận không có cách nào kiểm.