Encryption

加密壓縮算法?

  • May 12, 2022

我想知道,是否存在壓縮和加密輸入數據的算法/加密程序。這意味著,對於初學者來說,輸出的大小將更小且難以解密……如果壓縮算法良好,那麼這些位將幾乎是隨機的。

還有任何雙加密算法嗎?:我的意思是,假設我有 2 個數據字元串(僅限字母數字,現在說)——同時使用它們和算法,我產生加密輸出——我接受對,並產生一對。該過程是基於算法的,而不是基於密鑰的。對此有何評論?這與早期的加密壓縮問題有什麼關係?(與之相關的一種方式是,如果數據不僅僅是字元串,而是一個大型多媒體文件,那麼除了加密之外,它還可以快速安全地壓縮)

常見問題解答說“請提出可以回答的問題,而不僅僅是討論”,但我不能更具體,至少現在不能:如果它有一些編碼,我可能會在 stackoverflow 上發布它!

歡迎所有評論,以及其他問答的連結。其他論壇地址也歡迎!

與一些加密任務不同,例如加密+認證結合壓縮+加密沒有任何共同點/非協同作用,因此將它們組合成一個算法沒有任何優勢。

實際上,這意味著您首先壓縮數據,然後對其進行加密,因為加密的數據是不可壓縮的。這樣,您就可以清楚地分離單獨的關注點,並且可以獨立地改變它們。

將它們結合起來的一個好點是在協議/文件格式級別。例如,TL​​S 支持壓縮和加密,大多數存檔格式(zip、rar、7z、…)也是如此。

但是壓縮會損害安全性:典型的加密旨在隱藏數據的所有內容,除了它的長度。壓縮取決於數據本身並影響數據的長度。這意味著它可以通過繞過加密的長度洩漏有關數據的資訊。如果您在同一上下文中壓縮攻擊者選擇的數據和秘密數據,這尤其嚴重。這導致了針對 TLS 壓縮的CRIME攻擊。

還有任何雙加密算法嗎?:我的意思是,假設我有 2 個數據字元串(僅限字母數字,現在說)——同時使用它們和算法,我產生加密輸出——我接受對,並產生一對。該過程是基於算法的,而不是基於密鑰的。

密碼學中的一個基本事實(或者我應該說“假設”)是,如果不涉及一些未知的秘密,您就無法安全地加密數據。這被稱為Kerckhoffs’s_principle。在您在這裡提出的這種方案中,任何可以訪問該算法的對手都可以逆轉該過程並輕鬆解密數據,因為該算法只是兩個輸入和兩個輸出之間的映射。我們必須假設對手知道該算法,也許它是公開可用的,也許他們巧妙地對其進行了逆向工程等,因此他們將能夠執行反向映射。

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