Xor
加密算法和“一次性密碼”
我不精通該領域,但我相信我知道基礎知識。
我所知道的所有加密算法都利用直接數據操作來加密消息(位串),例如使用加密密鑰以特定模式進行移位、循環等。
是否有任何算法不是以任何方式接觸要加密的數據,而是使用合理的短密鑰生成安全的一次性密碼?
我想從技術上講,在這種情況下,您會將密鑰稱為偽隨機數生成器的種子。
所以我的問題是,這樣的生成器是否以安全的形式存在,並且具有可以將片語轉換為密鑰或僅生成這樣的密鑰的算法。
如果有這樣的生成器,我想您會指出一次性墊在更改/多個數據方面的弱點,但假設由於墊使用標記或僅僅因為沒有其他數據或更改而這不是問題。
有一整類密碼可以做到這一點。它們被稱為流密碼。在最基本的情況下,他們假裝是一次性墊。你給他們一個小密鑰,他們就會生成一個看似隨機的比特流。然後,您將這些位與您的純文字進行異或以生成密文。
您可以為這個基本行為添加花里胡哨,但我所描述的是流密碼的本質。
這些流密碼中最著名的可能是RC4。如果您曾經使用過 SSL,那麼您將使用過這個蒸汽密碼。
同樣,如果您曾經使用過手機,您可能已經使用A5/1 “保護”了您的語音流量。
有些人是這個密碼設計領域的專家。
除了這是一個完善的密碼學分支,擁有非常完善的研究機構和許多現場設計之外,沒有什麼可說的了。