openssl
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl相关的知识,希望对你有一定的参考价值。
OpenSSL
加密算法和协议:
对称加密:加密和解密使用同一个密钥;
DES:data encryption standard
56位秘钥
(已淘汰)
3DES:
AES:Advanced(128bits,192.256,384,512)
Blowfish
Twofish
IDEA
RC6
CAST5
特性;
1.加密和解密使用同一个密钥;
2.将原始数据分隔成固定大小的块,逐个进行加密;
缺陷:
1.密钥过多
2.密钥分发
公钥加密:
公钥:公开给所有人:pubkey
私钥:自己留存,必须保证其私有性;
特点:用公钥加密的数据,只能使用与之配对的私钥解密,反之亦然
数字签名:主要在与让接收方确认发送方身份
密钥交互:发送方用对方的公钥加密一个对称密钥,并发送给对方;
数据加密
算法:RSA,DSA,ELGamal
单向加密:只能加密,不能解密,提取数据指纹
特性:定长输出,雪崩效应
算法:MD5:128bits ,sha1:160,sha256,sha224,sha384,sha512
功能:
完整性:
密钥交换:IKE
公钥加密:
DH
A:p,g
B:p,g
A:x
p^x%g
p^y%g^x=p^xy%g
B:y
p^y%g
p^x%g^y=p^xy%g
SSL:SECURE SOCKET LAYER 安全套接字层
TLS:Transport layer Security
1995:ssl 2.0
1996:ssl 3.0
1999:tsl 1.0
2006:tls 1.1
2008:tls 1.2
2015:tls 1.3
OpenSSL:开源项目
三个组件:
openssl:多用途命令行工具;
libcrypto:公共密钥库
libssl:库,实现了ssl及tls
加密:openssl enc -e -des3 -a -salt -in ping.log -out ping.ciphertext
解密:opnessl enc -d -des3 -a -salt -in ping.ciphertext -out ping.log
md5sum ping.log
dgst命令:
openssl dgst -md5 /path/somefile
生成密码:passwd
openssl passwd -1 -salt 12345678
生成密钥对儿:
openssl genrsa -out rakey.private 2048 私钥
openssl rsa -in rakey.private -pubout 私钥中获取公钥
(umask 077; openssl genrsa -out key.pri 2048)
随机数生成器:
/dev/random:仅从熵池返回随机数,随机数用尽;阻塞
/dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数;非阻塞
以上是关于openssl的主要内容,如果未能解决你的问题,请参考以下文章