2012-02-29 35 views
1

這裏我想使用AES 256 Algorithm加密和解密文件比我必須提供密鑰加密文件和解密文件相同的密鑰。哪種類型的密鑰格式更適合AES 256

那麼哪個密鑰更好的性能和安全性呢? 哪種類型的密鑰格式我將在這裏使用,這樣我可以獲得更多的安全性。

這裏我必須在加密和解密中使用相同的密鑰。

所以任何機構請建議我對Key的更好的建議。

+1

您應該按安全性而不是按性能選擇密鑰。 影響安全性的主要屬性是[密鑰長度](http://en.wikipedia.org/wiki/Key_size#Symmetric_algorithm_key_lengths)和密鑰隨機性(這是更隨機的密鑰更安全,因爲如果例如密鑰只是一些已知的單詞 - 那麼整個加密系統很容易受[字典攻擊](http://en.wikipedia.org/wiki/Dictionary_attack) – 2012-02-29 07:17:48

+0

@ 0x69感謝您的回覆所以我必須編寫密鑰生成器代碼 – user1089679 2012-02-29 07:23:09

+0

@ 0x69我改變了我的問題 – user1089679 2012-02-29 07:24:17

回答

3

AES鍵只是一堆沒有結構的位。 AES-128密鑰是128位,必須隨機選擇。 AES-192密鑰是192位,A​​ES-256密鑰是256位。沒有任何不同類型或格式的密鑰。

大多數密碼術文庫都具有生成AES密鑰的功能。例如,一個PKCS #11接口,call C_GenerateKey with the CKM_AES_KEY_GEN mechanism。如果庫沒有特定的功能,請使用它來生成所需數量的隨機字節,例如with RAND_bytes in OpenSSL

請查閱您的加密庫的實現以正確使用。特別是,一個隨機數發生器需要從其環境中獲得entropy,確保你提供的是足夠的。