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