Encryption
這個密碼叫什麼名字?它怎麼能被打破?
假如說:
- SHA-256 和 SHA-512 是隨機且不可逆的
- 附加到一些隨機且足夠長的秘密的輸出與任何其他數據一樣隨機,並且會產生同樣難以猜測的值
然後可以得出結論,可以通過以下方式使用這些雜湊函式構造密碼:
- 讓
state
和key
都是 32 或 64 字節值state
用隨機 IV 和key
隨機密鑰初始化- 使純文字
v
的state + key
, xor 塊與v
- 使用生成的密碼更新狀態
- 重複直到處理完所有明文
- 解密做同樣的事情,但用密文更新狀態
現在的問題是,這樣的密碼存在嗎?是否可以在不暴力破解密鑰的情況下發現給定密文的明文?如果是這樣,可以使用哪些技術?
這似乎是CFB 模式,僅使用散列函式(將密鑰作為輸入的一部分),而不是分組密碼。
因此,假設具有部分機密輸入的散列函式充當隨機 Oracle,這提供了隱私。但是,它不提供完整性(也就是說,攻擊者可以修改密文,得到的密文將解密,實際上會對明文產生半可預測的變化),並且最終可能會比更傳統的加密方法慢.