TLS学习系列之一:基本概念
来源:互联网 发布:linux翻墙工具 编辑:程序博客网 时间:2024/06/08 14:05
伴随着到处全网HTTPS的推广,有必要理解下其底层依赖的TSL协议,这是其安全的基石。然而在学习TLS的协议时,一个难点在于要理解很多密码学的概念,而很多像我一样的初学者在遇到这些时都很茫然,所以由必要先了解一些密码学的基本知识。
两种密码体制
- 对称秘钥体制
使用对称密码体制的双方都拥有相同的秘钥,任何一方加密的数据都可由对方进行解密,因此如果任何一方的秘钥泄露,则数据将无法保证其安全性。常用的对称密码方案有:DES,AES等分组加密方式,以及RC系列流式加密方式。 - 公开秘钥体制
公开密码体制使用一对秘钥,其中一个秘钥可以对外公开,称为公钥,另一个秘钥需要秘密保存,称为私钥。常见的公开秘钥方案有:Elliptic curve cryptography(ECC), RSA,ElGamal等。
秘钥交换方案
- DH方案
即Diffie–Hellman key exchange,基于有限域上的离散对数难题,允许通信双方在不安全信道上建立共享秘钥。 - RSA方案
RSA用作秘钥交换主要是利用”公钥加密的数据只能由对应的私钥进行解密”这个特点,而私钥由对方秘密保管,故外人无法知晓传递的共享秘钥。
常见的密码学名词
- DES: Data Encryption Standard,属于分组加密方式,采用64bit的秘钥,曾作为对称秘钥的代表红极一时,被广泛使用,后因秘钥长度过短导致安全性降低,被逐渐废弃。随后衍生出2DES,3DES(表示两重DES,三重DES),采用长度更长的秘钥,安全性也大为增强。不过后来2DES也有安全性问题,因而现在还在使用的是3DES。
- AES: Advanced Encryption Standard,主要是用来替换DES,秘钥长度可选128/192/256 bit,为现在最广泛使用的对称加密方案。
- RSA: 公开秘钥方案的典型代表,目前得到广泛使用,用于签名及秘钥交换等场合,其安全性基于大整数的素数分解难题。
- DSA:数字签名算法,源于ElGamal,虽属于公开秘钥体制,但却只能用于签名的场合,不能用于加解密。原因在于其设计之初的目标就定位于快速的签名,因而不具备类似RSA那样加解密可逆的特点。
- DH: 也即Diffie–Hellman key exchange,也属于公开秘钥体制,但是主要用于在不安全的信道上建立共享秘钥。DH目前作为主要的秘钥交换方案被广泛使用,但其有一个致命缺点就是容易受到中间人攻击(man in the middle),因此,实际使用时必须结合身份认证方案进行。
- ECC: 即Elliptic Curve Cryptography, 属于公开秘钥体制,其安全性基于椭圆曲线上的离散对数难题,其相对RSA的优势在于可以用更少的秘钥长度获得相同的安全性能。
- ECDH: DH方案的一个变种,基于ECC,目前作为秘钥交换的主要方式被广泛使用。
- ECDSA: DSA方案的一个变种,基于ECC,目前也作为身份认证的主要方案被广泛使用。
- ECB/CBC:这些属于分组加密方案中的分组操作模式,主要是定义诸如分组不足如何padding,如何反复的作用于其他分组等等。
阅读全文
0 0
- TLS学习系列之一:基本概念
- Stanford机器学习系列之一:机器学习基本概念
- 【经典转载】Linux进程学习系列之一 基本概念
- 数据库学习之一 - 基本概念
- 活动目录系列之一:基本概念
- [VB学习中]之一:基本概念
- Unreal 学习笔记之一-基本概念
- PKI学习系列-基本概念
- PKI学习系列-基本概念
- PKI学习系列-基本概念
- UML复习系列之一(基本概念)【原创】
- 我的测试系列之一:测试基本概念
- 二叉树系列之一(基本概念)
- Java基础学习笔记及心得——数据库系列之一,数据库基本概念
- gcc学习系列之一
- python学习系列之一
- Java学习系列之一
- 学习Gtkmm系列之一
- codeforces-165C-Another Problem on Strings
- python:使用requests和bs4爬去豆瓣图书信息
- python3 利用tcp实现文件夹的远程传输
- 【NOIP2017DAY2T3 【NOIP2017提高组正式赛】列队 】(动态开点+n棵线段树)
- 堆排序算法实现 Python
- TLS学习系列之一:基本概念
- 匠人之心,成就真正Python全栈工程师
- PAT (Basic Level) Practise (中文)1074. 宇宙无敌加法器(20)
- 160个练手CrackMe-027
- 中间人攻击
- 51talk-8 Hold on, please
- 《PHP之正则表达式实战及正则工具类封装》
- tensorflow
- 一.网络OSI七层模型