您的位置:首页 > 其它

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, 椭圆曲线密码编码学)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: