2016-10-10 83 views
0

創建TripleDESCryptoServiceProvider的新實例時,會生成一個密鑰和IV。TripleDESCryptoServiceProvider爲什麼會自動生成密鑰?

它是有道理的,每一次生成一個IV。

但是,每次生成密鑰的要點是什麼?

不應該是靜態的關鍵,因此它可以被互相發送加密郵件各方之間共享?我不會總是用共享密鑰覆蓋隨機密鑰嗎?

這什麼情況下是有用的,每次將產生一個新的密鑰?

回答

1

通常密鑰是隨機產生的每個消息,然後與加密的消息發送到使用公共密鑰算法接收者沿牢固地輸送。

所以,在這種情況下,用合適的鑰匙初始化密碼是方便和可能更加安全也一樣,如果你假設庫開發人員不太可能使用不正確的密鑰生成技術。

但是,如果您有需要使用,並覆蓋加密的初始密鑰的現有密鑰,你已經失去了唯一的事情就是從熵池中的某些位。

+0

另外,DES和三重DES已所謂的弱密鑰,這將當通過API生成的密鑰被自動濾除。這只是一個弱點,因爲其他CryptoServiceProviders(例如AES)做同樣的事情。 –