Điểm:1

Cố gắng hiểu chế độ SIV

lá cờ jp

Tôi đang cố gắng xoay quanh khái niệm SIV trong bối cảnh mã hóa. Tôi hiểu khía cạnh của việc lạm dụng nonce, v.v. Và tôi hiểu rằng tính năng chính của SIV là họ đảm bảo rằng khi mã hóa cùng một thông điệp bằng cùng một khóa sẽ tiết lộ rằng nó giống hệt nhau, nó sẽ không tiết lộ bất kỳ điều gì khác.

Đặc biệt, việc sử dụng cùng một khóa trên các thông báo khác nhau sẽ không gặp phải vấn đề nghiêm trọng với việc tái sử dụng nonce trong hệ thống khác.

Nếu tôi hiểu chính xác, bạn có thể xây dựng chế độ hoạt động SIV bằng cách sử dụng:

mã hóa def (tin nhắn, khóa):
   siv = hash_shake256(bit=192, msg)
   trả về xchacha20(key, siv, msg), siv

Nói cách khác, trước tiên, chúng tôi tính toán hàm băm có khóa trên tin nhắn, sau đó sử dụng giá trị đó làm giá trị ban đầu cho quá trình mã hóa thực tế.

Đầu ra là văn bản mật mã cũng như được tạo siv, cả hai đều an toàn để chia sẻ mà không tiết lộ bất cứ điều gì cho đối thủ.

Tính bảo mật đến từ tính chất không thể đảo ngược của hàm băm có khóa và thực tế là đối với mỗi tin nhắn chúng tôi chuyển làm đầu vào, chúng tôi được đảm bảo rằng chúng tôi sẽ không có nonce trùng lặp.

  • Tôi có hiểu mọi thứ một cách chính xác không?
  • Có an toàn không khi sử dụng cùng một khóa cho cả hàm băm và mã hóa có khóa?
  • tôi cho rằng thực tế siv sử dụng nhiều hơn một chút so với chỉ băm đầu vào?
kelalaka avatar
lá cờ in
Đã có HS1-SIV; [Ưu điểm của HS1-SIV so với ChaCha20-Poly1305-SIV?](https://crypto.stackexchange.com/q/33068/18298) cũng như [Liệu sử dụng hàm băm tin nhắn làm IV trong ChaCha có an toàn không?]( https://crypto.stackexchange.com/q/59886/18298)
kelalaka avatar
lá cờ in
Tôi đã thấy chế độ SIV cho ChaCha, tuy nhiên, tôi không thể tìm thấy bài báo.
Maarten Bodewes avatar
lá cờ in
Điều tôi không hiểu từ câu hỏi là `hash_shake256` chỉ được sử dụng trong tin nhắn, nhưng bạn nói về "bảo mật đến từ hàm băm **keyed**". SHAKE256 hoàn toàn không phải là hàm băm có khóa, bạn sẽ sử dụng, ví dụ: KMAC cho điều đó (điều này về cơ bản giống như SHA-256 so với HMAC-SHA-256).
Maarten Bodewes avatar
lá cờ in
Lưu ý rằng HS1-SIV không sử dụng hàm băm có khóa và nó thực sự XOR là kết quả của điều đó với khóa trước khi mã hóa. Vâng, chỉ sử dụng hàm băm đơn giản là một ý tưởng tồi. Bất kỳ ai cũng có thể biết hàm băm và bất kỳ ai cũng có thể biết bản mã. Điều đó có nghĩa là bạn chỉ có thể lật các bit trong đầu ra hàm băm và thông báo để nhận được kết quả hợp lệ. Bạn hoàn toàn bắt buộc phải sử dụng hàm băm có khóa.
kelalaka avatar
lá cờ in
Và lưu ý rằng, với XChaCha20, ChaCha20 không cần chế độ SIV, vì nó có các nonce 192-bit và các nonce ngẫu nhiên không có xung đột nonce, bạn không bao giờ mong đợi sẽ thấy một nonce!
SAI Peregrinus avatar
lá cờ si
@kelalaka https://eprint.iacr.org/2020/067 có thể là bài báo bạn đã xem.
kelalaka avatar
lá cờ in
@SAIPeregrinus vâng, chính xác, cảm ơn.
Điểm:1
lá cờ cn

Tôi có hiểu mọi thứ một cách chính xác không?

SIV yêu cầu MAC, không chỉ hàm băm. Hàm băm có khóa có thể được sử dụng làm MAC. Tuy nhiên, bạn không có hàm băm có khóa trong ví dụ của mình (nhưng bạn nói hàm băm có khóa).

Có an toàn không khi sử dụng cùng một khóa cho cả hàm băm và mã hóa có khóa?

Nói chung nên sử dụng khóa khác nhau cho MAC và mã hóa. Mặc dù trong một số trường hợp, nó có thể ổn với cùng một khóa, nếu MAC và mã hóa đủ khác nhau. Ví dụ: nếu bạn sử dụng cả CBC-MAC và CTR với AES, việc sử dụng cùng một khóa là không tốt. Chế độ SIV xác định cách bạn lấy khóa từ khóa chính.

Tôi cho rằng việc sử dụng siv thực tế nhiều hơn một chút so với việc chỉ băm đầu vào?

Chà, một lần nữa bạn phải sử dụng MAC. Bạn nên kiểm tra biến thể SIV thực tế để biết thêm chi tiết. Ví dụ: SIV với AES (CMAC và CTR): https://datatracker.ietf.org/doc/html/rfc5297

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