Linux系统常用的加解密工具:OpenSSL,gpg(是pgp的实现)
加密算法和协议:
对称加密:加解密使用同一个秘钥;
DES:Data Encryption Standard,数据加密标准; ==> 3DES:
AES:Advanced Encryption Standard(128、192、256、384、512)
Blowfish、Twofish、IDEA、RC6、CAST
特性:
1、加密、解密使用同一个密钥;
2、将原始数据分割成固定大小的块,逐个进行加密;
缺陷:
1、秘钥过多;2、密钥分发;
公钥加密:密钥是成对出现
公钥:公开给所有人;pubkey
密钥:自己留存,必须保证其私密性;secret key
特点:公钥加密的数据,只能使用与之配对的私钥解密;反之亦然;
数字签名:让接收方确认发送方身份,发送发用私钥加密签名,接收方用公钥解密确认
秘钥交换:发送方用对方公钥加密对称密钥,发给对方
数据加密
算法:RSA、DSA、ELGamal
公钥交换使用数字证书,需要PKI支持。
单向加密:只能加密,不能解密:提取数据指纹;
特性:定长输出、雪崩效应;
算法:MD5(128bits)、sha1(160bits)、sha224、sha256、sha384、sha512
功能:完整性
密钥交换:IKE
公钥加密:
DH(Deffie-Hellman):
PKI:Public Key Infrastructure,公钥基础设施
签证机构:CA
注册机构:RA
证书吊销列表:CRL
证书存取库:
X.509:定义了证书的结构以及认证协议标准
版本号:
序列号:
签名算法ID:
发行者名称:
有效期限:
主体名称:
主体公钥:
发行者唯一标识:
主体的唯一标识:
扩展信息:
发行者签名:
SSL:Secure Socket Layer
1995:SSL 2.0,Netscape
1996:SSL 3.0
1999:TLS 1.0,ISOC
2006:TLS 1.1 RFC 4346
2008:TLS 1.2
2015:TLS 1.3
SSL/TLS分层设计:
1、最底层:基础算法原语的实现,aes,rsa,md5
2、向上一层:各种算法的实现
3、再向上一层:组合算法实现的半成品
4、用各种组件拼装而成的种种成品密码学协议/软件:tls,ssh
OpenSSL:开源项目
三个组件:
openssl:多用途的命令行工具;
libcrypto:公共加密库;
libssl:库,实现了ssl及tls;