内容基本包括如下各个方面(出自维基百科):git
在说SSL以前介绍相关一些相关的概念,这些东西大学老师都有讲过,就是基本忘光了,没学好啊。算法
Sysmmetric-key algorithm:大数据
中文意思为对称钥算法。对称钥算法是一系列密码算法,它使用同一个密钥去加密明文和解密密文。这个密钥是在进行私密信息交流中,多方间共享的一个secret。正因如此,因此存在多方都有权得到这个密钥,这是它对比public-key cryptgraphy的主要缺点。加密
接下来讲Public-key cryptgraphy:spa
它一样被称为asymmetric cryptography(非对称密码),这里会涉及到一系列的密码算法,而这些算法的特色是须要两个密钥,一个是public(公有的),一个是private(私有的)。这两个密钥是存在必定的数学联系的。公钥用于加密明文或者验证数字签名(digital signature),私密用于解密密文或者建立数字签名。ip
通俗点说,对称与非对称的区别就在因而否使用同一把密钥,public-key algorithm和sysmmetric-key algorithm不须要在多方之间交换同一个密钥。ci
公钥是能够公诸于世的,而私钥只能给那些通过受权的人去读取信息或者进行数字签名,因此问题就来了,怎么进行受权:
文档
消息受权涉及到使用 私钥 去处理 消息 产生一个 数字签名。任何人均可以经过使用公钥去处理这个数字签名进行验证,看获得的结果是否和消息是一致的。成功的话,证实消息在被签名后就没有被修改过(内容不被修改),和除了签名者外没有人恶意进行过签名操做(保证发送者是合法的,而不是恶意篡改者)。这里说到的消息在实际上通常不是要发送的message body自己,而多是对messaga的hash后得出的结果,主要缘由是对大数据进行处理是“高能耗”工做,换成hash值会“低能高效”。get
上面描述反复说到数字签名,什么是数字签名?数学
A digital signature is a mathematical scheme for demonstrating the authenticity of a digital message or document. 数字签名是一种用于证实数字消息或者文档真实性的数学策略。一个合法的数字签名保证有足够的理由让接受者相信消息是由一个已知的发送者建立的,所以发送者不得否定发送过该信息,同时保证消息在运输过程当中不被篡改。
Continue。。。