TLS_笔记

来源:互联网 发布:虚拟现实 大数据 编辑:程序博客网 时间:2024/06/03 21:46

参考文章:

https://hpbn.co/transport-layer-security-tls/

openssl简单使用:http://wdllife.blog.51cto.com/6615958/1609756/


对称加密:

优点:最快速最简单,加密与解密使用相同的密钥。通常使用较小的密钥,一般小于256bit。

缺点:密钥的管理与分配,在密钥的发送过程中,有很大的风险被黑客拦截。(通常做法是将对称加密的密钥进行非对称加密,并传送给对方


非对称加密:

优点:非常安全,使用一对密钥,公钥与私钥,私钥只由一方安全保管不能外泄,而公钥可以发送给任何人。使用其中一个密钥加密,另一个密钥解密。

常用非对称加密算法是RSA算法

缺点:非常慢


常用做法: 将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥。然后双方使用对称密钥作为session key。


[关于Base64编码]

通常用于电子邮件数据,X.509公钥证书等

存在原因:计算机任何数据都是按照ASCII码存储的,而ASCII码的128-255之间是不可见字符。但网络传输中,不同该设备对不可见字符可能做错误处理,所以先做Base64编码,将所有字符转换成可见字符,减少出错。

将所有数据比特流,取6bit为一组(最大64),得到可见字符,如此下去,完成编码。

特点:

1、标准base64只有64个字符(英文大小写,数字和+ /)以及用作后缀等号

2、把3个字节变成4个可打印字符,所有base64编码后的字符一定能被4整除

3、等号一定用作后缀,且数目一定是0个 1个或者2个,如果原文长度不能被3整除,base64要在后边添加\0凑齐3n个,为了正确还原,添加了几个\0就加上几个等号

4、base64不是加密,而是编码转换


[openssl简单使用]

1、对称加密

工具:gpg,openssl enc

算法:DES,DES3,AES,Blowfish,Twofish,RC6,idea,CAST5

# openssl enc -des3 -a -salt -in /path/from/somefile -out /path/to/somecipherfile# openssl enc -d -des3 -a -salt -in /path/from/somecipherfile -out /path/to/somefile-a  base64 process the data. 基于base64来处理数据-salt  use a salt in the key derivation routines. This is the default.-in 指定输入文件   -out指定输出文件



2、单向加密

算法:md5:128bits sha1:160bits  sha256  sha384  sha512

加密工具:md5sum,sha1sum,openssl dgst,chsum

# openssl dgst [-md5|-sha1] [-out /path/to/filename] /path/from/somefile
使用不同的工具用相同的加密算法加密后得到的特征码是一样的



3、生成随机数做salt

 # openssl rand -base64|-hex  num


4、生成私钥




从私钥中抽取公钥

#openssl rsa -in /path/from/private_key_file  -pubout