Trapdoor
將陷門函式直接應用於明文
假設我們在 (G, F, F^-1) 上定義了一個安全陷門函式,其中 G 是一個隨機算法,輸出一個密鑰對 (pk, sk)。如果我們將 F 直接應用於明文消息,為什麼這個陷門函式會變得不安全?E(pk,m) = c = F(pk, m)
活板門功能僅提供單向性。這意味著,如果使用陷門函式進行加密,則可能會洩漏大部分明文。假設我有一個陷門功能 $ F(pk,m) $ 對於說 n 位消息 $ m $ . 我現在可以定義一個適用的陷門函式 $ 2n $ 位消息為
$ F’(pk,m_1||m_2) = m_1 || F(pk,m_2) $
這仍然是一個安全的陷門功能,但是會洩漏“明文”的一半位。
竊聽者可以輕鬆地測試任何候選消息以確定
該候選消息是否是明文消息。
def test_candidate_message_(pk,c,candidate): if c == F(pk,candidate): return True else: return False