密码学之加密算法简记

编码:base64
摘要算法:MD5、SHA-1
对称加密算法:AES、DES、3EDS
非对称加密算法:RSA、DSA、ECC
数字签名:DSA

参考链接:
http://www.cnblogs.com/sunxuchu/p/5483956.html
https://www.zhihu.com/question/20839365

MD5 严格意义上不算加密算法,是摘要算法

百度百科
http://baike.baidu.com/link?url=r_Why3Aaatbp7CTLy3VLEHJv80GU2RJ0kiLiOkbfHLRewa_3Lsr2hMjS72sRtX9XToAertDN20FQXy4ENVv_Mq

消息摘要算法:http://baike.baidu.com/view/2313810.htm#3_1

关键数字:512、448、64、0、1、四轮、28

大端字节序 A=0x01234567,B=0x89ABCDEF,C=0xFEDCBA98,D=0x76543210

1、一般用于客户端对密码MD5加密处理,传给服务器,即使黑客攻击了服务器,明文密码也不会被泄露(服务器的保护)
2、客户端保护(如果黑客通过反编译手段则也有可能攻破),所以单独进行MD5还是可以通过破解网站破解的
所以可以如下方法
1)多次MD5 (黑客逆向解密,还是一样)
2)加密后加盐再加密 (加盐就是在固定位置拼接上一段杂乱的字符串) (有规律性)
破解步骤:解密—》盐有规律性—》去盐 —》解密 明文获得
3)先加密,后乱序 破解难度增加 因为他不知道你怎么换的位置

MD5被冲撞一次的时间

被设计专门用来搜索MD5冲突的机器(这台机器在1994年的制造成本大约是一百万美元)可以平均每24天就找到一个冲突

2004年王小云和他的研发小组通过杂凑冲撞的方式两个不同的明文可得到相同的MD5编码
注意:并非是真正的破解,只是加速了杂凑冲撞

2008年 每几秒就可以找到一对碰撞

AES

百度百科 http://baike.baidu.com/item/aes/5903
加密原理 http://www.2cto.com/article/201112/113465.html
http://www.mamicode.com/info-detail-514466.html

http://ios.jobbole.com/84633/

1、字体代替 类似 密保卡样式
2、行移位
3、列混淆
4、轮密钥加

块加密 轮询

CBC模式 优于 ECB模式

128 密钥和初始向量

192

256 密钥

AES相比同类对称加密算法速度算是非常快,比如在有AES-NI的x86服务器至少能达到几百M/s的速度。安全性在可预见的未来是基本等同的,因为即使是128位也足够复杂无法被暴力破解。现在112位密码还在商业应用,而128位是112位的几万倍,所以在实务中用128位比较划算(稍节约资源)。

AES256比128大概需要多花40%的时间,用于多出的4轮round key生成以及对应的SPN操作。另外,产生256-bit的密钥可能也需要比128位密钥多些开销,不过这部分开销应该可以忽略。

安全程度自然是256比128安全,因为目前除了暴力破解,并没有十分有效的代数攻击方法。

针对具体的AES-256或AES-128的软/硬件实现有特定的攻击方式,不好一概而论。

 AES128和AES256主要区别是密钥长度不同(分别是128bits,256bits)、加密处理轮数不同(分别是10轮,14轮),后者强度高于前者。当前AES是较为安全的公认的对称加密算法。

现代密码学分为对称加密与非对称加密(公钥加密),代表算法分别有DES(现在发展为3DES)、AES与RSA等。非对称加密算法的资源消耗大于对称加密。一般是进行混合加密处理,例如使用RSA进行密钥分发、协商,使用AES进行业务数据的加解密。

base64

百度百科 http://baike.baidu.com/link?url=ar9k3wXhF2nV9mEcyrkIstCwOwQqLxhTsbAWrew4S4ECChz0gxWEUlvOI9EwelWWjROY6ycHZDh31TPFS3jpAa

关于这个编码的规则:
①.把3个字符变成4个字符。
②每76个字符加一个换行符。
③.最后的结束符也要处理。

Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。

为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。

上传图片

RSA

ECC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sailip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值