Điểm:2

Argon2 cho phép độ dài khóa lớn trong đầu vào, nhưng nó có thực sự cung cấp tính bảo mật của khóa được cung cấp không?

lá cờ pf

Tôi đọc Thông số kỹ thuật Argon2.

Nó nói trong 3.1 (Trang #5):

Giá trị bí mật K (đóng vai trò là khóa nếu cần, nhưng chúng tôi không cho rằng bất kỳ khóa nào được sử dụng theo mặc định) có thể có bất kỳ độ dài nào từ $0$ đến $2^{32}\text{-}1$ byte.

Giả sử tôi muốn chuyển đổi Argon2 thành mã hóa khối, tôi cung cấp khóa 8192-bit (1024 byte) và cung cấp bộ đếm cho mỗi khối được tạo và do đó, XOR các khối được băm trong bản mã.

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ứ?

Tôi hỏi điều này vì Argon2 sử dụng Blake2b có kích thước trạng thái 512 bit và tính bảo mật của nó bị giới hạn ở giới hạn này.

Maarten Bodewes avatar
lá cờ in
Câu hỏi thú vị. Trạng thái 512 bit của Blake2b có thể sẽ ảnh hưởng đến mức độ bảo mật, nhưng vì Argon2 có thể được cấu hình để trở thành bộ nhớ cứng nên trạng thái thực tế của nó có thể lớn hơn thế. SHA-256 bao gồm các hoạt động 32 bit, nhưng trạng thái của nó chắc chắn cao hơn thế. Tôi không chắc liệu Argon2 có thể làm điều gì đó tương tự hay không. Tất nhiên, bất kỳ kích thước bảo mật nào cao hơn 256 bit đều khá vô nghĩa, vì vậy trên thực tế, điều đó sẽ không thành vấn đề nhiều.
Điểm:5
lá cờ in

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 *

     nhập mô tả hình ảnh ở đây

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.

kelalaka avatar
lá cờ in
Err, downvoter, lý do là gì? Điều gì không đúng ở đây?
phantomcraft avatar
lá cờ pf
Câu trả lời chính xác. Cảm ơn bạn @kelalaka

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.