Tất cả câu hỏi
Ngân hàng câu hỏi trắc nghiệm có giải thích chi tiết.
3.840/20.114 câuCòn 16.274
3821Which of the following is/are algorithms that are widely accepted for asymmetric cryptography?5 lựa chọn
ARSA
BElliptic curve
CDiffie-Hellman key exchange
DDSS
EAll the other choices
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All the other choices". Cả bốn tên đều là thuật toán bất đối xứng được chấp nhận rộng rãi, nên phương án gộp mới là câu trả lời đầy đủ. "RSA" dựa trên độ khó phân tích thừa số tích hai số nguyên tố lớn, dùng được cho mã hoá và ký số. "Elliptic curve" (mật mã đường cong elliptic, ECC) dựa trên bài toán logarit rời rạc trên đường cong elliptic, cho an toàn tương đương RSA với khoá ngắn hơn nhiều. "Diffie-Hellman key exchange" dựa trên bài toán logarit rời rạc modulo p, cho hai bên thoả thuận khoá bí mật chung qua kênh công khai. "DSS" (Digital Signature Standard) là chuẩn chữ ký số của NIST dùng thuật toán DSA, chỉ ký chứ không mã hoá. Mỗi tên riêng lẻ đều đúng nhưng chỉ là một phần, nên chọn riêng một cái là chưa đủ.
A7
B3
C8
D5
E11
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "7". Trong Diffie-Hellman, khoá công khai Y_A = a^X_A mod p, nên ta kiểm 10^X_A mod 22 có bằng 10 không. Tính lần lượt: 10^1 = 10, 10^2 = 100 mod 22 = 100 − 88 = 12, 10^3 = 12 × 10 = 120 mod 22 = 120 − 110 = 10, tức dãy lặp chu kỳ 2: số mũ lẻ cho 10, số mũ chẵn cho 12. Vậy 10^7 mod 22 = 10, khớp Y_A, nên "7" thoả. Nhưng cần nói thẳng: đề chọn p = 22 = 2 × 11 không phải số nguyên tố và 10 không phải phần tử nguyên thuỷ (chỉ sinh được hai giá trị 10 và 12), nên "3", "5" và "11" cũng là số mũ lẻ và đều cho Y_A = 10; lôgarit rời rạc ở đây không có nghiệm duy nhất, và "7" là giá trị được chốt cho câu này. Phương án "8" là phương án duy nhất sai về số học, vì số mũ chẵn cho 10^8 mod 22 = 12 ≠ 10. Đây cũng là lý do Diffie-Hellman đòi p nguyên tố lớn và a là phần tử nguyên thuỷ để a^X phủ đủ các giá trị từ 1 tới p − 1.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Diffie-Hellman thuần không xác thực các bên, nên dễ bị tấn công kẻ đứng giữa (man-in-the-middle). Hai bên công bố g^a mod p và g^b mod p; kẻ tấn công chặn cả hai, gửi cho mỗi bên giá trị g^m của riêng hắn, rồi lập được một khoá chung với Alice là g^(am) và một khoá chung khác với Bob là g^(bm). Sau đó hắn giải mã thư của bên này, đọc hoặc sửa, mã lại gửi bên kia mà không ai phát hiện. Độ khó của logarit rời rạc chỉ chống kẻ nghe lén thụ động, không chống kẻ chủ động thay giá trị. Cách khắc phục là xác thực giá trị trao đổi bằng chữ ký số hay chứng thư, như trong TLS. Vì phát biểu nói Diffie-Hellman không bị tấn công này, nó sai, nên "True" bị loại.
3824Key distribution is the function that delivers a key to two parties who wish to exchange secure encrypted data.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Phân phối khoá (key distribution) là chức năng đưa một khoá tới hai bên muốn trao đổi dữ liệu mã hoá, sao cho kẻ khác không biết được khoá đó. Với mã đối xứng, đây là vấn đề trung tâm: hai bên phải có cùng khoá bí mật trước khi liên lạc. Các cách làm gồm trao tay trực tiếp, nhờ một trung tâm phân phối khoá (key distribution center, KDC) như trong Kerberos, mã hoá khoá mới bằng khoá cũ đã chia sẻ, hoặc dùng mật mã khoá công khai như trao đổi khoá Diffie-Hellman. "False" sai vì phát biểu đúng là định nghĩa chuẩn của phân phối khoá.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". NFT (Non-fungible Token, token không thể thay thế) là một token trên blockchain, thường theo chuẩn ERC-721 của Ethereum, mỗi token có mã định danh duy nhất và không hoán đổi ngang giá với token khác, khác với tiền mã hoá như Bitcoin, nơi mọi đơn vị có giá trị như nhau (fungible). Quyền sở hữu NFT được ghi trong sổ cái phân tán, xác thực bằng chữ ký số của chủ ví và bảo vệ toàn vẹn bằng hàm băm của các khối, nên người ta có thể mua bán, chuyển nhượng và sưu tầm chúng như tài sản mã hoá, thường gắn với tác phẩm số, vật phẩm trò chơi hay vé. Phát biểu đúng như vậy, nên không thể chọn "False"; lưu ý NFT chứng minh quyền sở hữu bản ghi token chứ không tự bảo đảm bản quyền của tệp gốc.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". RSA (Rivest-Shamir-Adleman) là thuật toán mật mã khoá công khai, tức bất đối xứng: mỗi người có cặp khoá gồm khoá công khai (e, n) và khoá riêng d, với n = p·q là tích hai số nguyên tố lớn và e·d ≡ 1 theo modulo φ(n). Mã hoá là C = M^e mod n, giải mã là M = C^d mod n, hai khoá khác nhau và biết khoá công khai không suy ra khoá riêng nếu không phân tích được n. Mật mã khoá đối xứng thì hai bên dùng chung một khoá cho cả mã hoá và giải mã, như AES hay DES. Trong thực tế RSA thường được dùng để trao khoá đối xứng hoặc ký số, còn dữ liệu lớn được mã bằng thuật toán đối xứng vì nhanh hơn nhiều. Vì phát biểu gọi RSA là đối xứng, nó sai, nên "True" bị loại.
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.
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.
3829In 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.
3830In 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.
3831Asymmetric 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.
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.
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.
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ế.
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.
3836Which 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.
3837Which of the followings does Diffie-Hellman Key Exchange support: encryption/decryption, digital signatures, key exchange?4 lựa chọn
AKey exchange
BEncryption/Decryption
CDigital signature
DAll the other choices
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Key exchange". Diffie-Hellman chỉ là giao thức trao đổi khoá: hai bên thống nhất số nguyên tố p và phần tử nguyên thuỷ a, mỗi bên chọn số bí mật X, gửi Y = a^X mod p, rồi cùng tính K = a^(X_A·X_B) mod p mà không bao giờ truyền K; độ an toàn dựa trên độ khó của bài toán lôgarit rời rạc. Bản thân giao thức không mã hoá thông điệp nào và không tạo chữ ký. "Encryption/Decryption" phải dùng thuật toán khác, ví dụ mã đối xứng AES với khoá K vừa thoả thuận, hoặc RSA, ElGamal (hệ mã xây trên ý tưởng Diffie-Hellman nhưng là thuật toán riêng). "Digital signature" là việc của RSA, DSA hay ECDSA. "All the other choices" sai vì Diffie-Hellman không hỗ trợ cả ba chức năng, chỉ hỗ trợ đúng một chức năng trao đổi khoá.
3838RSA cipher is vulnerable to5 lựa chọn
ABrute-force attack
BPrime factorization attack
CTiming-based side channel attack
DChosen ciphertext attack
EAll the other choices
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All the other choices". RSA chịu được nhiều hướng tấn công khác nhau và mỗi hướng cần biện pháp riêng. "Brute-force attack" là thử mọi khoá riêng có thể; về nguyên tắc luôn làm được, nên phải dùng khoá đủ dài. "Prime factorization attack" là tấn công toán học: phân tích n = p·q thì tính được φ(n) = (p − 1)(q − 1) rồi suy ra d, nên an toàn của RSA dựa vào độ khó phân tích n lớn cỡ 2048 bit. "Timing-based side channel attack" (kênh kề theo thời gian) đo thời gian giải mã, vì phép luỹ thừa modulo chạy lâu hơn khi gặp bit 1 của d nên lộ dần từng bit; chống bằng thời gian chạy hằng định hay làm mù (blinding). "Chosen ciphertext attack" khai thác tính nhân của RSA thuần: (C·r^e)^d = M·r mod n, nên phải đệm như OAEP. Vì cả bốn đều đúng, đáp án là phương án gộp.
3839Which of the following terms can be used interchangeably with message authentication code (MAC)?5 lựa chọn
ADigital signature
BAuthenticator
CTag
DCryptographic checksum
EKeyed hash
Lời giải
Mở trang câu hỏi này →Đáp án đúng gồm bốn ý: "Authenticator", "Tag", "Cryptographic checksum" và "Keyed hash". Mã xác thực thông điệp (message authentication code, MAC) là một giá trị ngắn tính từ thông điệp và một khoá bí mật chung, MAC = C(K, M), gắn kèm thông điệp để bên nhận tính lại và so sánh. Vì thế nó còn được gọi là bộ xác thực (authenticator), thẻ (tag) gắn theo thông điệp, tổng kiểm mật mã (cryptographic checksum) vì giống checksum nhưng phải có khoá mới tính được, và băm có khoá (keyed hash) khi xây từ hàm băm như HMAC. "Digital signature" không dùng thay được: chữ ký số dùng cặp khoá bất đối xứng, ký bằng khoá riêng và ai cũng kiểm được bằng khoá công khai, nên cho tính chống chối bỏ (non-repudiation); MAC dùng khoá đối xứng chung nên cả hai bên đều tạo được cùng một giá trị và không chống chối bỏ được.
APre-image resistance
BSecond pre-image resistance
CCollision resistance
DAll the other choices
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All the other choices". Hàm băm mật mã nhận đầu vào độ dài tuỳ ý và cho đầu ra độ dài cố định, và để dùng được trong bảo mật nó phải có cả ba tính chất an toàn cùng lúc. "Pre-image resistance" (kháng tiền ảnh, tính một chiều): cho giá trị băm h, không tìm được x có H(x) = h, nhờ đó băm mật khẩu hay chuỗi băm S/Key mới an toàn. "Second pre-image resistance" (kháng tiền ảnh thứ hai, kháng va chạm yếu): cho trước x, không tìm được y ≠ x có H(y) = H(x), giúp kẻ gian không thay được tài liệu đã ký. "Collision resistance" (kháng va chạm mạnh): không tìm được cặp x ≠ y bất kỳ cùng giá trị băm, chống tấn công ngày sinh. Mỗi tính chất đứng riêng chỉ là một mảnh của định nghĩa; thiếu bất kỳ tính chất nào, chẳng hạn MD5 đã mất kháng va chạm, thì hàm không còn được coi là hàm băm an toàn, nên chọn một tính chất đơn lẻ là chưa đủ.