兩方之間的一次性密鑰分發
考慮一次性便箋 (OTP)。假設A和B兩方在現實生活中的會議中生成了一個完全隨機的密鑰,並且他們保守這個秘密。現在A想使用 OTP向*B發送一些消息。*關鍵是在 OTP 中,我們只能使用任何密鑰一次。所以我們必須想出一個系統來以秘密的方式共享一個新選擇的密鑰。
為什麼 A 不能將一個新的隨機生成的密鑰(使用 OTP 的兩方之間的下一次通信所需)連接到該消息?
例如,A可以在消息的開頭連接這個新鍵。(假設他們事先商定了一個固定的密鑰長度,這樣B就能夠分辨出哪個是新密鑰,什麼是“實際”消息。)這樣,A和B就可以就他們自己的新密鑰達成一致。然後可以用於他們的下一次通信。
可能這是不安全的,但我不立即明白為什麼……
假設愛麗絲和鮑勃有 $ c $ 一些預共享的密鑰材料。愛麗絲生成 $ a $ 一些新的密鑰材料,將其連接到消息中 $ M $ 那是 $ b $ 位長,並使用 $ a+b $ 他們的預共享密鑰材料的比特位用於加密“消息||新密鑰”。她將此安全消息發送給 Bob,Bob 使用共享密鑰對其進行解密。現在他們倆都有 $ a $ 一些新的共享密鑰材料,但為了安全地發送那些 $ a $ 位和 $ b $ 位資訊 $ M $ 他們不得不燒毀 $ a+b $ 以前的密鑰材料的位。他們現在必須加密未來消息的總密鑰材料是:
$ c- $ (發送“消息||新密鑰”所花費的金額)+ $ a $ .
期限(發送“消息||新密鑰”所花費的金額)= $ a+b $ ,所以他們剩下的數量是:
$ c-(a+b)+a $ ,
$ = c-a-b+a $ ,
$ = c-b $ .
所以他們現在的情況並不比 Alice 簡單地發送 $ b $ 位資訊 $ M $ 單獨沒有附加的新密鑰。
如果“這條消息”是明文,那麼這實際上並沒有幫助,因為加密新密鑰會使用等於新密鑰長度的舊鍵盤的數量,即
所有“實際消息”的總長度仍將限於原始一次性便箋簿的總長度。
如果“這條消息”是密文,那麼竊聽者將很容易知道新的“秘密”密鑰。