Điểm:0

XChaCha20 với một Nonce Zeroed?

lá cờ be

Chúng tôi biết rằng đối với ChaCha20 và XChaCha20, không bao giờ có thể sử dụng cùng một khóa với cùng một nonce. Nhưng giả sử tôi sử dụng một khóa 256 bit ngẫu nhiên mỗi lần... Sau đó, nonce có thể là bất cứ thứ gì vì khóa luôn khác nhau. Giả sử tôi đặt nonce là tất cả các số không. Miễn là khóa 256 bit là ngẫu nhiên, thì thiết lập này phải an toàn vì 256 bit đủ lớn để không bị cưỡng bức hoặc sử dụng lại.

Bây giờ, chúng ta hãy làm việc lạc hậu. Giả sử tôi sử dụng Argon2 để tạo khóa. Nếu tôi sử dụng muối 256-bit với Argon2, thì khóa đầu ra sẽ có 256-bit ngẫu nhiên và nếu tôi nạp khóa đó vào XChaCha20, về mặt lý thuyết, tôi sẽ không bao giờ chạy vào cùng một khóa và do đó, có thể sử dụng nonce bằng 0 .

Tôi có ba câu hỏi:

  1. Có vấn đề gì khi sử dụng một nonce bằng 0 nếu khóa luôn ngẫu nhiên không?
  2. Trong trường hợp này, việc sử dụng nonce 192-bit cho XChaCha20 có lợi ích bổ sung nào không?
  3. Có an toàn không khi sử dụng muối 256 bit cho Argon2, khi loại muối được khuyến nghị là 128 bit?

Bối cảnh: mã hóa tập tin

kelalaka avatar
lá cờ in
[Bạn cần cẩn thận khi mã hóa tệp bằng (X)ChaCha](https://crypto.stackexchange.com/a/84440/18298)
Evan Su avatar
lá cờ be
Cảm ơn @kelalaka! Sử dụng Argon2 với muối tiêu chuẩn, sau đó sử dụng HKDF với muối 32 byte để tạo khóa mã hóa và nonce cho ChaCha20 là hoàn hảo. Có thể đưa ra câu trả lời với trích dẫn từ liên kết đó và tôi có thể chấp nhận nó không?
kelalaka avatar
lá cờ in
Tôi không nghĩ chúng ta cần câu trả lời khác, tôi khá chắc chắn rằng SAI Peregrinus có thể cập nhật câu trả lời. Hãy để tôi ping họ.
Điểm:1
lá cờ si
  1. Đúng. Hiệu suất sẽ rất khủng khiếp.
  2. Không, nó chỉ làm giảm thêm hiệu suất. Mục đích của XChaCha20 là có một nonce đủ lớn để có thể chọn ngẫu nhiên trong khi vẫn có bộ đếm 64 bit.
  3. Argon2 không sử dụng nonce. Nó sử dụng một loại muối. Đây là những thứ khác nhau: một loại muối là duy nhất cho mỗi người dùng và được dự định giữ nguyên giữa các lần gọi. Một nonce là duy nhất cho mỗi tin nhắn. Muối không nhằm mục đích cung cấp entropy bí mật cho đầu ra, nó chỉ tạo ra hai mật khẩu giống hệt nhau được sử dụng làm đầu vào có các đầu ra khác nhau. Người ta cho rằng muối là công cộng đầu vào và phân tích bảo mật của Argon2 không cho thấy rằng không thể tìm thấy nó từ đầu ra (vì nó trực tiếp là một phần của cấu trúc đầu ra tiêu chuẩn). Entropy của đầu ra Argon2 đến từ cụm mật khẩu đầu vào, không phải muối. Sử dụng muối làm nguồn đầu vào entropy thay vì cụm mật khẩu vi phạm phân tích bảo mật, vì vậy chúng tôi không thể nói rằng nó an toàn.
  4. (từ nhận xét) "Sử dụng Argon2 với muối tiêu chuẩn (mỗi người dùng/tài khoản/tương tự), sau đó sử dụng HKDF với muối 32 byte (nguồn không xác định) để tạo khóa mã hóa và nonce cho ChaCha20 là hoàn hảo." Điều này có thể hoạt động, nhưng không cần thiết nếu sử dụng XChaCha20. Argon2 là một KDF và có thể được sử dụng để lấy khóa từ mật khẩu một cách an toàn. XChaCha20 cho phép sử dụng nonce ngẫu nhiên, vì vậy bạn chỉ có thể sử dụng RNG bảo mật của hệ điều hành. Nếu bạn muốn sử dụng ChaCha20 (phiên bản không phải X), thì điều này có thể giúp chọn một nonce. Lưu ý rằng muối phải được cố định đối với HKDF, đó là thông tin tham số mà bạn cần phải thay đổi để nhận được các giá trị nonce duy nhất một cách an toàn. bài đăng trên blog này có một mô tả hay về lý do tại sao, phiên bản ngắn gọn là HKDF có bằng chứng bảo mật phụ thuộc vào việc sửa lỗi Muối giá trị nhưng thay đổi thông tin value để xuất kết quả độc lập một cách an toàn.
kelalaka avatar
lá cờ in
Bạn có thể cập nhật câu trả lời của mình với đề xuất mà _Evan Su_ thấy [hoàn hảo cho họ](https://crypto.stackexchange.com/questions/98259/xchacha20-with-a-zeroed-nonce?noredirect=1#comment212266_98259) không?

Đă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.