Semantic-Security
語義安全可以防止密鑰恢復攻擊嗎?
在關注語義安全的同時,是否需要特別關注密鑰恢復攻擊?
Dan Boneh 和 Victor Shoup 所著的《應用密碼學研究生課程》一書在討論語義安全時並沒有關注密鑰恢復攻擊,但在提到分組密碼時它確實如此。
首先是關於術語的註釋:語義安全是密碼的屬性;它不是一種方法或算法,因此“語義安全”無法保護任何東西。當然,如果密碼在語義上是安全的,那麼它應該防止密鑰恢復,因為密鑰恢復將直接導致明文恢復。如果完全明文恢復是可能的,那麼顯然它在語義上是不安全的。
分組密碼是一種算法(一種原語),可用於創建語義安全的密碼。分組密碼本身應該防止密鑰恢復。只要您不在方案中的其他任何地方重複使用密鑰——這是一個合理的預設設置——那麼你就不需要提供額外的保護。這可能就是為什麼沒有特別提到它的原因。
現在,如果您根本不使用分組密碼(流密碼可能不使用),或者如果您直接使用密鑰來創建例如身份驗證標籤,那麼是的,您需要額外的保護以防止密鑰恢復。
請注意,某些方案引入了可能充當方案中鍵的新數據元素。如果是這種情況,該構造當然應該提供防止恢復這些密鑰的保護。例如,值的情況 $ H $ - hash-sub 鍵 - 在 GCM 模式下。
請注意,身份驗證標籤是在 GCM 模式下根據密文計算的,因此即使該密鑰被洩露,即使消息身份驗證屬性被破壞,密碼在語義上仍然是安全的。由於明文預言機攻擊,這仍然可能導致機密性失去,但這超出了密碼本身的定義。
該密碼將被視為語義安全,因為 CTR 模式(GCM 的底層加密模式)仍將提供語義安全。