加密与证书

基本概念:
明文:plaintext, 没有被加密过的内容
密文:ciphertext,已经被加密的内容
算法:algorithm, 通过算法对明文进行加密,如移位,置换
密钥:key,       加密时需要的密码,知道算法和密钥才能解密
加密:encryption,输入密钥后,用算法对内容进行加密
解密:decryptio, 输入密钥后,用算法对内容进行解密

对称算法

对称密钥密码算法(私有密钥算法)
    加密与解密密钥是相同的
    密钥传送非常重要,只能报证内容加密,但不能保证密钥
    明文--私钥--密文--传输--密文--私钥--解密--明文
著名的对称密钥算法:
DES/3DES
IDEA
RC
CAST
AES

非对称算法

非对称密钥算法(公钥密码算法)
    私钥加密使用两个密钥,一个密钥用于加密信息,另一个密钥用于解密,公钥是公开的,私钥用户自己保护,由一对密钥完成
    alice--明文--bob的公钥--密文--传输--密文--bob的私钥--明文-bob
    Diffie-Hellman 密钥的协商和发布
    RSA            密钥的长度512~2048 一般用于数字签名

对称与非对称的比较

非对称更加安全,但速度慢
对称速度快,但密钥只有一个
一般情况在头验证,身份验证时用非对称,在数据加密时用对称算法

PKI

PKI是用于发放公开密钥    公钥基础设施
    CA               生成证书,颁发证书,管理证书
    RA               用户注册,认证
    Directory        查看用户的证书是否有效,过期,增删改查的操

密钥的获得

公钥和私钥是通过CA来颁发的
首先填写身份证,手机号等信息去数字证书中心办理私钥(USB)
公钥是可以在网上公开的,可以通过CA下载
如果A要传给B,A先到网上CA下载B的公钥,然后用B的公钥加密所传送的文件给A,A再用自己的私钥进行解密

数字证书

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。可以理解成公钥
数字签名
明文按照hash算法构成一个简要的摘要,这个摘要用私钥进行加密就形成了我对这个明文的数字签名,因为私钥只有我有,如果这个文件传给别人,别人可以用我的公钥对其进行解密,能修改解密后的文件,但别人不能进行加密,因为没有我的私钥,因此即使你修改了解密后的文件,我再把我加密的后的密文解密就知道你纂改了我的数据
同理这个方法可以用来验证发送方是我本人,因为只有我的公钥才能解我的私钥,说明该文件是由我发出的,并由我加密
数字信封
数字信封是将对称密钥通过非对称加密的结果分发对称密钥的方法,即我用你的公钥来加密我的对称密钥,因为对称密钥加密数据,但传送却有风险,所以用非对称来加密对称,来保证对称密钥的安全

案例:

Alicia女士发一件文件给Samsun先生,Samsun要对其进行解密并验证
1 Alicia 把明文 hash 成了一个摘要1, 再用自己的私钥对其进行加密,生成数字签名alicia
2 Alicia 把明文和数字签名打包用对称密钥进行加密成密文
3 Alicia 再拿Samsun的公钥加密密文和对称密钥行成数字信封
5 Alicia 再把这个密文和数字信封传给Samsun
6 Samsun 首先用自己的私钥解开信封,得到了对称密钥
7 Samsun 用对称密钥解开了密文,得于明文和数字签名
8 Samsun 把明文hash一下,得于摘要2
9 Samsun 为了保证明文的完整性,再用 Alicia的公钥解开了数字签名,得到原本的摘要1,进行对比,以保证明文的正确性

HTTPS过程


1 client 发一个url, https://www.aaa.com 到 server
2 server 把自己的公钥传给client进行验证,即登上去会弹出一个框
3 client 验证通过,client生成一个对称密钥,并且server的公钥进行加密传给server
4 server 接到用自己公钥加密的报文,用私钥解开得到对称密钥,并把内容用对称密钥加密传给client
5 client 有对称密钥能对报文进行解解,浏览



概念很多,懂了就记下来,估计还得忘






你可能感兴趣的:(证书,公钥,PKI,ca)