CA=Certification Authority
合法软件需要CA认证吗?
谁认证?
认什么证?
通过CA认证都是合法软件吗?
散列函数=HASH函数=HASH算法
=散列算法=消息摘要算法
散列函数是一种加密形式,主要适用于数字签名标准(Digital Signature Standard, DSS)里面定义的数字签名算法(Digital Signature Algorithm, DSA)。它可在获取明文输入后将其转换为固定长度的加密输出(称为“消息摘要”)。
对于长度小于2^64位的消息,SHA1会产生一个固定长度为160位的消息摘要。
HASH算法原理图
Hash算法软件
当两个文件内容相同,文件名、后缀名、创建日期不同,它俩消息摘要(Hash值)是否相同呢?
例如,打开记事本(Notepad),输入:Welcome to Shanghai Expo 2010。如图4-5所示。分别存为expo_01.txt和expo_02.txt。
两个内容相同的文件尽管文件名不同,但它们的Hash值是一样的。
Hash算法的特点
接受的输入报文数据没有长度限制。
对输入任何长度的报文数据能够生成该电文固定长度的摘要(数字指纹,Digital Fingerprint)输出。
对报文能方便地算出摘要。
极难从指定的摘要生成一个报文,而由该报文又反推算出该指定的摘要。
两个不同的报文极难生成相同的摘要。
Hash函数是单向不可逆运算过程,形象地说就像“摔盘子”:把一个完整的盘子摔烂是很容易的,这就好比通过报文计算消息摘要的过程;而想通过盘子碎片还原出一个完整的盘子是很困难甚至不可能,这就好比想通过消息摘要找出报文的过程。
另外,如电文M1与电文M2全等,则有h(m1)=h(m2),如只将M2或M1中的任意一位改变了,其结果将导致h(m1)与h(m2)中有一半左右对应的位的值都不相同。这种发散特性使电子数字签名很容易发现(验证签名)电文的关键位的值是否被篡改。
MD5=Message-Digest Algorithm 5(消息-摘要算法),生成128位Hash值;(32位16进制Hash值)