Chacha
ChaCha20 和 Salsa20 流密碼的名稱從何而來?
這不是針對特定加密實現的問題,而是出於好奇而提出的問題。將流密碼稱為 ChaCha/Salsa 的原因是什麼?
我在網際網路上找不到任何有關此的資訊。這些名稱是否與它們的內部結構有關,或者只是為了讓它們從所有其他密碼中脫穎而出?例如,在 NIST 對其進行標準化之前,AES 曾經被稱為 Rijndael Cipher(源自其創建者的名字)。
當我為使用 salsa20 作為 CSPRNG 的密碼系統撰寫論文時,我閱讀了一些與它相關的論文,從 Salsa20 (2005) 和 Chacha20 (2008) 的設計師 Daniel J. Bernstein 發表的論文開始。我必須告訴你我以前沒有問過這個有趣的問題。因為你,我重新審視了我的引文,我意識到丹尼爾沒有解釋這些名字的來源。
他在 salsa20 展示文稿 ( http://www.gwizfl.org/email/cr.yp.to/snuffle/design.pdf ) 中說的唯一一件事是他使用的原始名稱是 Snuffle(用鼻子發出的聲音就像當有東西聞到或鼻子有一些刺激時)。
Snuffle 和一些像 Salsa 或 Chacha 這樣的舞蹈之間可能存在某種關係。我還認為將 Snuffle 聲音混淆和一些複雜的舞蹈結合起來,我們有一個非常好的混淆混合,可以為我們提供很好的混淆/擴散,最後 Salsa20 是基於散列函式的流密碼,所以這很有意義。