RainbowCrack是PhilippeOechslin更快的时间记忆权衡技术的一般实现。它用彩虹表破解哈希
RainbowCrack使用时间-内存权衡算法来破解哈希值。它不同于暴力哈希破解者。
一个强力哈希破解器生成所有可能的明文并在运行中计算相应的哈希值,然后将哈希值与要破解的哈希值进行比较。找到匹配后,找到明文。如果测试了所有可能的明文并且未找到匹配,则找不到明文。使用这种类型的散列破解,所有中间计算结果都将被丢弃。
时间记忆权衡哈希破解者需要预先计算阶段,此时所选择的哈希算法,字符集,明文长度内的所有明文/哈希对都被计算并且结果存储在称为彩虹表的文件中。进行这种计算是耗时的。但是一旦完成一次预计算,存储在表中的哈希就会被破解,其性能比蛮力破解者好得多。
RSA不对称的公私密钥密码系统的概念归功于WhitfieldDiffie和MartinHellman,后者于1976年发表了这一概念。他们还引入了数字签名并试图应用数论。他们的公式使用了一个共同秘密密钥,它是从一些数字的取幂创建的,以一个素数为模。然而,他们留下了实现单向函数的问题,可能是因为当时没有很好地研究因子分解的困难。
麻省理工学院的RonRivest,AdiShamir和LeonardAdleman在一年的时间里做了几次尝试,创造了一个难以反转的单向函数。作为计算机科学家,Rivest和Shamir提出了许多潜在的功能,而Adleman作为一名数学家,负责发现他们的弱点。他们尝试了许多方法,包括“基于背包”和“置换多项式”。有一段时间,他们认为由于矛盾的要求,他们想要实现的目标是不可能的。1977年4月,他们在学生家里度过逾越节,喝了大量的Manischewitz午夜左右回到家中的葡萄酒。Rivest,无法入睡,躺在沙发上,带着数学教科书,开始思考他们的单向功能。他花了剩下的时间将他的想法正式化,并且他在黎明时分准备了大部分论文。该算法现在称为RSA-它们的姓氏的首字母与他们的论文的顺序相同。
CliffordCocks是一位为英国情报机构政府通信总部(GCHQ)工作的英国数学家,于1973年在内部文件中描述了一个等效系统。然而,考虑到当时需要实施它的相对昂贵的计算机,RSA是被认为主要是好奇心,据公开所知,从未被部署过。然而,由于其绝密的分类,他的发现直到1997年才被揭示。
总结:rsa是非对称算法,破解需要找到对应极大值素数,而这在目前计算机上是没法完成的,特别是2048位以上,破解只能靠因式分解。彩虹表直接对应hash查找,只需要生成足够的hash对应表就可以找到密码,而密码的可能性数量和密码长度有关,在一个可控范围内