Encryption

可以使用輸入和輸出導出對稱加密密鑰嗎?

  • August 29, 2019

我正在尋找一個用於使用單個密鑰加密字元串的 python 庫。我不希望通過知道輸入和輸出來導出密鑰。我已經到了cryptography.fernet這麼遠,但我不確定這是否能滿足我的需求。可以通過知道算法(假設在這種情況下為 fernet 算法)並知道輸入和輸出來導出加密密鑰嗎?

例如,當我A用密鑰加密消息K並輸出B時,可以以某種方式AB它們放在一起,所以它會輸出K

編輯

這個的實際使用如下。我需要將密碼儲存在其他人可以看到的地方(一個不和諧的配置通道,但這是次要的),這樣他們就看不到實際的密碼。我認為使用者將使用僅對機器人(不和諧機器人)可見的密鑰(使用命令)對密碼進行一次加密。然後將加密的密碼發送回使用者並儲存在通道中,供機器人解密並稍後使用。**問題是:**如果使用者知道輸入和輸出,如果他能夠猜出密鑰,那麼他就能夠解密所有其他以這種方式儲存的密碼。絕對沒有人希望這種情況發生!

例如,當我A用密鑰加密消息K並輸出B時,可以以某種方式AB它們放在一起,所以它會輸出K

除了特別限制您只能使用特定密鑰K一次(例如 OTP)的加密消息,否則,KA和恢復是不可行的B

這是對加密方法(稱為“已知明文”)的一個相當基本的要求;也就是說,給定一個明文消息和相應的密文(或者更一般地說,大量的消息和密文,都用相同的密鑰加密),這仍然無助於解密另一個密文(也用相同的密鑰加密) -能夠從明文和密文中恢復密鑰將違反這一點。

實際上,我們對加密方法提出了更高的要求。我們允許攻擊者選擇要加密的消息(“Chosen Plaintext”),還允許攻擊者送出他自己的密文(並查看它們是如何解密的)“Chosen Ciphertext”。

加密方法通常不被認為是安全的,除非它對所有這些攻擊場景都是安全的。

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