安全散列算法 Secure Hash Algorithm,缩写为SHA 是一个密码散列函数家族,SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512 由美国国家安全局NSA 设计
虽然至今尚未出现对SHA-2有效的攻击,它的算法跟SHA-1基本上仍然相似;因此有些人开始发展其他替代的杂凑算法
2005年,Rijmen和Oswald发表了对SHA-1较弱版本(53次的加密循环而非80次)的攻击:在2的80次方的计算复杂度之内找到碰撞
2005年二月,王小云、殷益群及于红波发表了对完整版SHA-1的攻击,只需少于2的69次方的计算复杂度,
就能找到一组碰撞。(利用生日攻击法找到碰撞需要2的80次方的计算复杂度。)
非对称加密通常以RSA(Rivest Shamir Adleman)算法为代表
一个算法应该具有以下五个重要的特征:
(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止;
(Definiteness)
算法的每一步骤必须有确切的定义;
(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
(Effectiveness)
算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
原文链接:https://www.cnblogs.com/KFKang/p/11160181.html