一、唯密文攻擊(Ciphtext Only Attack,COA)
定義:唯密文攻擊(COA)是指僅僅知道密文的情況下進行分析,求解明文或密鑰的密碼分析方法。
假定密碼分析者擁有密碼算法及明文統計特性,並截獲了一個或者多個用同一密鑰加密的密文,通過對這些密文進行分析求出明文或密鑰。COA已知條件最少,經不起唯密文攻擊的密碼是被認為不安全的。
簡單理解:只知道密文,推出明文或密鑰,一般用窮舉攻擊。
密碼分析者有一些消息的密文,這些消息都用加密算法加密。密碼分析者的任務是恢復盡可能多的明文,或者最好能推算出密鑰,,以便可采用相同的密鑰破解其他被加密的消息,
已知:C1=Ek(P1), C2=Ek(P2),..., Ci=Ek(Pi)
推導出:P1,P2,..., Pi; K 或者找出一個算法從Ci+1=Ek(Pi+1)推導出Pi+1.
二、已知明文攻擊(Known Plaintext Attack,KPA)
定義:已知明文攻擊(KPA)是指攻擊者掌握了部分的明文M和對應的密文C,從而求解或破解出對應的密鑰和加密算法。
簡單理解:知道部分的明文和密文對,推出密鑰和加密算法。
密碼分析者不僅可以得到一些消息的密文,而且也知道這些消息的明文。分析者的任務就是用加密信息推出用來加密的密鑰或導出一個算法,可以對用相同密鑰加密的任何新消息進行解密。
已知:P1,C1=Ek(P1), P2, C2=Ek(P2),..., Pi, Ci=Ek(Pi)
推導出:K 或者找出一個算法從Ci+1=Ek(Pi+1)推導出Pi+1.
三、選擇明文攻擊(Chosen Plaintext Attack,CPA)
定義:選擇明文攻擊(CPA)是指攻擊者除了知道加密算法外,還可以選定明文消息,從而得到加密后的密文,即知道選擇的明文和加密的密文,但是不能直接攻破密鑰。
簡單理解:知道明文就知道密文,目標為推出密鑰。
密碼分析者不僅可以得到一些消息的密文和這些消息的明文,而且他們也可選擇被加密的明文。這比已知明文攻擊更有效,因為密碼分析者能選擇特定的明文塊進行加密,那些塊可能產生更多關於密鑰的信息。分析者的任務就是用加密信息推出用來加密的密鑰或導出一個算法,可以對用相同密鑰加密的任何新消息進行解密。
已知:P1,C1=Ek(P1), P2, C2=Ek(P2),..., Pi, Ci=Ek(Pi),其中P1,P2,...,Pi可由密碼分析者選擇。
推導出:K 或者找出一個算法從Ci+1=Ek(Pi+1)推導出Pi+1.
四、選擇密文攻擊(Chosen Ciphertext Attack,CCA)
定義:選擇密文攻擊(CCA)是指攻擊者可以選擇密文進行解密,除了知道已知明文攻擊的基礎上,攻擊者可以任意制造或選擇一些密文,並得到解密的明文,是一種比已知明文攻擊更強的攻擊方式。
若一個密碼系統能抵抗選擇密文攻擊,那必然能夠抵抗COA和KPA攻擊。密碼分析者的目標是推出密鑰,CCA主要應用於分析公鑰密鑰體制。
簡單理解:知道密文就知道明文,目標為推出密鑰。
密碼分析者能選擇不同的被加密的密文,並可能到對應的解密的明文。密碼分析的任務是推出密鑰。
已知:C1,P1=Dk(C1), C2, P2=Dk(C2),..., Ci, Pi=Dk(Ci)。
推導出:K
比較分析
當密碼系統只有承受住選擇明文攻擊(CPA)和選擇密文攻擊(CCA),才能算是安全的。
其中,四種攻擊方式對應的攻擊強度為:
攻擊難度:選擇密文攻擊(CCA)>選擇明文攻擊(CPA)>已知明文攻擊(KPA)>唯密文攻擊(COA)
難易程度:選擇密文攻擊(CCA)<選擇明文攻擊(CPA)<已知明文攻擊(KPA)<唯密文攻擊(COA)
————————————————
版權聲明:本文為CSDN博主「Brilliantzhu」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/A33280000f/article/details/118304531