Sơ đồ mã hóa này có bảo mật theo độ dài khóa không? Tôi sẽ có độ mạnh mã hóa 8192 bit chứ?
Không, bảo mật bị giới hạn với
$$security = min\{\text{Argon2 input_size}\;, \;\text{Kích thước thông báo băm}\}$$ Trong trường hợp của bạn với BLAKE2-512, đó là bảo mật 512-bit chứ không phải 8192.
Lý do là rõ ràng. Argon2 trở lại trả lại Hash(C, độ dài tag)
(hàm băm có độ dài thay đổi) hoặc xem từ giấy Argon2 trang 6 *
    Â
Và nếu BLAKE2 được sử dụng thì 64 byte đầu tiên là đầu ra của BLAKE2.Nếu yêu cầu đầu ra là > 64 byte, thì các byte còn lại được lấy từ đầu ra của các lệnh gọi BLAKE2 trước đó.
V1 â Blake2b(digestSize ⥠FinalBlock, 64);
Các khối tiếp theo được tạo từ các khối trước đó
cho tôi â 2 để r làm
Vi â Blake2b(Vi-1, 64)
32 byte thấp hơn của Vi được trả lại.
Do đó, người ta không thể có bảo mật lớn hơn kích thước tiêu hóa băm và điều này là đủ cho cả những đối thủ hậu lượng tử.
Và, Bảo mật 256-bit là đủ cho mọi người. Argon2 được thiết kế để băm Mật khẩu, mặc dù người ta có thể sử dụng điều này cho chế độ CTR, nhưng vẫn thích xChaCha20-Poly1305 hơn để có được tính bảo mật, tính toàn vẹn và xác thực. Điều này nhanh hơn nhiều so với Argon2 để mã hóa. xChaCha20 là phần mở rộng của ChaCha20 với các nonce 192 bit cho phép các nonce ngẫu nhiên mà không sợ vấn đề sử dụng lại nonce của chế độ CTR.
* Đầu ra mặc định chỉ xuất ra hàm băm đơn. Điều này cho phép Cập nhật Độc lập Máy khách là một yêu cầu chức năng của cuộc thi băm mật khẩu.