Authenticated-Encryption

為什麼 SpongeWrap 不需要 Nonce?

  • May 23, 2017

根據定義它的論文,基於海綿結構的 AEAD 方案SpongeWrap僅獲取一個標題(附加數據)、一個正文(消息)和一個鍵作為輸入值。

與其他 AEAD 方案相比,缺少的是使密鑰流唯一的隨機數。我想知道,為什麼這是可能的。我理解它的方式,第一個消息塊的海綿狀態僅取決於密鑰和 AD,因此如果密鑰和 AD 被重用,對手至少能夠解密第一個塊。

實際上,除非關聯數據中包含隨機數,否則SpongeWrap 論文並未聲稱 CPA 安全性(或者實際上根本沒有任何類型的隱私保護),或者可以保證關聯數據對於每條消息都是唯一的。特別是,如果您仔細查看第 2.2 節,您會在第 3 頁末尾發現以下註釋:

為了隱私,我們只考慮尊重隨機數要求的對手。對於單個 header-body 對,這意味著對於任何兩個查詢 $ (A, B) $ 和 $ (A′, B′) $ , 我們有 $ A = A′ ⇒ B = B′ $ . 一般來說,nonce 要求指定對於任何兩個查詢 $ (\overline{A, B}) $ 和 $ (\overline{A′, B′}) $ 等長 $ n $ , 我們有

$$ {\rm pre}(\overline{A, B}) = {\rm pre}(\overline{A′, B′}) ⇒ B^{(n)} = B′^{(n)}, $$和 $ {\rm pre}(\overline{A, B}) = (A^{(1)}, B^{(1)}, A^{(2)}, \dots , B^{(n−1)}, A^{(n)}) $ 省略了最後一個主體的序列。對於流密碼,不遵守 nonce 要求意味著對手可以了解兩個明文正文之間的按位差異。

引用自:https://crypto.stackexchange.com/questions/47654