散列函数是一种加密形式,它可在获取明文输入后将其转换为固定长度的加密输出(称为“消息摘要”)。此摘要是一组固定长度的位,这些位用作原始消息的惟一“数字指纹”。如果原始消息发生变化,并且重新用散列函数来处理,则会产生不同的签名,因此散列函数可用于检测文档是否已经过更改和经过仿造。
散列函数可保证消息的完整性,从而向接收方保证消息的内容没有经过更改或破坏。
散列函数是单向的,也就是说,计算消息摘要比较容易,但将消息摘要再转换回原始明文(比如设想要将打碎的南瓜再完全恢复为它原来的面目)就是非常困难的。下面列出了散列函数的各个特征:
散列函数应不可能使两个不同的消息产生同样的消息摘要,即散列是防冲突的。只要在一个消息中改变一个数字,就会产生一个完全不同的消息摘要,这称之为雪崩效应。
散列函数应不可能产生具有某些预想或预先定义的输出的消息(目标消息摘要)。
散列函数的结果应不可能反转。这一点是可能的,因为一个消息摘要可能由几乎无数个消息产生。
散列算法本身不需要保密,它可向公众公开,它的安全性是**于能够产生单向散列值这一点的。
所产生的消息摘要是固定长度的。一个很短的消息的散列值与一整套百科全书的散列值将产生长度相等的摘要。
散列函数可以与密钥一起使用,也可以不与密钥一起使;如果使用了密钥,则可能会同时使用对称密钥(单密钥)和不对称密钥(公钥/私钥对)。对称密钥要求加密和解密过程使用相同的密钥,这样,密钥必须只能被加解密双方知道,否则就不安全。这种技术安全性不高,但是效率高。
不对称密钥的加密和解密使用不同的密钥,分别叫做“公钥”和“私钥”。顾名思义,“私钥”就是不能让别人知道的,而“公钥”就是可以公开的。这两个必须配对使用,用公钥加密的数据必须用与其对应的私钥才能解开。
这种技术安全性高,得到广泛运用,但是效率太低。
md-5 它是由rsa公钥加密方案发明人之一ron rivest设计的一个散列函数。md-5可以把不同长度的数据块进行暗码运算成一个128位的数值。目前人们已经了解到md—5具有一些缺点,因此应尽量避免使用它。
通常建议使用sha-1。
sha-1 (安全散列算法-1) sha-1是一种类似于md—5的算法,该算法旨在与数字签名标准(dss)配合使用。美国的两个机构nist(国家标准和技术研究所)和nsa(****局)负责sha-1。 sha-1可接纳一个和多个512位(64字节)的数据块,并生成一个160位(20字节)的散列结果,这种较长的输出一般视为比md-5更安全。
为md-5添加密钥是一种使用md-5的方法,其基本意思是发件人将随机生成的密钥追加到消息的末尾,然后对消息和密钥的组合形式进行散列函数处理,从而创建一个消息摘要,接下来,从消息中删除该密钥,并用发件人的私钥对该密钥进行加密,然后将消息、消息摘要和加密的密钥一起发送到收件人处,随后收件人用发件人的公钥打开密钥(这样可以验证该消息是否确实是来自发件人的),然后收件人在消息中追加密钥,并运行与发件人相同的散列函数,此时产生的消息摘要应与随消息一起发送的消息摘要相匹配。
散列函数将消息和密钥组合在一起后产生的**称为消息验证**或mac。 mac是在消息交换过程中的输入与为双方提供的密钥的组合的“指纹”或“消息摘要”。消息验证**或 mac 提供类似于数字签名的验证服务,但它使用一个共享的对称密钥。
mac只对那些拥有签名/验证密钥的消息有意义。
一种称作hmac的mac类使用keyed hash。hmac 将对称密钥与哈希前的消息连接起来。因此,只有密钥持有者才能计算消息摘要。
计算mac的另一种方法涉及使用密码块链接 (cipher block chaning,cbc) 模式中的块密码对消息进行对称加密。在该模式中,每个明文块都与前面的密文相结合(进行 xor 或二进制加)。最终的密文是 mac。
最常用的实施是在 cbc 模式中使用 des 算法。
10 二次函数
1 下列函数,4 在下列函数表达式表示是的反比例函数的有图象象位于第。一 三象限的有 在图象所在象限内,的值随的增大而增大的有2 在同一直角坐标系下,直线y x 1与双曲线的交点的个数为3如图,是某几何体的三视图及相关数据,则它的体积是 4 已知反比例函数的图象上有两点a b 且,则的值是5 点a ...
10二次函数
10 二次函数。一 基础训练。1 二次函数图像的对称轴方程是。2 已知函数的定义域为,值域为,则的值为 3 函数的单调递增区间是。4 函数 的值域是。5 若关于的方程的一个根大于1,另一个根小于1,则实数的取值范围是。6 关于的方程有两个负根的充要条件是两根都大于的充要条件是。7 若二次函数定义在闭...
10函数与一次函数
一 选择题。1.2013湖北黄冈,8,3分 一列快车从甲地驶往乙地,一列特快车从乙地驶往甲地,快车的速度为100千米 小时,特快车的速度为150千米 小时,甲乙两地之间的距离为1000千米,两车同时出发,则图中折线大致表示两车之间的距离y 千米 与快车行驶时间t 小时 之间的函数图象是 abcd 答...