数据完整性:对需要更安全来说数据保密是不够的。数据仍能够被非法破解并修改。一种叫HASH的运算方法能确定数据是否被改过。
认证:数字签名提供认证服务。
不可否定性:数字签名允许用户证明一条信息交换确实发生过。金融组织尤其依赖于这种方式的加密,用于电子货币交易。
加密强度
加密文件一个常被讨论但又经常被误解的方面是加密强度。
加密强度取决于三个主要因素:
首先是算法的强度,包括几个因素,例如,除了尝试所有可能的密钥组合之外的任何方法都不能数学的使信息被解密。我们应该使用工业标准的算法,它们已经被加密学专家测试过无数次,任何一个新的或个体的配方将不被信任直到它被商业的认证。
第二个因素是密钥的保密性,一个合乎逻辑但有时被忽略了的方面,没有算法能够发挥作用如果密钥受到损害,因此,数据的保密程度直接与密钥的保密程度相关,注意区分密钥和算法,算法不需要保密,被加密的数据是先与密钥共同使用,然后再通过加密算法。
第三个因素是密钥程度,这是最为人所知的一个方面,根据加密和解密的应用程序,密钥的长度是由”位”为单位,在密钥的长度上加上一位则相当于把可能的密钥的总数乘以二倍,简单的说构成一个任意给定长度的密钥的位的可能组合的个数可以被表示为2的n次方,这儿的n是一个密钥长度,因此,一个40位密钥长度的配方将是2的40次方或1099511627776种可能的不同的钥。
尽管可能加密的密钥的总数是非常大的,专门的计算机现在可以在不到一天时间内试验许多种密钥的组合。其实任何密码都能破解而无论它的长度,想像一下这样的密钥利用现代的机器去破解是多么的快速。简单的说,一个人或组织在密钥破解的装备上花的钱越多,则密钥就会被越快的破解。
建立信任关系
应用加密指的是在主机之间建立一个信任关系。在最基本的级别上,一个信任关系包括一方加密的信息,并只有另一方的合作伙伴可以解密这个信息。这种任务是利用公钥加密来完成的。这种类型的加密要求你建立一个私钥和一个公钥。一旦你已经产生了一对密钥,你可以把公钥发布给任何人。
你可以通过以下两种方法来发布你的公钥: