atitit.安全的签名摘要 算法attilax总结

atitit.安全的签名 算法attilax总结

1. MD5 (不推荐)结果是128位二进制,只有转为16进制字符串是32位 1

2. 使用sha1算法加密后的密串长度有40位,相对更安全一些。Sha2安全更高
1

3. CRC32 (一般8位数据) 2

4. SHA-1 会碰撞吗
3

5.   LM-HASH (32个字符) 3

6. NT-HASH值为 (32个字符) 4

1. MD5 (不推荐)结果是128位二进制,只有转为16进制字符串是32位

并且这是一个不可逆的变换过程,要破解只能穷举,难度很大,理论上8位的密码组合有(26字母+10数字+21常用英文符号)的8次方种可能,以现在比较 好的机器机器要算上一年多。MD5加密后的密串长度有16位和32位两种。不过最近MD5听说被破解了(听说还是被我们的国人破掉的,佩服啊!),能很快 碰撞到密码,不过破解机还没有流传出来。

MD5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推...这种加密技术被广泛的应用于Unix系统中,这也是为什么Unix系统比一般操作系统更为

,MD5结果是128位二进制,只有转为16进制字符串是32位

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected]

转载请注明来源: http://blog.csdn.net/attilax

2. 使用sha1算法加密后的密串长度有40位,相对更安全一些。Sha2安全更高

3、SHA1

SHA全称为Secure Hash Algorithm,又叫安全散列算法。SHA是由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布,SHA家族算法有 SHA-1、SHA-224、SHA-256、SHA-384和SHA-512(后四者通常并称SHA2),原理和MD4、MD5相似。SHA可将一个最 大2^64位(2305843009213693952字节)信息,转换成一串160位(20字节)的散列值(摘要信息),是目前应用最广的HASH算 法。同MD5一样,从理论角度,SHA1也不是绝对可靠,目前也已经找到SHA1的碰撞条件,但“实用”的碰撞算法软件还没出现。于是美国NIST又开始 使用SHA2,研究更新的加密算法。

在Microsoft Visual Studio 2005对sha1的使用也很简单,下面是在C#中使用sha1加密字符串的例子:

public string sha1(string str)

{

return System.Web.Security.FormsAuthentication.

HashPasswordForStoringInConfigFile(str, "sha1").ToLower();

}

不过最后还有一个不幸的消息,就是sha1算法已经被破解,国家标准和科技学院(National Institute of Standards and Technology)已经推荐使用sha-256或者sha-512算法

3. CRC32 (一般8位数据)

CRC全称为Cyclic Redundancy Check,又叫循环冗余校验。CRC是目前使用中最老的一种校验算法,它是由W. Wesley Peterson在1961年发表的论文中提出,CRC是种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函數(HASH,把任意长 度的输入通过散列算法,最终变换成固定长度的摘要输出,其结果就是散列值,按照HASH算法,HASH具有单向性,不可逆性),主要用来检测或校验数据传 输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校 验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。

尽管CRC在错误检测中非常有用,但CRC并不能可靠地校验数据完整性,这是因为CRC多项式是线性结构,可以非常容易地通过改变数据方式达到 CRC碰撞,这里给一个更加通俗的解释,假设一串带有CRC校验的代码在传输中,如果连续出现差错,当出错次数达到一定次数时,那么几乎可以肯定会出现一 次碰撞(值不对但CRC结果正确),但随着CRC数据位增加,碰撞几率会显著降低,比如CRC32比CRC16具有更可靠的验证性,CRC64又会比 CRC32更可靠,当然这都是按照ITU规范标准条件下。

正因为CRC具有以上特点,对于网络上传输的文件类很少只使用CRC作为校验依据,文件传输相比通信底层传输风险更大,很容易受到人为干预影响。

补充:虽然目前这几种校验算法都找到了破解条件,但像目前主流使用的MD5、SHA1还是值得信赖的,因为MD5和SHA1都具有高度的离散性,哪怕是只 修改一个字节值都会导致MD5或SHA1值“巨大”变化,从实践角度,不同信息具有相同MD5或SHA1码的可能性非常低,通常认为是不可能的,对于普通 的下载文件或操作系统,想通过简单的修改某个字节或某些字节,又要保证文件名、大小和安装可靠性的前提下,想达到MD5、SHA1碰撞效果也几乎是不可能 的。

 现在需要担心什么

  MD5 会发生碰撞已经是被发现的了,但是我们需要担心吗,我要说的是,目前为止还不用担心,首先要构造 MD5 碰撞是非常难的,理论上字符串越长 MD5 就越不可能相同,并且借助 SHA-1 算法的帮助,双管齐下,也就没有太大问题了,所以现在 MD5 还没有轮到被弃用的时候。

4.   SHA-1 会碰撞吗

  SHA-1 也会发生碰撞,但是几率比 MD5 小的多。

 怎样解决碰撞

  解决碰撞其实可以通过 MD5 和 SHA-1 结合使用来实现。我是这样做的,首先将文件 A 的 MD5 值记为 B 再把 A 的 SHA-1 记为 C,之后用将 B 和 C 相加之后再次运算 MD5 值就好了,MD5 值碰撞的几率已经很小,再结合 SHA-1 的话,基本上就不会发生碰撞的问题出现了。在新的算法普及之前,MD5 还是可以继续使用的。

5.   LM-HASH (32个字符)

LanManager(LM)

(1)Windows下LM Hash值生成原理

假设明文口令是“Welcome”,首先全部转换成大写“WELCOME”,再做将口令字符串大写转后后的字符串变换成二进制串: “WELCOME” -> 57454C434F4D4500000000000000

技巧:可以将明文口令复制到UltraEdit编辑器中使用二进制方式查看即可获取口令的二进制串。

说明:如果明文口令经过大写变换后的二进制字符串不足14字节,则需要在其后添加0x00补足14字节。然后切割成两组7字节的数据,分别经str_to_key()函数处理得到两组8字节数据:

57454C434F4D45 -str_to_key()-> 56A25288347A348A

00000000000000 -str_to_key()-> 0000000000000000

这两组8字节数据将做为DESKEY对魔术字符串“[email protected]#$%”进行标准DES加密

"[email protected]#$%" -> 4B47532140232425

56A25288347A348A -对4B47532140232425进行标准DES加密-> C23413A8A1E7665F

0000000000000000 -对4B47532140232425进行标准DES加密-> AAD3B435B51404EE

将加密后的这两组数据简单拼接,就得到了最后的LM Hash

LM Hash: C23413A8A1E7665FAAD3B435B51404EE

6. NT-HASH值为 (32个字符)

。早期SMB协议在网络上传输明文口令。后来出现"LAN Manager Challenge/Response"验证机制,简称LM,它是如此简单以至很容易被破解。微软提出了WindowsNT挑战/响应验证机制,称之为NTLM

Windows下NTLM Hash生成原理

从IBM设计的LM Hash算法存在几个弱点,微软在保持向后兼容性的同时提出了自己的挑战响应机制,NTLM Hash应运而生。假设明文口令是“123456”,首先转换成Unicode字符串,与LM Hash算法不同,这次不需要添加0x00补足14字节

"123456" -> 310032003300340035003600

从ASCII串转换成Unicode串时,使用little-endian序,微软在设计整个SMB协议时就没考虑过big-endian序,ntoh*()、hton*()函数不宜用在SMB报文解码中。0x80之前的标准ASCII码转换成Unicode码,就是简单地从0x??变成0x00??。此类标准ASCII串按little-endian序转换成Unicode串,就是简单地在原有每个字节之后添加0x00。对所获取的Unicode串进行标准MD4单向哈希,无论数据源有多少字节,MD4固定产生128-bit的哈希值,

16字节310032003300340035003600 -进行标准MD4单向哈希-> 32ED87BDB5FDC5E9CBA88547376818D4

就得到了最后的NTLM Hash

NTLM Hash: 32ED87BDB5FDC5E9CBA88547376818D4

与LM Hash算法相比,明文口令大小写敏感,无法根据NTLM Hash判断原始明文口令是否小于8字节,摆脱了魔术字符串"[email protected]#$%"。MD4是真正的单向哈希函数,穷举作为数据源出现的明文,难度较大。

LM只能存储小于等于14个字符的密码hash,如果密码大于14个,windows就自动使用NTLM对其进行加密了,(这个在LC5里有两种破解方式,所以破解不出来的时候可以换种思路,基本是NTLM的)一般情况下使用PwDump或其他一些hash导出工具(如Cain)导出的hash都有对应的LM和NTLM值,也就是说这个密码位数<=14,如果大于14位那么就只有对应的NTLM hash可用了,这时LM也会有值,但对我们来说没用,不能靠他来查LM彩虹表。

操作系统:对于XP、win2k和win2k3来说,系统默认使用LM进行加密(也可人为设置成NTLM),之后的win2008、win7和Vista禁用了LM,默认使用NTLM,所以不要拿着LM生成的rainbow table去找NTLM的hash值,但是反过来却可以,因为使用LM方式的加密往往会存在一个对应的NTLM hash(如果密码位数<=14的话,系统同时对这个密码使用NTLM加密并存储了NTLM的hash),这时候使用ophcrack的NTLM表查找的就是这个NTLM的hash了,而不是LM的hash。

CRC32、MD5、SHA1算法校验介绍 _ 思齐博客.htm

Windows NT_NTLM 加密 - jackywu1010的专栏 - 博客频道 - CSDN.NET.htm

时间: 2024-10-08 13:14:08

atitit.安全的签名摘要 算法attilax总结的相关文章

Atitit 图像处理30大经典算法attilax总结

1. 识别模糊图片算法2 2. 相似度识别算法(ahash,phash,dhash)2 3. 分辨率太小图片2 4. 横条薯条广告2 5. 图像与图片分类开2 6. 根据肤色归类,根据人物人脸分类.2 7. 其他分类算法2 8. 质量检测: 色偏检测. 亮度检测(曝光不足) 失焦检测 模糊检测  清晰度检测与评价2 9. 图片压缩 图片压缩 图片ocr 调整大小与分辨率 灰度化2 10. 图片叠加 几种叠加方式2 11. 高斯模糊2 11.1. 二值化变换 傅立叶变换 dct变换3 11.2.

Atitit.软件硕士&#160;&#160;博士课程&#160;一览表&#160;attilax&#160;总结

Atitit.软件硕士  博士课程 一览表 attilax 总结 1. Attilax聚焦的领域1 2. 研究生硕士博士课程汇总表1 3. 博士课程3 4. Attilax额外的4 5. 参考4 1. Attilax聚焦的领域 Dsl 语言 ide 类库 框架 数据库 的实现 Debug工具 文本信息的解锁,无损压缩(pdf ,word2html) 图片物体检测与色情图片识别,人脸识别 信息采集,比较,同步工具,信息发布工具 输入法,词库维护工具  翻译机 垃圾文件识别与清理器 快速启动器(at

Atitit 迭代法&#160;&#160;“二分法”和“牛顿迭代法&#160;attilax总结

Atitit 迭代法  "二分法"和"牛顿迭代法 attilax总结 1.1. ."二分法"和"牛顿迭代法"属于近似迭代法1 1.2. 直接法(或者称为一次解法),即一次性的快速解决问题,1 1.3. 最常见的迭代法是"二分法 牛顿法.还包括以下算法1 1.4.  二分法(dichotomie)1 1.5. 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method

Atitit 自然语言处理原理与实现&#160;attilax总结

Atitit 自然语言处理原理与实现 attilax总结 1.1. 中文分词原理与实现 111 1.2. 英文分析 1941 1.3. 第6章 信息提取 2711 1.4. 第7章 自动摘要 3041 1.5. 第8章 文本分类 3191 1.6. 第9章 文本倾向性分析 3641 1.7. 第10章 问答系统 3741 1.8. 第11章 语音识别 4131   1.1. 中文分词原理与实现 11 2.2 查找词典算法 132.2.1 标准Trie树 142.2.2 三叉Trie树 182.2

Atitit &#160;ocr识别原理 与概论 attilax总结

Atitit  ocr识别原理 与概论 attilax总结 1.1. Ocr的过程与流程1 1.2. OCR不同技术细分略有不同,但大概原理是一样的. 即主要技术过程是:二值化(又叫归一化)--------行定位----------字符切分----------字库模型比对(取置信度较高字)---------输出2 1.3. Tesseract 图片布局分析 字符分割和识别2 1.1. Ocr的过程与流程 预处理:对包含文字的图像进行处理以便后续进行特征提取.学习.这个过程的主要目的是减少图像中的

atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结

atitit.nfc 身份证 银行卡 芯片卡 解决方案 attilax总结 1. nfc(近距离无线通讯技术)  1 2. 工作模式 1 3. NFC 蓝牙 红外具体对比如下表: 2 4. TypeA,TypeB和TypeF, 2 5. 身份证阅读器标准和ISO14443(TypeB)国际标 2 6. 参考 3 1. nfc(近距离无线通讯技术) 锁定 这个技术由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体公司).诺基亚和索尼共同研制开发,其基础是RFID及互连技术.近场

Atitit.遍历图像像素点rgb java attilax总结

Atitit.遍历图像像素点rgb java attilax总结 1. 遍历像素点 1 2. 提取一行 1 3. Rgb分量提取 2 4. 其他读取像素 3 5. --code 5 6. 参考 6 1. 遍历像素点 ImgxPicPhotoSplitor.java  atibrow prj public static boolean containsWhiteLine(BufferedImage image) { int heit=image.getHeight(); for(int i=0;i

Atitit 《控制论原理与概论attilax总结

Atitit <控制论原理与概论attilax总结 <控制论> 奠基之作,出自创始人维纳.虽然内容权威,但我认为带有相当强烈的个人色彩,且门槛较高,不适合入门.深入研究控制论必看书籍(但是中译版的序言让我极为反感,愤青勿看). <控制论与科学方法论> 金观涛老师的著作,中西结合,通俗易懂,是一本很好的控制论初级读物,对反馈.稳态以及称球问题均有较深入的讨论. <控制论导论> 个人认为最好的入门书,阐述控制论基本原理的同时巧妙地避开了深奥的数学证明.作者艾什比(Ro

Atitit.python&#160;web环境的配置&#160;attilax&#160;总结

Atitit.python web环境的配置 attilax 总结 1. 下载modpython/1 1.1. 安装python2.5.11 1.2. 安装modpython1 2. 设置py文件的url请求器2 3. www/py/t.py2 4. 访问url  http://localhost/py/t.py/handler2 5. 高级知识2 5.1. 原生(native)mod_python处理器 2 5.2. 那么mod_python到底做了些什么呢?3 6. 参考5 1. 下载mod