SHA加密摘抄知识

安全散列算法  Secure Hash Algorithm,缩写为SHA 是一个密码散列函数家族,SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512 由美国国家安全局NSA 设计

曾被视为是MD5(更早之前被广为使用的杂凑函数)的后继者,SHA-1的安全性如今被密码学家严重质疑,

虽然至今尚未出现对SHA-2有效的攻击,它的算法跟SHA-1基本上仍然相似;因此有些人开始发展其他替代的杂凑算法

2005年,Rijmen和Oswald发表了对SHA-1较弱版本(53次的加密循环而非80次)的攻击:在2的80次方的计算复杂度之内找到碰撞

2005年二月,王小云、殷益群及于红波发表了对完整版SHA-1的攻击,只需少于2的69次方的计算复杂度,

就能找到一组碰撞。(利用生日攻击法找到碰撞需要2的80次方的计算复杂度。)

FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法

 

加密

加密技术包括两个元素:算法和密钥

文本与密钥结合  密钥加密技术密码体制分为对称密钥体制和非对称密钥体制两种

对称加密以数据加密标准(DES,Data Encryption Standard)算法为典型代表

非对称加密通常以RSA(Rivest Shamir Adleman)算法为代表

对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。

算法

是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

一个算法应该具有以下五个重要的特征:

有穷性

(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止;

确切性

(Definiteness)
算法的每一步骤必须有确切的定义;

输入项

(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

输出项

(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;

可行性

(Effectiveness)
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。

 

posted @ 2019-07-09 20:14  丛林绝境  阅读(376)  评论(0)    收藏  举报