2011-12-05 72 views
2

現在我知道這是一個非常開放的問題,比如「一段串有多長」,但我是這個遊戲的新手。什麼是加密/解密數據最安全的方式?

從我的基本認識(之前我深入探討這個問題)我相信AES 256位加密是非常安全的。

我的需求是爲使用.NET中使用最安全的加密可能私鑰和公鑰。

現在我但從這也許是幼稚的問題的專家指出知道,但請幫我擴大我的知識和建議的最佳方法,算法以及其他任何在這種類型的項目來考慮。

非常感謝。

+6

說得直白地說:只要你*做到了,它就不會安全。正如Bruce Schneier寫道:「密碼很難,密碼很難,密碼是很容易的部分。」瞭解該主題並使用高品質的圖書館。 *您的代碼*將成爲薄弱環節,而不是密碼。 –

+1

你的問題顯示加密技術的缺乏。這意味着你*不會*正確地執行它,它*將被打破。我總是弄錯密碼,而且我一直在*年*。我建議你在試圖干預這些事情之前至少閱讀一些關於基本密碼學原理的文獻。 – Polynomial

+0

@KerrekSB你是說像.Net庫這樣的東西http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged%28v=VS。90%29.aspx很弱? – Jon

回答

0

您不需要加密來生成公鑰/私鑰。這是一個數學運算。密鑰然後用於加密。

的它們是如何鏈接在一起,是產生

  1. 密鑰的簡要概述。
  2. 這些密鑰隨後用於安全地交換各方之間的「密碼」。
  3. '密碼'然後用於加密雙方之間的進一步溝通。

第2部分將使用哈希和簽名等方案來確保通信的真實性和未被篡改。 PKI非常慢,所以儘管您可以在實踐中使用它來保護通信,但它通常只在開始時使用,然後使用更快的方案(如AES)。

很多,這應該是維基百科上,並檢查了布魯斯的作品。

2

可能沒有這樣的東西可用。您的加密級別應與與數據關聯的線程成比例。請記住,通常由人類創造的任何東西都可以被人類破壞。

如果你想使用一對密鑰來加密/解密數據,你最有可能非對稱加密的道路上 - google it。從.NET點,你可以看看的RSA algorithm實施,這是considered to be secure爲 2048位以上的密鑰大小。

+0

在這種情況下,RSA比SHA512更安全嗎? – Jon

+1

SHA512是** hashing **算法,不是加密(意味着SHA512只是一種方法)。您將無法從哈希中恢復對象,因爲此操作不可逆。您可以將AES與RSA進行比較,但這取決於您的目標,數據和流程 – oleksii

+0

您的問題無法解答。它們都是安全的,取決於你如何使用它們以及你的加密將決定哪一種數據更安全。任何可以解密的數據都意味着必須存儲進程以在同一位置進行加密和解密。這一事實意味着任何有權訪問該進程的人都可以解密您的信息。你認爲SHA512是一種加密算法的事實證明你應該做一些額外的研究。 –

相關問題