










Preview text:
lOMoAR cPSD| 58647650 ÔN TẬP CUỐI KÌ
Câu 2: Trình bằng mô hình mã và giải mã khối Electronic Codebook – ECB, những
ưu điểm và nhược điểm của ECB, CBC, CFB, OFB, CTR.
Mô hình mã và giải mã ECB:
ECB là chế độ mã hóa từng khối bit độc lập. Với cùng một khóa mã K, mỗi khối
plaintext ứng với một giá trị ciphertext cố định và ngược lại. Ưu điểm: - Đơn giản
- Không cần đồng bộ hóa giữa bên gửi và nhận, nếu bên nhận không nhận đủ các
khối, thì vẫn có thể giải mã các khối nhận được. lOMoAR cPSD| 58647650
- Các bit lỗi sẽ không được đưa vào các khối kế sau.
- Vì các khối được mã hóa và giải mã hoàn toàn độc lập với nhau nên ECB cho
phép mã hóa và giải mã đồng thời nhiều khối nếu có đủ phần cứng thực thi. Nhược điểm:
- ECB về bản chất giống hệt với các mật mã bảng chữ cái cổ điển, chỉ có điều
bảng chữ cái của ECB phức tạp hơn.
- Các khối bản rõ giống nhau sẽ được ánh xạ thành khối bản mã giống nhau (nếu
dùng cùng 1 loại khóa), dẫn đến dễ tấn công bằng phương pháp thống kê tần suất.
- ECB dễ dàng bị phá nếu bản rõ lớn và có tính cấu trúc rõ ràng, từ đó ECB
thường dùng để mã hóa những bản rõ ngắn như khóa bí mật.
- ECB song song hóa được, có cấu trúc quy luật Độ an toàn yếu. MÔ HÌNH CBC
CBC là chế độ mã hóa chuỗi, kết quả mã hóa của khối dữ liệu trước (ciphertext) sẽ lOMoAR cPSD| 58647650
được tổ hợp với khối dữ liệu kế tiếp (plaintext) trước khi thực thi mã hóa Ưu điểm: •
Khả năng bảo mật cao hơn ECB. Ciphertext của một khối dữ liệu plaintext có
thểkhác nhau cho mỗi lần mã hóa vì nó phụ thuộc vào IV hoặc giá trị mã hóa
(ciphertext) của khối dữ liệu liền trước. •
Quá trình giải mã (mã hóa nghịch) vẫn có thể thực hiện song song nhiều khối dữ liệu. Nhược điểm: •
Thiết kế phần cứng phức tạp hơn ECB ngoài logic thực thi thuật toán mã hóa,
người thiết kế cần thiết kế thêm: •
Logic quản lý độ dài chuỗi dữ liệu sẽ được mã hóa, cụ thể là số lượng khối dữ
liệu trong chuỗi dữ liệu. Bộ tạo giá trị ngẫu nhiên cho IV. •
Lỗi bit bị lan truyền. Nếu một lỗi bit xuất hiện trên ciphertext của một khối dữ
liệu thì nó sẽ làm sai kết quả giải mã của khối đữ liệu đó và khối dữ liệu tiếp theo. lOMoAR cPSD| 58647650 •
Không thể thực thi quá trình mã hóa song song vì xử lý của khối dữ liệu sau
phụ thuộc vào ciphertext của khối dữ liệu trước, trừ lần mã hóa đầu tiên. MÔ HÌNH CFB
CFB là chế độ mã hóa mà ciphertext của lần mã hóa hiện tại sẽ được phản hồi
(feedback) đến đầu vào của lần mã hóa tiếp theo. Nghĩa là, ciphertext của lần mã
hóa hiện tại sẽ được sử dụng để tính toán ciphertext của lần mã hóa kế tiếp. Mô tả có
vẻ giống CBC nhưng quá trình trực hiện lại khác Ưu điểm: •
Khả năng bảo mật cao hơn ECB. Ciphertext của một khối dữ liệu plaintext có
thểkhác nhau cho mỗi lần mã hóa vì nó phụ thuộc vào IV hoặc giá trị mã hóa
(ciphertext) của khối dữ liệu liền trước. •
Quá trình giải mã (mã hóa nghịch) vẫn có thể thực hiện song song nhiều khối dữ liệu. lOMoAR cPSD| 58647650 •
Tùy biến được độ dài khối dữ liệu mã hóa, giải mã thông qua thông sốNhược điểm: •
Thiết kế phần cứng phức tạp hơn CBC. Ngoài những thành phần logic như
CBC, CFB cần thêm logic để chọn số bit cần được xử lý nếu s là thông số cấu hình được. •
Lỗi bit bị lan truyền. Nếu một lỗi bit xuất hiện trên ciphertext của một khối dữ
liệu thì nó sẽ làm sai kết quả giải mã của khối đữ liệu đó và khối dữ liệu tiếp theo. •
Không thể thực thi quá trình mã hóa song song vì xử lý của khối dữ liệu sau
phụ thuộc vào ciphertext của khối dữ liệu trước, trừ lần mã hóa đầu tiên MÔ HÌNH OFB
OFB là chế độ mã hóa mà giá trị ngõ ra của khối thực thi thuật toán mã hóa, không
phải ciphertext, của lần mã hóa hiện tại sẽ được phản hồi (feedback) đến ngõ vào của lần mã hóa kế tiếp Ưu điểm: lOMoAR cPSD| 58647650
Khả năng bảo mật cao hơn ECB. Ciphertext của một khối dữ liệu plaintext có thể khác
nhau cho mỗi lần mã hóa vì nó phụ thuộc vào IV hoặc khối ngõ ra của lần mã hóa trước đó.
Lỗi bit không bị lan truyền. Khi một lỗi bit xuất hiện trên một ciphertext, nó chỉ
ảnh hưởng đến kết quả giải mã của khối dữ liệu hiện tại Thiết kế phần cứng đơn giản hơn CFB. Nhược điểm:
Không thể thực hiện mã hóa/giải mã song song nhiều khối dữ liệu vì lần mã hóa/giải
mã sau phụ thuộc vào khối ngõ ra của lần mã hóa/giải mã liền trước nó. MÔ HÌNH CTR
CTR là chế độ mã hóa sử dụng một tập các khối ngõ vào, gọi là các counter, để sinh ra
một tập các giá trị ngõ ra thông qua một thuật toán mã hóa. Sau đó, giá trị ngõ ra sẽ
được XOR với plaintext để tạo ra ciphertext trong quá trình mã hóa, hoặc XOR với
ciphertext để tạo ra plaintext trong quá trình giải mã. Ưu điểm: lOMoAR cPSD| 58647650
Khả năng bảo mật cao hơn ECB. Tuy quá trình mã hóa/giải mã của mỗi khối dữ liệu là
độc lập nhưng mỗi plaintext có thể ảnh xạ đến nhiều ciphertext tùy vào giá trị bộ đếm của các lần mã hóa.
Có thể mã hóa/giải mã song song nhiều khối dữ liệu.
Nhược điểm: Phần cứng cần thiết kế thêm các bộ đếm counter hoặc giải thuật tạo các
giá trị counter không lặp lại. - Thay đổi thông điệp - Mạo danh - Phát lại thông điệp - Ngăn chăn thông tin
Câu 4: Hãy trình bày các yêu cầu của một hệ thống truyền thông tin an toàn và bảo
mật, cho biết vai trò của mật mã học trong việc bảo vệ thông tin trên mạng
- Tính bí mật (Confidentiality): bảo vệ dữ liệu không bị lộ ra ngoài một cách trái phép.
- Tính toàn vẹn (Integrity): Chỉ những người dùng được ủy quyền mới được phép chỉnh sửa dữ liệu.
- Tính sẵn sàng (Availability): Đảm bảo dữ liệu luôn sẵn sàng khi những người dùng
hoặc ứng dụng được ủy quyền yêu cầu
- Tính chống thoái thác (Non-repudiation): Khả năng ngăn chặn việc từ chối một hành vi đã làm
Vai trò: Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản thiết yếu
của bảo mật thông tin. Mật mã đáp ứng được các dịch vụ như xác thực, bảo mật, toàn
vẹn dữ liệu, chống chối bỏ
Câu 6: Học thuộc tập Z26, N* là gì?
Tìm phần tử nghịch đảo của 1 số trong Z26 theo công thức:
MOD(1 26 * X, 26) nếu kết quả ≡1 thì đó là số nghịch đảo của X (X là số cần tìm nghịch đảo)
Câu 8: Định lý fermat và tính bài toán:
Dạng 1: Nếu p là số nguyên tố và a là số nguyên không chia hết cho p thì: lOMoAR cPSD| 58647650
a p – 1 mod p = 1 Dạng 2:
Nếu P là số nguyên tố và a > 0 thì: a p mod p = a
Câu 10: Trình bày các giải pháp trao đổi khóa công khai? Cho biết hoàn cảnh áp dụng từng giải pháp?
- Trao đổi khóa Diffie-Hellman là một trong những phát triển quan trọng nhất trong
mật mã khóa công khai và nó vẫn được thực hiện thường xuyên trong một loạt các
giao thức bảo mật khác nhau ngày nay.
- Nó cho phép hai bên trước đây chưa gặp nhau thiết lập một cách an toàn một khóa
mà họ có thể sử dụng để bảo mật thông tin liên lạc của họ.
- Mục đích chính của trao đổi khóa Diffie-Hellman là để phát triển an toàn các bí mật
được chia sẻ có thể được sử dụng để lấy khóa. Các khóa này sau đó có thể được sử
dụng với các thuật toán khóa đối xứng để truyền thông tin theo cách được bảo vệ.
Các thuật toán đối xứng có xu hướng được sử dụng để mã hóa phần lớn dữ liệu vì
chúng hiệu quả hơn các thuật toán khóa công khai. - Là một trong những phương
pháp phổ biến nhất để phân phối khóa an toàn, trao đổi khóa Diffie-Hellman là
thường xuyên được thực hiện trong các giao thức bảo mật như TLS, IPsec, SSH,
PGP và nhiều giao thức khác. Câu 12: Sử dụng thuật toán Euclidean để tìm tổng khả nghịch
Ví dụ: Tìm UCLN của 1760 và 2740 lOMoAR cPSD| 58647650
Tìm nghịch đảo: Nếu số nguyên dương kí hiệu x<n thỏa x∗amodn=1 thì xlà nghịch đảo
của amodn, kí hiệu: a−1modn
**Để tồn tại số nghịch đảo thì a và n phải là 2 số nguyên tố cùng nhau
Câu 14: Hàm Euler Phi φ (1) = 1
φ (p) = p-1 nếu p là số nguyên tố (DL1)
φ (a*b) = φ (a) * φ (b) nếu a và b là 2 số nguyên tố cùng nhau là 2 số nguyên
có ước chung lớn nhất là 1
Ví dụ: 3 và 5 ước lớn nhất là 1, 125 và 8 có ước lớn nhất là 1) (DL2) lOMoAR cPSD| 58647650
φ (Pa) = Pa−Pa−1 nếu P là số nguyên tố và a là số nguyên dương) (DDL3)
Câu 16: Định lý nhỏ Fermat (Giống câu 8) Câu 15:
Euler aφ(n)modn=1aφ(n )+1modn=a Câu 18: Mã Playfair
Mã hóa Playfair xem hai ký tự đứng sát nhau là một đơn vị mã hóa, hai ký tự này được thay
thế cùng lúc bằng hai ký tự khác. Playfair dùng một ma trận 5x5 các ký tự keyword như sau:
Chỉ lấy những ký tự không trùng nhau trong khóa, khi mã hóa lấy từng cặp của
bảng rõ đi so sánh trong bảng 5x5 theo nguyên tắc: 2 ký tự cùng hàng thì sẽ lấy 2 ký tự kế
tiếp, nếu cùng cột thì 2 ký tự kế tiếp trong cột, nếu là đường chéo thì lấy đường chéo lại lOMoAR cPSD| 58647650
20. Mã hóa Rail Fence
Xếp các kí tự trong plaintext theo hàng (hoặc cột), đủ 6 kí tự thì xuống hàng tiếp theo
Khi lấy ciphertext thì lấy theo cột ghép lại với nhau