Khóa mật mã
Sơ đồ cơ bản của mật mã khối được mô tả như sau:
Mật mã khối lấy một khối các bit văn bản rõ và tạo ra một khối các bit bản mã, thường có cùng kích thước. Kích thước của khối được cố định trong lược đồ đã cho. Việc lựa chọn kích thước khối không ảnh hưởng trực tiếp đến sức mạnh của sơ đồ mã hóa. Độ bền của mật mã phụ thuộc vào độ dài khóa.
Kích thước khối
Mặc dù bất kỳ kích thước khối nào đều có thể chấp nhận được, bạn cần lưu ý các khía cạnh sau khi chọn kích thước khối.
Avoid very small block size- Nói kích thước khối là m bit. Khi đó, các kết hợp bit bản rõ có thể là 2 m . Nếu kẻ tấn công phát hiện ra các khối văn bản thuần túy tương ứng với một số khối bản mã đã gửi trước đó, thì kẻ tấn công có thể khởi động một kiểu 'tấn công từ điển' bằng cách xây dựng từ điển các cặp bản rõ / bản mã được gửi bằng khóa mã hóa đó. Kích thước khối lớn hơn làm cho việc tấn công khó khăn hơn vì từ điển cần phải lớn hơn.
Do not have very large block size- Với kích thước khối quá lớn, mật mã hoạt động kém hiệu quả. Các bản rõ như vậy sẽ cần phải được đệm trước khi được mã hóa.
Multiples of 8 bit - Kích thước khối được ưu tiên là bội số của 8 vì nó dễ thực hiện vì hầu hết các bộ xử lý máy tính xử lý dữ liệu theo bội số 8 bit.
Padding trong Block Cipher
Mật mã khối xử lý các khối có kích thước cố định (ví dụ 64 bit). Chiều dài của các bản rõ chủ yếu không phải là bội số của kích thước khối. Ví dụ, một bản rõ 150 bit cung cấp hai khối 64 bit mỗi khối với khối thứ ba số dư 22 bit. Khối bit cuối cùng cần được chèn thêm thông tin dư thừa để chiều dài của khối cuối cùng bằng với kích thước khối của lược đồ. Trong ví dụ của chúng tôi, 22 bit còn lại cần có thêm 42 bit dự phòng được thêm vào để cung cấp một khối hoàn chỉnh. Quá trình thêm các bit vào khối cuối cùng được gọi làpadding.
Quá nhiều đệm làm cho hệ thống hoạt động kém hiệu quả. Ngoài ra, phần đệm đôi khi có thể làm cho hệ thống không an toàn, nếu phần đệm luôn được thực hiện với các bit giống nhau.
Lược đồ mật mã khối
Có một số lượng lớn các lược đồ mật mã khối đang được sử dụng. Nhiều người trong số họ được công chúng biết đến. Các mật mã khối phổ biến và nổi bật nhất được liệt kê dưới đây.
Digital Encryption Standard (DES)- Mật mã khối phổ biến của những năm 1990. Bây giờ nó được coi là một mật mã khối 'bị hỏng', chủ yếu do kích thước khóa nhỏ của nó.
Triple DES- Nó là một sơ đồ biến thể dựa trên các ứng dụng DES lặp đi lặp lại. Nó vẫn là một mật mã khối được kính trọng nhưng không hiệu quả so với các mật mã khối nhanh hơn mới có sẵn.
Advanced Encryption Standard (AES) - Đây là một mật mã khối tương đối mới dựa trên thuật toán mã hóa Rijndael đã giành chiến thắng trong cuộc thi thiết kế AES.
IDEA- Nó là một mật mã khối đủ mạnh với kích thước khối là 64 và kích thước khóa là 128 bit. Một số ứng dụng sử dụng mã hóa IDEA, bao gồm các phiên bản đầu tiên của giao thức Pretty Good Privacy (PGP). Việc sử dụng chương trình IDEA bị hạn chế áp dụng do các vấn đề về bằng sáng chế.
Twofish- Lược đồ mật mã khối này sử dụng kích thước khối 128 bit và khóa có độ dài thay đổi. Nó là một trong những thí sinh lọt vào vòng chung kết AES. Nó dựa trên mã hóa khối Blowfish trước đó với kích thước khối là 64 bit.
Serpent- Một mật mã khối có kích thước khối 128 bit và độ dài khóa là 128, 192 hoặc 256 bit, cũng đã lọt vào vòng chung kết cuộc thi AES. Nó là một mã chậm hơn nhưng có thiết kế an toàn hơn so với mật mã khối khác.
Trong các phần tiếp theo, trước tiên chúng ta sẽ thảo luận về mô hình mật mã khối, tiếp theo là DES và AES, hai trong số những mật mã khối hiện đại có ảnh hưởng nhất.