密钥需要多长?答案并不是一个固定和准确的,它要视情况而定。为了断定你需要多高的安全性,你应该问自己一些问题:
1.你的数据价值有多少?
2.你的数据要多长的安全期?
3.攻击者的计算资源情况怎样?
一个顾客清单也许只值600RMB;一起令人痛苦的离婚案件的财政数据也许30万RMB;一个大公司的广告和市场数据应该值3百万RMB;而一个数据取款系统的主密钥价值可能会超过亿元。
在市场经济贸易的世界里,保密只需要几分钟而已。在报纸行业,没准今天你的秘密将是明天的头条标题。产品研发信息或许需要保密一到两年。根据美国法律,美国人口普查数据要保密100年。
公司的贸易秘密是那些竞争公司最感兴趣的;对敌军来说军事秘密是值得感兴趣的。你可以这样说明你的安全需求。例如,
密钥长度必须足够长,以使破译者花费一亿美元在一年中破译系统的可能性也不超过0.1232%,甚至假设破解技术在此期间每年有30%的增长速度。
但是未来的计算机处理能力是难以估计的,但这里有一个比较保守的经验方法:计算机设备的性价比每18个月翻一番或以每5年十倍的速度增长。这样,在50年内最快的计算机将比今天快1010倍,且这些数字仅对于普通用途的计算机而言;谁能知道某种特制的密码破译机在下一个50年内如何发展呢?
假定一种加密算法能用30年,你就能对它是多么安全有一个概念。现在设计的一种算法也许直到21世纪后才会普遍使用,也许在2025年仍然将会运用它来为那些需保密至2075年或更晚的信息加密。
换句话说,如果你现在使用的密钥的长度比你查到的密钥长度大或者是大得多的话,你不用担心会有什么令人吃惊的技术能够危害到你的信息安全。