Block-Cipher

接收器不知道偏移量時的分組密碼 CTR 模式

  • June 8, 2019

當收到加密消息時,如果收到消息的偏移量(=計數器)已知(當然還有所需的私鑰),則可以輕鬆解密。這允許在解密時進行隨機訪問。如果接收者不知何故忘記跟踪計數器怎麼辦。接收方還能重新創建原始明文嗎?或者是否需要為每個接收到的加密文本分配一個響應。抵達時的櫃檯價值?或者這個計數器是否以某種方式傳遞,使得接收器不必跟踪它,例如作為附加參數。

我想到的一個場景是,當接收器錯過了前 N 個塊時。然後他/她將不知道目前計數器,從而導致無法解密。

大多數協議就像 TLS,你不能從中間開始。在大多數協議中,計數器是隱式的,接收者需要從頭開始計數塊,如果接收者不知道他們無法解密的目前值。

這對網際網路上的直播影片沒有問題的原因是,在現代影片直播中,影片被切割成以多種解析度編碼的 5 秒小塊,以供具有不同有效頻寬的客戶端使用,並且客戶端使用每 5 秒的 TLS 下載影片的第二塊,根據下載前 5 秒影片所需的時間切換到更小或更大的版本。請參閱 HTTP 實時流式傳輸。

大多數協議不支持“在廣播中間調入,已經共享對稱密鑰,在流中間開始解密”。

如果您正在開發諸如使用共享密鑰的加密廣播之類的東西,您需要您的協議每隔幾秒(可能是每秒)插入一次“重新同步”元數據,以便客戶端剛剛調整

$$ 1 $$. 也許重新同步只提供標記,加入客戶端用於接收共享對稱密鑰的“握手”協議也將為客戶端提供下一個標記的計數器值。 1 - 如果影片沒有被切割成單獨的 5 秒影片文件,影片編解碼器也需要這樣做(請參閱x264中的“定期幀內刷新” )。

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