算法是否可逆
1. 下列四个有关算法的说法中,正确的是()①算法的各个步骤是可逆的 ②算法执行后一定得到确定的结果
由算法的概念可知:求解某一类问题的算法不是唯一的,算法的各个步骤是不可逆的,所以①不正确.
算法的概念可知:算法是不唯一的,有限步,结果明确性,②③④是正确的.
故选A.
2. 下面3个关于算法的叙述:(1)一个程序的算法步骤是可逆的;(2)完成一件事情的算法不止一种;(3)设计
由题意(1)一个程序的算法步骤是可逆的;此叙述不正确,算法程序一般不可逆;(2)完成一件事情的算法不止一种;此叙述正确,完成一件事件可能有多种方法,则其算法不唯一;(3)设计算法要本着简单方便的原则,此叙述正确,算法的优劣就是要看设计的算法是否简单,方便使用.综上,(2)、(3)两个叙述是正确的故答案为(2)、(3)
3. hash算法是不可逆的吗
hash 算法是单向密码体制,是不可逆。
4. hash算法可逆吗
个人觉得有的是可逆的,比如加密算法也是一种hash算法,它就必须是可逆的
5. 为什么哈希算法是不可逆的
这个HASH算法不是大学里数据结构课里那个HASH表的算法。这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突。所谓不可逆,就是当你知道x的HASH值,无法求出x;所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。这两条性质在数学上都是不成立的。因为一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,它们的hash值都相同。MD5和SHA做到的,是求逆和求冲突在计算上不可能,也就是正向计算很容易,而反向计算即使穷尽人类所有的计算资源都做不到。我觉得密码学的几个算法(HASH、对称加密、公私钥)是计算机科学领域最伟大的发明之一,它授予了弱小的个人在强权面前信息的安全(而且是绝对的安全)。举个例子,只要你一直使用https与国外站点通讯,并注意对方的公钥没有被篡改,G**W可以断开你的连接,但它永远不可能知道你们的传输内容是什么。
6. 关于加密算法加密后不可逆的疑惑
只要是不太差的加密,都是不可逆的。
加密的主要手段有混淆与信息丢失。
前者加入大量的可能性组合,后者则丢弃了原加密的某一些内容,来掩饰加密算法。
要知道的是不可逆加密,不是为了获取原文,而是为了验证。
举个最简单的不可逆加密:
对于加密前的字符串,可以选取一方法数字化,假如数字化为8位。
ABCDEFGH 是个8位数,然后通过加密算法,让它乘上N次方,取最后8位,再减掉M,就得出一个数字。
然后在由生成随机8个数字,按预设的方法这8位数里插入,即可生成一个16位的加密字符串。
将16位字符,按一定的码表(如果按a→z,也容易猜测,这里也是一层加密,即混序码表)进行替换成字母。
如第一位按字母表进行替换,第2位,按第一位开始接下去计算的位数字母替换,就能保证用到26个字母。
即可生成16位加密后的字母密码。
而且加密后的字符是不能还原回去的。
甚至可以是更多的数字,按照预设的方式混乱加密后的字符,进行干扰。
输入16位密码解密时,先去除预设的8位干扰码,逆向换算后,得出字符,进行比较即可。
此加密方法较为简单,只是一个思路。
7. 请问SHA1加密算法也是不可逆的吗
是的,同MD5一样都是不可逆的加密算法。
安全性的碰撞对比:
MD5为2^64,sha1为2^60。这么你可能不理解,通俗的讲就是每2^64个样本中能找到两个MD5相同的值,sha1类似。但这只是理论,从实际样本取样的情况,要比这个值小很多。
现在的MD5和sha1加密都用暴力破解,就算拿不到你的原始串,也是很容易被取出来的。