Câu hỏi: CRY303c Mật mã ứng dụng – Bộ ôn tập cuối kỳ số 1
50 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 đúng thứ tự trong đề. Trang 3/3 — câu 41–50.
Danh sách câu hỏi
50/50 câuHết danh sách
41Which of the following operation modes do not require padding (if the data does not fill the block)?5 lựa chọn
ACBC
BECB
COFB
DCFB
ECTR
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm ba ý: "OFB", "CFB" và "CTR". Ba chế độ này biến mã khối thành mã dòng: mã khối chỉ dùng để sinh dòng khoá (OFB mã hoá lặp đầu ra trước, CFB mã hoá khối bản mã trước, CTR mã hoá giá trị bộ đếm), rồi bản rõ được XOR với dòng khoá. Khối cuối ngắn hơn kích thước khối chỉ cần XOR với đúng số bit tương ứng và bỏ phần dòng khoá thừa, nên không cần đệm. "CBC" cần đệm vì mỗi khối bản rõ được XOR với khối bản mã trước rồi đưa thẳng vào hàm mã hoá E, mà hàm này chỉ nhận đầu vào đủ một khối. "ECB" cũng cần đệm vì mã hoá trực tiếp từng khối bản rõ bằng E, khối cuối thiếu bit thì không mã được.
APlaintext, ciphertext
BCiphertext, plaintext
CPlaintext, secret key
DCiphertext, secret key
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Plaintext, ciphertext". Bản rõ (plaintext) là thông điệp gốc mà con người đọc hiểu được, ví dụ một câu tiếng Anh bình thường; bản mã (ciphertext) là đầu ra của thuật toán mã hoá, trông như chuỗi chữ cái và chữ số ngẫu nhiên mà người không có khoá không hiểu được. Câu hỏi có hai chỗ trống: chỗ đầu nói thứ đọc hiểu được nên là bản rõ, chỗ sau nói chuỗi ngẫu nhiên vô nghĩa nên là bản mã. "Ciphertext, plaintext" đảo ngược hai khái niệm. "Plaintext, secret key" đúng ở chỗ đầu nhưng khoá bí mật (secret key) là tham số đưa vào thuật toán, không phải thứ được mô tả là kết quả khó hiểu của văn bản. "Ciphertext, secret key" sai cả hai chỗ, vì bản mã không phải thứ đọc hiểu được.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". One-time pad (sổ dùng một lần) đạt bí mật hoàn hảo (perfect secrecy) theo Shannon: bản mã c = p ⊕ k không tiết lộ gì về bản rõ, với điều kiện khoá ngẫu nhiên thật, dài ít nhất bằng thông điệp và không bao giờ dùng lại. Chính các điều kiện này làm nó không thực tế để dùng phổ biến: mã hoá 1 GB dữ liệu phải có 1 GB khoá ngẫu nhiên thật, phải chuyển khoá đó tới bên kia qua một kênh an toàn từ trước (nếu có kênh như vậy thì gửi luôn dữ liệu), rồi lưu trữ và huỷ khoá sau một lần dùng; dùng lại khoá hai lần thì c1 ⊕ c2 = p1 ⊕ p2 và bí mật sụp đổ. Vì thế hệ thống thực tế dùng mã khối như AES hay mã dòng với khoá ngắn, còn one-time pad chỉ dùng ở vài kênh rất đặc thù. Phát biểu "True" sai vì nhầm an toàn lý thuyết với tính phổ biến trong thực tế.
AMultiple encryption
BOTP
CSymmetric encryption
DAsymmetric encryption
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Multiple encryption". Mã hoá nhiều lần (multiple encryption) là kỹ thuật chạy cùng một thuật toán mã hoá nhiều lượt, thường với các khoá khác nhau, để tăng độ dài khoá hiệu dụng. Ví dụ tiêu biểu là Triple DES chạy DES ba lần theo dạng mã hoá, giải mã, mã hoá với hai hoặc ba khoá; mã hoá hai lần (Double DES) không tăng an toàn tương xứng vì bị tấn công gặp nhau ở giữa (meet-in-the-middle). "OTP" (one-time pad) là mã dùng khoá ngẫu nhiên dài bằng thông điệp, chỉ dùng một lần, không phải chạy một thuật toán nhiều lượt. "Symmetric encryption" là lớp mã dùng chung một khoá cho hai bên, nói về cách dùng khoá chứ không về số lần mã hoá. "Asymmetric encryption" dùng cặp khoá công khai và khoá riêng, cũng không mô tả việc lặp thuật toán.
A11
B15
C19
D23
E27
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "15". Cây băm (hash tree, cây Merkle) với 128 khối dữ liệu là cây nhị phân có log2(128) = 7 tầng dưới gốc. Để khoanh vùng một khối lỗi, ta kiểm gốc trước (1 lần), rồi ở mỗi tầng kiểm cả hai nút con để biết nhánh nào sai và đi xuống nhánh đó (2 lần mỗi tầng); tổng là 1 + 2 × 7 = 15, ít hơn nhiều so với kiểm cả 128 khối. Phương án "11" ứng với 1 + 2 × 5, tức cây chỉ có 2^5 = 32 khối. Phương án "19" ứng với 1 + 2 × 9, tức 2^9 = 512 khối. Phương án "23" ứng với 1 + 2 × 11, tức 2048 khối. Phương án "27" ứng với 1 + 2 × 13, tức 8192 khối. Như vậy số lần kiểm tăng theo logarit số khối, đó chính là ưu điểm của cây băm.
46Asymmetric encryption is more secure than symmetric encryption and has made symmetric encryption obsolete.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Độ an toàn không phụ thuộc vào việc hệ là đối xứng hay bất đối xứng mà phụ thuộc vào độ khó của bài toán nền và độ dài khoá: AES-128 có mức an toàn tương đương khoảng RSA 3072 bit. Mật mã bất đối xứng như RSA, Diffie-Hellman chậm hơn mã đối xứng hàng trăm đến hàng nghìn lần vì dựa trên luỹ thừa modulo số rất lớn, nên không hợp để mã hoá khối dữ liệu lớn. Thực tế dùng mô hình lai: khoá công khai để trao đổi hoặc bọc khoá phiên và để ký số, còn dữ liệu được mã bằng khoá đối xứng như AES, đúng như TLS làm. Vì vậy mã đối xứng không hề lỗi thời mà vẫn gánh phần lớn dữ liệu. Chọn "True" là nhầm cả hai vế: bất đối xứng không mặc nhiên an toàn hơn và cũng không thay thế được đối xứng.
47In DES algorithm, the block size, the key size, and the number of rounds is ____, ____ and ____4 lựa chọn
A64/56/16
B64/64/16
C64/56/10
D64/64/10
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "64/56/16". DES (Data Encryption Standard) là mã khối cấu trúc Feistel, mã hoá khối 64 bit, khoá nhập vào dài 64 bit nhưng 8 bit dùng làm bit chẵn lẻ (parity) nên độ dài khoá hiệu dụng là 56 bit, và chạy 16 vòng, mỗi vòng dùng một khoá con 48 bit sinh từ khoá 56 bit. Khoá 56 bit tức 2^56 khả năng là lý do DES bị phá bằng vét cạn và được thay bằng Triple DES rồi AES. "64/64/16" nhầm độ dài khoá danh nghĩa 64 bit với khoá hiệu dụng. "64/56/10" sai số vòng; 10 vòng là của AES-128, không phải DES. "64/64/10" sai cả độ dài khoá hiệu dụng lẫn số vòng.
48In polyalphabetic cipher, each plaintext alphabet is assigned to a different unique ciphertext alphabet.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Phát biểu gán mỗi chữ cái bản rõ với đúng một chữ cái bản mã cố định duy nhất, đó là mô tả của mã đơn bảng (monoalphabetic cipher): chữ E lúc nào cũng thành cùng một chữ, nên phân tích tần suất phá được dễ dàng. Mã đa bảng (polyalphabetic cipher) như Vigenère dùng nhiều bảng thay thế luân phiên theo vị trí hay theo khoá, nên cùng một chữ cái bản rõ có thể thành nhiều chữ cái bản mã khác nhau; ví dụ với khoá XO, chữ A ở vị trí lẻ dịch 23 thành X, còn ở vị trí chẵn dịch 14 thành O. Nhờ đó phân bố tần suất của bản mã bị làm phẳng, khó phá hơn mã đơn bảng. Vì mệnh đề mô tả ánh xạ cố định một đổi một, nó sai với mã đa bảng, nên "True" bị loại.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". AES không dùng cấu trúc Feistel nên giải mã không thể chạy lại đúng mạch mã hoá với khoá con đảo thứ tự như DES. Mỗi vòng mã hoá gồm SubBytes, ShiftRows, MixColumns, AddRoundKey; giải mã phải dùng các phép nghịch đảo riêng: InvSubBytes với hộp S nghịch đảo, InvShiftRows dịch vòng các hàng sang phải thay vì sang trái, InvMixColumns nhân với ma trận nghịch đảo trên GF(2^8) có hệ số 0E, 0B, 0D, 09 thay cho 02, 03, 01, 01, và khoá vòng dùng theo thứ tự ngược. Vì thế phần cứng hay phần mềm AES cần cài đặt riêng cho chiều giải mã, và InvMixColumns còn tốn kém hơn MixColumns. Chọn "False" là nhầm AES với mã Feistel; ngay cả dạng equivalent inverse cipher có cùng trình tự vòng thì các phép biến đổi bên trong vẫn khác.
AH
BE
CL
DO
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "E". Trong mã thay thế đơn bảng (monoalphabetic cipher), mỗi chữ bản rõ luôn được thay bằng cùng một chữ bản mã, nên chữ nào phổ biến trong bản rõ thì ảnh của nó phổ biến đúng bằng chừng ấy trong bản mã. Chữ e là chữ thường gặp nhất trong tiếng Anh (khoảng 12–13% số chữ), vì vậy chữ a xuất hiện nhiều nhất trong bản mã một cuốn sách dài nên được đoán là ảnh của e; người thám mã đặt giả thuyết này trước rồi kiểm bằng các chữ ghép phổ biến như the. "H" phổ biến vừa phải, đứng sau e, t, a, o. "L" chỉ ở nhóm trung bình, tần suất chưa bằng một phần ba của e. "O" là chữ phổ biến nhưng vẫn kém e, chỉ là giả thuyết thử tiếp nếu e không khớp.