TLS/SSL 协议详解 (2) SSL有关的密码学原理
来源:互联网 发布:mac锐捷客户端已损坏 编辑:程序博客网 时间:2024/05/16 20:31
1:对称加(解)密
加密和解密使用同样的密钥。举个例子就知道了。假设现在有一段明文:
0010 1101 1110 0101,以及一个密钥:0111,我们定义加密方式是“异或”,4 bit一加密。那么0010 1101 1110 0101 最终将会转换成 0101 1010 1001 0010。
如果我们想要解密,那么只需要将0101 1010 1001 0010与0111异或即可,
得到结果0010 1101 1110 0101,即得到加密前的明文。总的来说,加解密使用同一密钥的,我们就称之为“对称加(解)密”。
2:非对称加(解)密
非对称加密较之前的对称加密而言,更为复杂,涉及到了例如欧拉公式、费马小定理、中国剩余定理等众多的数学基础,但是简单的来讲,所谓非对称加密,就是加密和解密使用的不是同一个密钥,比如现在有一对密钥(Pubkey,Prikey),
Pubkey称之为公钥,Prikey称之为私钥,所谓“非对称”性:
(1):使用Pubkey加密的数据,只能用Prikey解密。
(2):使用Prikey加密的数据,只能使用Pubkey解密。
只要Pubkey和Prikey之间满足一定的数学关系就能达到这种对称性,而这种数学关系,即不能从Pubkey推导出Prikey,也不能从Prikey推导出Pubkey。
我们将在SSL高级篇中,详细讲如何使用数学来构造Pubkey和Prikey,但在本文中,我们仅仅讲怎么灵活使用这种非对称的特性,来实现SSL的三种功能。
非对称加解密在证书验证,密钥交换的地方会用到,后面会讲到。
3:摘要
对于摘要算法,大家比较熟悉的就是MD5、SHA,这些都是摘要算法。摘要算法是一种不可逆的算法,所以一般来说摘要算法不能算作加密算法。
举个例子,来看看什么是摘要算法,以及摘要算法的特点是什么。
Data1 = “1234567831315641631512312” (26字节)
MD5(Data1) = d9a70e89bc06620a80ce383e0b0fc77a (16字节)
Data2 = “1234567831315641631512313” (26字节)
MD5(Data2) = 907be2e64b0de423f671b223fec9d31c (16字节)
Data3 = “31315641631512” (15字节)
MD5(Data3) = 2da9917d1a5a134ee204465118a67b2c (16字节)
我们很容易总结出摘要算法的特点:
(1):不同的数据,即使是一字节改变,其摘要的结果变化非常大。
(2):无论摘要的输入长度是多少,其输出是固定长度,对于MD5而言输出16字节,对于SHA1而言,输出20字节。
(3):无法从摘要的结果中得出原文。只有输入相同的明文数据经过相同的摘要算法才能得到相同的结果。
其实摘要算法一直伴随着大家。比如Linux系统,它不会把你root账号的密码明文的存到文件系统或者内存中的,它保存的是密码摘要的结果。比如你的密码是“qq123”,那么在Linux系统中,保存的是“5683465989c338e48b9de8685d36bdeb”,甚至连Linux自己都不知道你原始设置的密码是什么。那么当你输入Linux系统密码的时候,Linux如何验证你输入的是否正确呢?很简单,如果你输入qq123,Linux会对其做摘要,摘要的结果就是“5683465989c338e48b9de8685d36bdeb”,Linux对比摘要结果和自己保存的原始密码摘要的结果,发现一样,那么认为你输入对了。
- TLS/SSL 协议详解 (2) SSL有关的密码学原理
- TLS/SSL 协议详解 (4) 运用密码学原理构建安全信道2
- TLS/SSL 协议详解(3) 运用密码学原理构建安全信道1
- TLS/SSL 协议详解 (5) 运用密码学原理构建安全信道3
- SSL/TLS 协议详解
- SSL/TLS 协议详解
- SSL/TLS 协议详解
- SSL/TLS协议详解
- SSL/TLS 协议详解
- SSL/TLS 协议详解
- SSL/TLS 协议详解
- SSL/TLS 协议详解
- SSL/TLS原理详解
- SSL/TLS原理详解
- SSL/TLS原理详解
- SSL/TLS原理详解
- SSL/TLS原理详解
- SSL/TLS原理详解
- git使用(常用操作)
- 时钟同步提示:ntpdate[21931]: no server suitable for synchronization found
- UVA 729
- 日常学习总结
- 基于最少使用频次的LRU,LFU缓存淘汰算法
- TLS/SSL 协议详解 (2) SSL有关的密码学原理
- android和js互调
- android源码在线查看
- TCP/IP协议族(二) HTTP报文头解析
- Nordic 51822 烧录bootloader 后,需要OTA一次,才能启动App解决办法
- SQL CONCAT函数
- PostgreSQL新手入门
- UVA 10014
- [NOIP2011] 观光公交解题报告