Professional Documents
Culture Documents
IT201 - Bai 2 - v1.0011103219
IT201 - Bai 2 - v1.0011103219
Nội dung
Các thành phần mã đối xứng.
Các nguyên lý mã đối xứng.
Các thuật toán mã đối xứng: DES, AES,
RC4.
Các chế độ thao tác mã khối: ECB, CBC,
CFB.
Vị trí đặt các thiết bị mã: mã kết nối, mã
đầu cuối.
IT201_Bai 2_v1.0011103219 15
Bài 2: Mã đối xứng
Tình huống
Làm sao để che giấu nội dung thông điệp của người gửi, không cho người khác đọc được
nội dung, ngoại trừ những người nhận có thẩm quyền.
Phát triển kỹ thuật mã hóa thao tác trên khối dữ liệu hoặc dòng bit, tạo ra thuật toán mã
hóa hiệu quả dễ dàng sử dụng.
Câu hỏi
1. Có thể đưa ra một số yêu cầu, nguyên lý thống nhất để thiết kế mã khối và mã dòng một
cách hiệu quả được không?
2. Làm thế nào để có một số mã chuẩn được nghiên cứu kỹ càng, có khả năng chống thám
mã, tốc độ xử lý nhanh để đưa ra sử dụng rộng rãi trên các giao thức của mạng?
3. Mô tả một số mã hiện đại đang được sử dụng rộng rãi.
4. Trên mô hình mạng, mã thường được đặt ở đâu và đem lại lợi ích gì?
16 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
IT201_Bai 2_v1.0011103219 17
Bài 2: Mã đối xứng
Bản mã truyền
2.1.3. Hệ mật mã
Hệ mật mã được đặc trưng bởi các yếu tố sau :
Kiểu của thao tác mã hoá được sử dụng trên bản rõ:
o Phép thế – thay thế các ký tự trên bản rõ bằng các ký tự khác trên bản mã.
o Hoán vị – thay đổi vị trí các ký tự trong bản rõ, tức là thực hiện hoán vị các ký
tự của bản rõ.
o Tích của chúng, tức là kết hợp cả hai kiểu thay thế và hoán vị các ký tự của bản rõ.
Số khóa được sử dụng khi mã hóa và giải mã: một khóa duy nhất – khóa đối xứng
hoặc hai khóa – khóa không đối xứng. Ngoài ra còn xem xét số khóa có thể được
dùng có nhiều không. Khóa càng nhiều, thì việc mò tìm khóa càng lâu.
Một đặc trưng của mã nữa là cách mà bản rõ được xử lý, theo:
o Khối – dữ liệu được chia thành từng khối có kích thước xác định và áp dụng
thuật toán mã hóa với tham số khóa cho từng khối.
o Dòng – từng đơn vị thông tin đầu vào thường là bit hoặc byte được xử lý liên
tục tạo phần tử đầu ra tương ứng.
18 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
tăng theo hàm mũ. Ta có thể giả thiết là kẻ thám mã có thể dựa vào bối cảnh để biết
hoặc nhận biết được bản rõ.
Sau đây là một số thống kê về mối liên hệ giữa độ dài khóa, kích thước không gian
khóa, tốc độ xử lý và thời gian tìm duyệt tổng thể. Chúng ta nhận thấy với độ dài khóa
từ 128 bit trở lên, thời gian yêu cầu là rất lớn, lên đến hàng tỷ năm, như vậy có thể coi
phương pháp duyệt tổng thể là không hiện thực.
Kích thước Số khóa có thể Thời gian đòi hỏi cho 1 Thời gian đòi hỏi cho
khóa mã 106 mã/s
2.1.5. Độ an toàn
Có thể phân loại an toàn thành hai kiểu như sau:
An toàn không điều kiện: Ở đây cho dù máy tính thực hiện được bao nhiêu phép
toán trong một giây, mã hoá không thể bị bẻ, vì bản mã không cung cấp đủ thông
tin để xác định duy nhất bản rõ. Việc dùng bộ đệm ngẫu nhiên một lần làm khóa
để mã dòng cho dữ liệu mà ta sẽ xét cuối bài này được coi là an toàn không điều
kiện. Ngoài ra chưa có thuật toán mã hóa nào được coi là an toàn không điều kiện.
An toàn tính toán: Với nguồn lực máy tính có giới hạn và thời gian có hạn (chẳng
hạn thời gian tính toán không quá tuổi của vũ trụ) mã hoá coi như không thể bị bẻ.
Trong trường hợp này không quan trọng máy tính mạnh như thế nào, có thể coi
như mã hóa an toàn về mặt tính toán. Nói chung từ nay về sau, một thuật toán mã
hóa mà an toàn tính toán, sẽ được coi là an toàn.
2.2. Mã cổ điển
Mã hoá cổ điển là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử
mã hoá. Thuật toán đơn giản và dễ hiểu. Những phương pháp mã hoá này là cơ sở cho
việc nghiên cứu và phát triển thuật toán mã hoá đối xứng được sử dụng ngày nay.
Mọi mã cổ điển đều là mã đối xứng và có hai loại mã cổ điển là mã thay thế và mã
hoán vị (hay còn gọi là dịch chuyển):
Mã thay thế là phương pháp mà từng kí tự (nhóm kí tự) trong bản rõ được thay thế
bằng một kí tự (một nhóm kí tự) khác để tạo ra bản mã. Bên nhận chỉ cần thay thế
ngược lại trên bản mã để có được bản rõ ban đầu.
Mã hoán vị là phương pháp mà các kí tự trong bản rõ vẫn được giữ nguyên, chúng
chỉ được sắp xếp lại vị trí để tạo ra bản mã, tức là các kí tự trong bản rõ hoàn toàn
không bị thay đổi bằng kí tự khác mà chỉ đảo chỗ của chúng để tạo thành bản mã.
Trước hết ta xét các mã cổ điển sử dụng phép thay thế các chữ của bản rõ bằng các
chữ khác của bảng chữ để tạo thành bản mã.
Ở đây các chữ của bản rõ được thay bằng các chữ hoặc các số hoặc các ký tự khác.
IT201_Bai 2_v1.0011103219 19
Bài 2: Mã đối xứng
Hoặc nếu xem bản rõ như môt dãy bit, thì phép thế thay các mẫu bit bản rõ bằng
các mẫu bit bản mã.
2.2.1. Mã Caesar
Đây là mã thế được biết sớm nhất, được nghĩ ra bởi Julius Caesar. Lần đầu tiên được
sử dụng trong quân sự. Việc mã hoá được thực hiện đơn giản là thay mỗi chữ trong
bản rõ bằng chữ thứ ba tiếp theo trong bảng chữ cái.
Ví dụ. Mã bản rõ: “Meet me after the toga party” bằng bản mã: “PHHW PH DIWHU
WKH WRJD SDUWB”.
Ở đây thay chữ m bằng chữ đứng thứ 3 sau m là p (vì thứ tự từ điển từ m là: m, n, o,
p); thay chữ e bằng chữ đứng thứ 3 sau e là h (vì thứ tự từ điển từ e là e, f, g, h). Ta
viết các chữ trong bản mã bằng chữ in hoa cho dễ phân biệt bản rõ với bản mã.
Có thể định nghĩa việc mã hoá trên qua ánh xạ trên bảng chữ cái như sau: các chữ
ở dòng dưới là mã của các chữ tương ứng ở dòng trên:
a b c d e f g h i j k l m n o p q r s t u v w x y z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Về toán học, nếu ta gán số thứ tự cho mỗi chữ trong bảng chữ cái, bắt đầu từ thứ tự
0, thì các chữ ở dòng trên có số thứ tự tương ứng là số ở dòng dưới:
a b c d e f g h i j k l m
0 1 2 3 4 5 6 7 8 9 10 11 12
n o p q r s t u v w x y z
13 14 15 16 17 18 19 20 21 22 23 24 25
Khi đó mã Caesar được định nghĩa qua phép tịnh tiến các chữ như sau:
c = E(p) = (p + k) mod (26)
p = D(c) = (c – k) mod (26)
Ở đây, p là số thứ tự của chữ trong bản rõ và c là số thứ tự của chữ tương ứng của
bản mã; k là khóa của mã Caesar. Khóa k là số bước tịnh tiến các chữ trong bảng
chữ. Do đó có 26 khóa khác nhau. Độ dài khóa biểu diễn qua bit ở đây là 5, vì đó
là số bit ít nhất cần thiết để biểu diễn 26 giá trị khác nhau.
Thám mã Caesar là việc làm đơn giản, do số khóa có thể có là rất ít. Chỉ có 26
khóa có thể, vì a chỉ có thể ánh xạ vào một trong số 26 chữ cái của bảng chữ cái
tiếng Anh: A, B, C,… Các chữ khác sẽ được xác định bằng số bước tịnh tiến tương
ứng của a. Kẻ thám mã có thể thử lần lượt từng khóa một, tức là sử dụng phương
pháp tìm duyệt tổng thể. Vì số khóa ít nên việc tìm duyệt là khả thi. Cho trước bản
mã, thử 26 cách dịch chuyển khác nhau, ta sẽ đoán nhận thông qua nội dung các
bản rõ nhận được.
Ví dụ. Bẻ bản mã: "GCUA VQ DTGCM" bằng cách thử các phép tịnh tiến khác
nhau của bảng chữ, ta chọn được bước tịnh tiến thích hợp là 24 và cho bản rõ là
"easy to break".
20 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
mã hoán vị, các chữ trong bản rõ không được thay thế bằng các chữ khác mà chỉ thay
đổi vị trí, tức là việc mã hoá chỉ dịch chuyển vị trí tương đối giữa các chữ trong bản
rõ. Như vậy, nó giấu bản rõ bằng cách thay đổi thứ tự các chữ, nó không thay đổi các
chữ thực tế được dùng. Do đó bản mã có cùng phân bố tần suất xuất hiện các chữ như
bản gốc. Tính chất này tạo điều kiện để thám mã có thể phát hiện được.
Mã dịch chuyển dòng
Giả sử lấy một số cột xác định và chọn một hoán vị chỉ số của các cột đó làm khóa.
Viết các chữ của bản rõ lần lượt theo các dòng với số cột xác định. Sau đó đọc lại
chúng theo các cột với thứ tự chỉ số ở dòng khóa để nhận được bản mã. Quá trình giải
mã được thực hiện ngược lại.
Ví dụ:
Khóa: 431 25 6 7
Bản rõ: a t t a c k p
o s t po n e
d u n t i l t
wo amxy z
Ta đọc theo thứ tự các cột từ 1 đến 7 để nhận được bản mã:
Bản mã: TTNAAPTMTSUOAODWCOIXKNLYPETZ
Rõ ràng trong mã trên mỗi khóa là một hoán vị của 7, nên số khóa khác nhau có thể có là
7! =4032. Chúng ta cần 12 bit để biểu diễn không gian khóa đó (vì 11< log2 4032 ≤ 12).
Người ta còn nói độ dài khóa biểu diễn dạng bit là 12.
2.2.4. Mã tích
Mã dùng hoán vị hoặc dịch chuyển không an toàn vì các đặc trưng tần suất của ngôn
ngữ không thay đổi. Mã cổ điển chỉ sử dụng một trong hai phương pháp thay thế hoặc
hoán vị. Có thể sử dụng một số mã liên tiếp nhau sẽ làm cho mã khó hơn. Do đó
người ta nghĩ đến việc kết hợp cả hai phương pháp này trong cùng một mã và có thể
sử dụng đan xen hoặc lặp nhiều vòng. Đôi khi ta tưởng lặp nhiều lần cùng một loại
mã sẽ tạo nên mã phức tạp hơn, nhưng trên thực tế trong một số trường hợp về bản
IT201_Bai 2_v1.0011103219 21
Bài 2: Mã đối xứng
chất chúng cũng tương đương với một lần mã cùng loại nào đó như: tích của hai phép
thế sẽ là một phép thế; tích của hai phép hoán vị sẽ là một phép hoán vị. Nhưng nếu
hai loại mã đó khác nhau thì sẽ tạo nên mã mới phức tạp hơn, chính vì vậy phép thế
được nối tiếp bằng phép dịch chuyển sẽ tạo nên mã mới khó hơn rất nhiều. Đây chính
là chiếc cầu nối từ mã cổ điển sang mã hiện đại.
Điểm yếu của mã cổ điển
Phương pháp mã hoá cổ điển nói riêng và mã đối xứng nói chung có thể dễ dàng bị
giải mã bằng cách đoán chữ dựa trên phương pháp thống kê tần xuất xuất hiện các
chữ cái trên mã và so sánh với bảng thống kê quan sát của bản rõ.
Để dùng được mã hoá cổ điển thì bên mã hoá và bên giải mã phải thống nhất với
nhau về cơ chế mã hoá cũng như giải mã. Nếu không thì hai bên sẽ không thể làm
việc được với nhau.
22 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
thay đổi vai trò khối bản mã với khối bản rõ và thứ tự các khóa con được dùng.
Từ khóa chính sinh ra cho mỗi vòng lặp một khóa con.
o Chia khối đầu vào thành hai nửa bằng nhau:
Thực hiện phép thế trên nửa trái. Sử dụng hàm vòng trên nửa phải và khóa
con, rồi tác động đến nửa trái.
Sau đó hoán vị các nửa, nửa phải chưa được xử lý.
Xử lý vòng tiếp theo.
Đây là một thể hiện của mã thế kết hợp với hoán vị của Shannon. Ta xem xét cụ
thể cấu trúc mã Fiestel gồm n vòng:
Kn
K1
Ki
Rn+1
Rn
R1
Ri
R0
w bits
Bản rõ (2w bits)
F
w bits
»
L0
Ln+1
L1
Ln
Li
Vòng n
Vòng 1
Vòng i
IT201_Bai 2_v1.0011103219 23
Bài 2: Mã đối xứng
mức độ an toàn, khả năng thám mã. Người ta đề xuất chọn khóa 56 bit thay vì 128 để
tăng tốc độ xử lý và đưa ra các tiêu chuẩn thiết kế một chuẩn mã dữ liệu. Các suy luận
và phân tích chứng tỏ rằng thiết kế như vậy là phù hợp. Do đó DES được sử dụng
rộng rãi, đặc biệt trong lĩnh vực tài chính.
2.3.3. Sơ đồ mã DES
Hoán vị ban đầu IP: đây là bước đầu tiên của tính toán dữ liệu, hoán vị IP đảo
thứ tự các bit đầu vào: các bit chẵn sang nửa trái và các bit lẻ sang nửa phải. Hoán
vị trên dễ dàng thực hiện trên phần cứng.
Mỗi số trong hệ 16 biểu diễn bởi 4 bit, 16 số được thể hiện bởi 64 bit. Mỗi bit có
một vị trí xác định qua hoán vị ban đầu.
Thực hiện 16 vòng: mỗi vòng sử dụng một khóa con riêng.
Cấu tạo một vòng của DES
Sử dụng hai nửa 32 bit trái và 32 bit phải. Như đối với mọi mã Fiestel, nửa phải
của vòng trước được chuyển qua nửa trái của bước sau và lấy đầu ra của hàm vòng
24 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
trên nửa phải và khóa con cộng cơ số 2 với nửa trái. Có thể biểu diễn bằng công
thức như sau:
Li = Ri–1
Ri = Li–1 xor F(Ri–1, Ki)
Ở đây F lấy 32 bit nửa phải R, mở rộng thành 48 bit nhờ hoán vị E, rồi cộng vào với
khóa con 48 bit. Sau đó chia thành 8 cụm 6 bit và cho qua 8 S-box để nhận được kết
quả 32 bit. Đảo lần cuối sử dụng hoán vị 32 bit nhận được 32 bit đầu ra, rồi cộng với
nửa trái để chuyển thành nửa phải của bước sau.
C = EK2(EK1(P))
o Vấn đề là có thể rút gọn về một bước không?
o Double DES gặp tấn công ở mức trung gian, tức là khi sử dụng một mã nào đó
hai lần như trên, thì ta có:
X = EK1[P] = DK2[C]
o Khi đó kẻ thám mã tấn công bằng cách phán đoán bản rõ P và mã với mọi khóa
và lưu lại. Và giải mã bản mã C với các khóa và sánh trùng nhau ở mức trung
gian X. Có thể chỉ ra rằng cần O(256) bước dò tìm.
Triple DES với hai khóa
o Để tránh tấn công ở mức trung gian, cần sử dụng ba lần mã, nói chung có thể
dùng ba khóa khác nhau.
o Nhưng để đơn giản hơn có thể sử dụng 2 khóa theo trình tự: E–D–E, tức là mã,
giải mã, rồi lại mã:
C = EK1[DK2[EK1[P]]]
IT201_Bai 2_v1.0011103219 25
Bài 2: Mã đối xứng
o Về mặt an toàn mã và giải mã tương đương nhau. Nếu K1 = K2, thì Triple DES
làm việc tương đương với một lần DES, nên K1 phải khác K2. Mô hình này
chưa thấy tấn công thực tế.
Triple DES với ba khóa
o Mặc dù chưa có tấn công thực tế, nhưng Triple DES với hai khóa có một số chỉ
định để tránh rơi vào một số trường hợp đặc biệt.
o Do đó cần phải sử dụng ba lần DES với ba khóa để tránh điều đó
C = EK3[DK2[EK1[P]]]
o Được chấp nhận dùng trong một số ứng dụng trên Internet: PGP, S/MIME.
26 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
Vòng 10
Các byte thế Khóa mở rộng Trả lại các byte thế
Vòng 9
Trả lại các byte thế
Vòng 1
Vòng 10
Bản mã Bản mã
Một vòng mã AES
Phép thế byte
o Phép thế byte đơn giản;
o Sử dụng một bảng 16 × 16 byte chứa hoán vị của tất cả 256 giá trị khác nhau
có độ dài 8 bit;
o Mỗi byte trạng thái được thay bởi byte trên hàng xác định bởi 4 bit trái và cột
xác định bởi 4 bit phải.
o Chẳng hạn {95} được thay bởi phần tử ở hàng 9, cột 5, mà giá trị sẽ là {2A}.
o Thiết kế để chống mọi tấn công đã biết.
Dịch hàng
o Dịch hàng vòng quanh trên mỗi hàng:
Hàng 1 không đổi;
Hàng 2 dịch vòng quanh 1 byte sang trái;
Hàng 3 dịch vòng quanh 2 byte sang trái;
Hàng 4 dịch vòng quanh 3 byte sang trái;
IT201_Bai 2_v1.0011103219 27
Bài 2: Mã đối xứng
28 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
Giải mã AES
o Thông thường các thuật toán giải mã sử dụng mở rộng khóa theo thứ tự ngược
lại nhưng thuật toán giải mã AES không giống thuật toán mã hóa.
o Trước hết khẳng định rằng 4 bước trong mỗi vòng đều có thể nghịch đảo được.
Như vậy ta sẽ có các phép toán ngược của các bước trong một vòng mã.
o Do đó mỗi vòng ta thực hiện các bước theo thứ tự: dịch hàng ngược, thế byte
ngược, cộng khóa vòng và trộn cột ngược.
Trạng thái
Trạng thái
Dịch hàng
Trạng thái
Trộn cột M M
Trạng thái
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
Cộng khóa vòng
Trạng thái
IT201_Bai 2_v1.0011103219 29
Bài 2: Mã đối xứng
2.5. Mã dòng
RC4 là mã đăng ký bản quyền của RSADSI, được thiết kế bởi Ronald Rivest. RC4
đơn giản, nhưng hiệu quả, có nhiều cỡ khóa và là mã bit dòng. Mã được sử dụng rộng
rãi (web SSL/TLS, thuật toán bảo mật cho mạng không dây WEP). Khóa thực hiện
hoán vị ngẫu nhiên cả 8 giá trị bit. Sử dụng hoán vị đó để khuấy thông tin đầu vào
được xử lý từng byte.
Sinh khóa RC4
Bắt đầu từ mảng S với biên độ: 0..255. Sau đó sử dụng khóa để xáo trộn đều thực sự.
Mảng S sẽ tạo trạng thái trong của mã.
Tổng quan RC4
S T
Mã RC4
Mã tiếp tục trộn các giá trị của mảng. Dựa vào tổng của các cặp trộn để chọn giá trị
khóa dòng từ hoán vị và XOR S[t] với byte tiếp theo của bản tin để mã/giải mã:
i=j=0
for each message byte Mi
i = (i + 1) (mod 256)
j = (j + S[i]) (mod 256)
swap(S[i], S[j])
t = (S[i] + S[j]) (mod 256)
Ci = Mi XOR S[t]
30 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
An toàn RC4
Mã dòng RC4 đảm bảo an toàn chống các tấn công đã biết, có một số thám mã, nhưng
không thực tế. Mã cho kết quả rất phi tuyến và vì RC4 là mã dòng nên không được sử
dụng lại khóa.
Nhược điểm của ECB: lặp trên bản mã sẽ nhận biết được việc lặp trên bản rõ,
o
đặc biệt nếu dóng đúng khối và thường xảy ra với hình ảnh hoặc với bản tin mà
thay đổi rất ít sẽ trở thành đối tượng để thám mã.
o Do nhược điểm là các khối được mã độc lập; nên được sử dụng chủ yếu khi gửi
dữ liệu có kích thước nhỏ.
Dây chuyền mã khối (Cipher Block Chaining - CBC)
o Các mẫu tin được chia thành các khối, nhưng chúng được liên kết với nhau
trong quá trình mã hoá.
o Các block được sắp thành dãy, vì vậy có tên như vậy:
o Sử dụng vectơ ban đầu IV để bắt đầu quá trình
Ci = DESK1(Pi XOR Ci-1)
C-1 = IV
o Dùng khi: mã dữ liệu lớn và cho mục đích xác thực.
IT201_Bai 2_v1.0011103219 31
Bài 2: Mã đối xứng
32 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
P1 PM
C1 C2 CM
(a) Mã hóa
P1 P2 PM
(b)Giải mã
IT201_Bai 2_v1.0011103219 33
Bài 2: Mã đối xứng
Vị trí mã
Có thể đặt mã ở nhiều tầng khác nhau trong mô hình Hệ thống truyền thông mở OSI.
o Mã kết nối thực hiện ở tầng 1 hoặc 2.
o Mã đầu cuối có thể thực hiện ở tầng 3, 4, 6, 7.
o Dịch chuyển đến tầng càng cao, càng ít thông tin được mã hóa, nhưng càng
đảm bảo tính riêng tư hơn do người sử dụng giữ bí mật được khóa, tuy nhiên
phức tạp hơn với nhiều đối tượng và khóa.
Thám mã thông tin truyền. Thám mã là theo dõi dòng thông tin truyền giữa hai
đối tác:
o Được dùng cả trong quân sự và thương mại;
o Có thể được dùng để tạo kênh giám sát;
o Mã kết nối che lấp chi tiết đầu tin, nhưng xét trên toàn mạng và ở các đầu cuối
nó vẫn nhìn thấy được.
o Bộ đệm truyền có thể che được dòng tin, nhưng với phải truyền liên tục với tần
suất truyền hầu như không đổi theo thời gian.
34 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
Sau khi học xong bài này, anh/chị cần nắm được:
Khái niệm mã đối xứng;
Cấu trúc mã khối Fiestel;
Chuẩn mã dữ liệu DES và các chế độ mã;
Triple DES và chuẩn mã nâng cao ;
Mã dòng;
Chỗ đặt mã: mã link và mã đầu cuối;
Phân phối khóa: khóa chủ và khóa phiên.
IT201_Bai 2_v1.0011103219 35
Bài 2: Mã đối xứng
1. Mã Caesar là mã
(A) phép thế trên nhiều bảng chữ;
(B) phép thế trên một bảng chữ;
(C) phép dịch chuyển, tức là đảo chữ trên bản rõ để nhận được bản mã;
(D) phép thế kết hợp với dịch chuyển.
2. Mã Vigenere là mã
(A) phép thế trên một bảng chữ;
(B) phép thế trên nhiều bảng chữ;
(C) phép dịch chuyển, tức là đảo chữ trên bản rõ để nhận được bản mã;
(D) phép thế kết hợp với dịch chuyển.
3. Mã DES có khối dữ liệu, khóa (bit) và số vòng tương ứng như sau
(A) 128, 56 và 16;
(B) 64, 64 và 16;
(C) 64, 56 và 16;
(D) 64, 56 và 12.
4. Trong sơ đồ sinh khóa của DES từ khóa chính 56 bit sinh
(A) 8 khóa con mỗi khóa 48 bit, mỗi khóa dùng cho 1 vòng;
36 IT201_Bai 2_v1.0011103219
Bài 2: Mã đối xứng
(B) 16 khóa con mỗi khóa 32 bit, mỗi khóa dùng cho 1 vòng;
(C) 12 khóa con mỗi khóa 32 bit, mỗi khóa dùng cho 1 vòng;
(D) 16 khóa con mỗi khóa 48 bit, mỗi khóa dùng cho 1 vòng .
5. Một vòng của DES không thực hiện thao tác nào?
(A) Hoán vị đầu và cuối ngược nhau;
(B) Đổi vị trí hai nửa, nửa trái mới giữ nguyên và xử lý nửa phải;
(C) Không tách 2 nửa, xử lý cả khối 64 bit ;
(D) Mở rộng nửa phải 32 bit thành 4 bit, cộng với khóa con, thế qua 8 hộp box.
6. Trong thuật toán mã DES điều khẳng định nào là đúng?
(A) Tám hộp S cố định và hoán vị ban đầu phụ thuộc vào khóa;
(B) Tám hộp S phụ thuộc vào khóa và hoán vị ban đầu là cố định;
(C) Tám hộp S và hoán vị ban đầu phụ thuộc vào khóa;
(D) Tám hộp S và hoán vị ban đầu là cố định.
7. Các chế độ làm việc của DES. Khẳng định nào sau đây là sai
(A) ECB: khối mã trước quay vòng tác động vào khối mã sau;
(B) CBC: khối mã trước cộng nhị phân với khối bản tin sau rồi mã?
(C) CFB: bản tin như dòng bit cộng nhị phân đầu ra của mã, rồi phản hồi;
(D) OFB: đầu ra mã phản hồi và cộng nhị phân với dòng bit của bản tin.
8. Với chuẩn mã nâng cao AES, điều khẳng định nào sau đây là đúng?
(A) 128 bit dữ liệu, 128 bit khóa và 11 vòng;
(B) 128 bit dữ liệu, 192 bit khóa và 13 vòng;
(C) 128 bit dữ liệu, 256 bit khóa và 9 vòng;
(D) 128 bit dữ liệu, 128/192/256 bit khóa và 9/11/13 vòng.
9. Một vòng mã AES không thực hiện thao tác nào?
(A) Khối dữ liệu 128 bit chia thành 16 byte bố trí thành 4 hàng, 4 cột, thực hiện phép thế
byte;
(B) Tách thành 2 nửa, mỗi nửa 64 bit, đảo vị trí 2 nửa;
(C) Chia dữ liệu thành 4 hàng, mỗi hàng dịch qua phải số vị trí tùy theo số thứ tự của hàng;
(D) Trộn cột dựa vào phép nhân với một ma trận, rồi cộng với khóa con của vòng.
10. Số giả ngẫu nhiên được ứng dụng nhiều, điều gì sau đây là không đúng?
(A) Làm nhãn đặc trưng cho bản tin;
(B) Tạo khóa phiên dùng chung giữa hai người sử dụng;
(C) Sinh khóa chung cộng cơ số 2 với dòng dữ liệu trong cơ chế mã và giải mã dòng;
(D) Sinh ra số nguyên tố dùng làm khóa.
11. Trong chế độ ECB, nếu có lỗi ở bản mã truyền đi, chỉ có khối bản rõ đó bị ảnh hưởng. Tuy
nhiên trong chế độ CBC lỗi này sẽ lan truyền. Chẳng hạn lỗi sinh ra ở khối mã thứ nhất, khi
đó nó sẽ tác động đến bao nhiêu khối mã?
(A) Một khối mã ngay sau đó;
IT201_Bai 2_v1.0011103219 37
Bài 2: Mã đối xứng
38 IT201_Bai 2_v1.0011103219