關於密碼學中一些常見問題的理解


1、保證信息安全的關鍵要素有哪些?

(1)鑒別:消息來源確認,身份的驗證。

(2)授權:根據實體身份決定其訪問權限。

(3)保密:非授權人無法識別信息。

(4)完整性:防止消息被篡改。

(5)不可否認:不能對所作所為進行抵賴。

 

 

2、設計一個簡單的用於與家人通信的密碼算法。

加密思想:數字或字母模加消息傳輸當天的星期進行加密。

對數字:如100316,消息傳輸當天為星期六,加密方式為:1⊕6=7,0⊕6=6,0⊕6=6,3⊕6=9,1⊕6=7,6⊕6=2;則密文為:766972。

對字母:如qzm,消息傳輸當天為星期二,加密方式為q⊕2=s,z⊕2=b,m⊕2=o;則密文為:sbo。

 

 

3、既然RSA簽名算法存在指數運算攻擊,為什么仍然應用廣泛?

(1)RSA的解密難度體現在大素數的分解上。雖然RSA簽名算法存在指數運算攻擊,但隨着如今技術的進步和可提供的密鑰空間的不斷增大,RSA的安全性也在不斷提高。

(2)當RSA的密鑰長度達到很高位數時,破解難度極大。

 

 

4、為什么說EKE協議的安全性較好?

(1)EKE協議的流程:

A隨機產生一個公鑰Kap,並使用共享密鑰對其進行加密得到Ep(kap)並將其發送給B,B解密后,產生一個會話密鑰K,用Ep和Kap對其進行加密發送給A,A解密得到K,這樣就完成了密鑰的交換。

A用K對產生的消息Ra進行加密並發送給B,B解密后將Ra和唯一產生的Rb用K加密發送給A,A解密后若Ra和之前的Ra相同,則再將Rb加密發送給B,即完成了認證。

(2)安全性較好的原因:

(i)如果攻擊者獲取了共享密鑰Ep,同時了攔截A發送給B的Ep(kap)和B發送給A的Ep(Eap(k)),但是攻擊者必須要得到A的私鑰才能解密Eap(k),故攻擊者無法得到會話密鑰K。

(ii)如果A和B成功完成了會話,那么攻擊者就不可能知道Ra和Rb,那么就無法篡改或竊取消息。

(iii)在交換Ra和Rb的過程中,A、B若發現消息被篡改,那么將可以不選擇使用此K,保證了安全性。

 

 

5、SKEY協議中單向hash鏈的使用是反向的,如 果采用正向使用是否可行,安全性如何?

(1)從工作原理上來說,類比反向,正向使用的方法是:

銀行根據r和xi+1=h(xi)計算x0~x100;

x0=h(r) x1=h(x0)······ x100=h(x99);

銀行保存 x0,將x1~x99給用戶;

用戶每次輸入手中未被使用且通過了的下標最小的,服務器將的值與h(-1)的值比較,如果相等,則用替換-1。

和反向不同的是,正向的h函數計算是對服務器中存儲的數字進行的。

(2)從安全性的角度來說,當反向使用的時候,由於要對用戶使用的進行h()

的計算,所以黑客就算取得了用戶手中的也無法通過直接訪問服務器來非法登錄。但當正向使用的時候,由於h函數的計算是對服務器中存儲的數據,故計算是在服務器中完成的,如果黑客取得了xi,那么將可以實現非法登錄。所以存在一定的安全隱患。

 

 

二、分析

1、分析對稱密碼算法是否可用於數字簽名?

一般情況下不能。因為簽名具有不可抵賴性,在對稱算法中,雙方都持有相同的密鑰,都可以生成簽名,故不具有不可抵賴性。

特殊情況:有可信第三方的介入,保證簽名的性質的情況下,可以使用數字簽名。

 

 

2、分析RSA算法中公鑰選擇較小素數的原因。

由於p、q為兩個大素數,可知(p-1)和(q-1)的值也很大,故φ(n)=(p-1)(q-1)也是一個很大的數,由於d=modφ(n),要使信息更安全,密文更難被破譯,要求d也是一個很大的數。當e是一個較小的素數時,e的逆元較大,d較大;而e如果很大時(接近φ(n)的位數),那么d很有可能是一個較小的數,那么安全性就會降低,易被破譯。如:

q=9562643915880970470

當e=65537時:d= 2827777272224441273(19位)

當e=2766050993時:d=3457146647(10位)

 

 

3、分析DSA算法中私鑰d泄露的后果。

假如A的私鑰d泄露,且被攻擊者C拿到,那么:

(1)由於簽名具有不可抵賴性,C就可以冒用A的身份,對一些信息使用密鑰d進行簽名,進行如非法詐騙等活動。

(2)C還可以使用密鑰d解密A收到來自他人的,用A的公鑰加密的信息,對A的信息進行竊取。

 

 

4、分析四種保密通信協議的實際應用場景。

(1)采用古典密碼算法的通信協議:

一般適用於普通用戶,如兩人之間、家庭之間用於通信的保密協議。

(2)采用對稱密碼算法的通信協議:

由於對稱密碼算法運算速度快,運算效率高,故例如客戶端和服務器端這樣高頻率的通信過程(如https協議)一般采用對稱密碼,提高高頻率通信的效率。

當有可信第三方介入時,對稱密碼也可以實現數字簽名,可以實現仲裁協議。

(3)采用公鑰密碼算法的通信協議:

公鑰密碼算法管理簡單,可拓展性較好,可實現裁決協議,一般可用於密鑰交換(如EKE協議),或需要擴充到三人或者更多的協議中。

(4)采用混合密碼算法的通信協議:

混合密碼算法結合了對稱密碼算法和公鑰密碼算法的優點,使用對稱密碼來加密消息,提高加密速度;使用公鑰密碼來協商會話密鑰,簡化密鑰管理。

 

 

5、分析Diffie-Hellman協議的安全性。

(1)DH協議的過程如下:

選定一個大素數p,(p,g)為公鑰;

A選擇x<p,發送Ya=g^x(mod p)給B;

B選擇y<p,發送Yb=g^y(mod p)給A;

A通過自己的秘密計算(g^y)^x(mod p)=g^(xy)(mod p)

B通過自己的秘密計算(g^x)^y(mod p)=g^(xy)(mod p)。

(2)安全性分析:

(a)A和B擁有相同的g^(xy)(mod p)作為會話密鑰進行保密通信。就算攻擊者通過攻擊得到了p,g,Ya,Yb,但無法知道x,y,基於離散對數的難題,所以求解g^(xy)(mod p)是十分困難的。(給定x,k,求解關於x,k的函數是簡易的,但給定y,k求解x是困難的,即y=f(k,x)為一個單向函數)。

(b)但DH算法本身不包含身份認證機制,所以易受到中間人攻擊。攻擊方式如下:

在A和B間,有一攻擊者C;

AB交換公鑰p時,C在中間截獲;

C自己生成密鑰z,用Yc=g^z(mod p)和A、B完成密鑰交換;

C與A間有了會話密鑰g^(xz)(mod p);

C與B間有了會話密鑰g^(yz)(mod p);

只要C從一方獲得的信息,重新加密后傳遞給另一方,就實現了對A、B之間通信的竊取和篡改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM