Hash, md5,sha,mac
2013-10-13 23:20
190 查看
信息安全
信息安全面临两大基本攻击:
1. 被动式攻击(获取消息的内容、业务流分析),解决靠加密,解密
我就理解成抢银行或者劫运钞车,就得想办法不让人抢到
2. 主动攻击 (假冒、消息的篡改、业务拒绝),解决靠消息认证
我就理解成造假钞,就想办法让假钞能被认出来
====================================
Hash(说散列,说哈希,都是它)
Hash是单项散列函数,这个是一个单项密码体制,什么是单项密码体制,我也不知道。但是有人说,Hash是一种安全服务最好的方法,针对的是数据完整性确认和数据来源的真伪鉴定。Hash是从明文到密文的不可逆函数,就是说,从明文可以生成密文,但是从Hash产生的密文是还原不出原来的明文的。有的地方也说是单向密码。
Hash函数H(M)作用于一个任意长度的消息M,返回一个固定长度的散列值h.
h = H(M), 这个h是M的“数字指纹”,而且是M独一无二的“数字指纹”,能保证数据的完整性和唯一性。
Hash其实就是把任意长度的输入,变成固定长度的输出,这个输出就叫散列值。就好像你不管多少米放锅里,烧好了就是一碗米饭,不多也不少,固定的。
====================================
md5和sha1
md5和sha1都是从md4发展来的。
MD5 SHA-1
分组长度 512bits(64bytes) 512bits(64bytes)
摘要长度 128bits(16bytes) 160bits(20bytes)
循环中的步骤 64 80
报文最大长度 无穷大 2^64 -1
基本逻辑函数 4 4
结构形式 little-endian big-endian
这里面最重要的区别就是SHA1比MD5长32bit(4bytes),
另外sha256输出256bit(32bytes), 还有sha244输出244bits(靠,不能整除啊,几个byte啊?),sha512输出512bit(64bytes)
=================================================
mac和md5
mac和md5主要区别在于有没有密钥。mac有密钥,md5没有密钥(一,sha有密钥吗?)
md5是文件和md5一起传过来,md5就当是个校验和,拿到东西后,给文件算个md5,看和传过来的md5是不是一样,一样对了,不一样就不对。
mac是数据(文件)加密后(如des,3des)算mac值,mac计算的时候还要用个密钥。
==============================================
base64严格的说属于编码格式,不是加密算法。这个东西是双向的。
md5(message digest algorithm 5, 信息摘要算法)
sha(secure hash algorithm, 安全散列算法)
hmac(hash message authentication code, 散列消息鉴别码)
DSA(digital signature algorithm, 数字签名)
ECC(elliptic curves cryptography, 椭圆曲线密码编码学)
信息安全面临两大基本攻击:
1. 被动式攻击(获取消息的内容、业务流分析),解决靠加密,解密
我就理解成抢银行或者劫运钞车,就得想办法不让人抢到
2. 主动攻击 (假冒、消息的篡改、业务拒绝),解决靠消息认证
我就理解成造假钞,就想办法让假钞能被认出来
====================================
Hash(说散列,说哈希,都是它)
Hash是单项散列函数,这个是一个单项密码体制,什么是单项密码体制,我也不知道。但是有人说,Hash是一种安全服务最好的方法,针对的是数据完整性确认和数据来源的真伪鉴定。Hash是从明文到密文的不可逆函数,就是说,从明文可以生成密文,但是从Hash产生的密文是还原不出原来的明文的。有的地方也说是单向密码。
Hash函数H(M)作用于一个任意长度的消息M,返回一个固定长度的散列值h.
h = H(M), 这个h是M的“数字指纹”,而且是M独一无二的“数字指纹”,能保证数据的完整性和唯一性。
Hash其实就是把任意长度的输入,变成固定长度的输出,这个输出就叫散列值。就好像你不管多少米放锅里,烧好了就是一碗米饭,不多也不少,固定的。
====================================
md5和sha1
md5和sha1都是从md4发展来的。
MD5 SHA-1
分组长度 512bits(64bytes) 512bits(64bytes)
摘要长度 128bits(16bytes) 160bits(20bytes)
循环中的步骤 64 80
报文最大长度 无穷大 2^64 -1
基本逻辑函数 4 4
结构形式 little-endian big-endian
这里面最重要的区别就是SHA1比MD5长32bit(4bytes),
另外sha256输出256bit(32bytes), 还有sha244输出244bits(靠,不能整除啊,几个byte啊?),sha512输出512bit(64bytes)
=================================================
mac和md5
mac和md5主要区别在于有没有密钥。mac有密钥,md5没有密钥(一,sha有密钥吗?)
md5是文件和md5一起传过来,md5就当是个校验和,拿到东西后,给文件算个md5,看和传过来的md5是不是一样,一样对了,不一样就不对。
mac是数据(文件)加密后(如des,3des)算mac值,mac计算的时候还要用个密钥。
==============================================
base64严格的说属于编码格式,不是加密算法。这个东西是双向的。
md5(message digest algorithm 5, 信息摘要算法)
sha(secure hash algorithm, 安全散列算法)
hmac(hash message authentication code, 散列消息鉴别码)
DSA(digital signature algorithm, 数字签名)
ECC(elliptic curves cryptography, 椭圆曲线密码编码学)
相关文章推荐
- C/C++使用POST方式进行抓取
- STL map和multimap型容器常用的成员
- Accelerated C++ Chapter7 使用关联式容器
- LeetCode (N)
- IO口模拟SPI总线
- android之XmlSerializer序列化XML(写入)
- Jquery swf文件播放
- extern关键字
- struts2的图片流操作
- 编程之美-快速寻找满足条件的2 个数
- 生物信息学 第一课 什么是生物信息学
- 简单实用的在线作图工具——ProcessOn
- Google 地图 API 申请教程
- this到底是何方神圣
- c快排泛型
- 2012年全国计算机专业大学排名
- shell 随机密码
- JS 网页 音乐播放
- offsetLeft,Left,clientLeft的区别
- 数独求解(回溯)