密码学
01密码学概述
密码学的发展
密码编码学
编码与加密?
编码为一类映射的关系(一一映射)
加密为一类算法(有算法(公开的),密钥(不可泄漏))
明文 ------> 密文
plain text cipher text
对称密码和不对称密码算法
对称密码算法优点:加密解密速度快
缺点:密钥不能泄漏(除了AES,因为密钥很长,目前无机器能够在短时间内破解)
对称密码算法常考DES
非对称密码算法(Asymetric cipher):
加密密钥和解密密钥不同,从一个很难退出另一个。又叫共要密码算法(Public-key cipher)。加密密钥可以公开,称为公开密钥(public key),简称公钥;解密密钥必须保密,称为私人密钥(private key),简称私钥。
如RSA,ECC,ElGamal
非对称密码算法优点:速度慢(比对称慢1000倍)
非对称密码算法常考RSA
摘要算法:
数据摘要算法为密码学算法里非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名,数据完整性校验等功能,由于其不可逆性,有时候会被用作敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法,散列算法,常见的摘要算法有MD5和SHA。
在互联网上进行大文件传输时,都要得利用MD5算法产生一个与文件匹配的,存储MD5值的文本文件(后缀名为.md5或.md5sum),这样接收者在接收到文件后,就可以利用与SFV类同的方法来检查文件完整性,绝大多数大型软件公司或者开源组织都以这类方式来校验数据完整性,而且部分操作系统也利用此算法来对用户密码进行加密,另外,它也是目前计算机犯罪里数据取证的最常用算法。
SHA里SHA1的应用较为广泛,主要应用于CA和数字证书里,另外在互联网里流行的BT软件里,也是利用SHA1来进行文件校验的