为什么网站突然打不开,行业网站建设教程,网络优化2年工资有多少,网站备案密码重置常用加密算法
对称加密
加密和解密用到的密钥是相同的#xff0c;这种加密方式加密速度非常快#xff0c;适合经常发送数据的场合。缺点是密钥的传输比较麻烦。常用对称加密算法如下#xff1a; DES#xff1a;密钥长度8个字节#xff0c;安全性不足#xff0c;已被证明…常用加密算法
对称加密
加密和解密用到的密钥是相同的这种加密方式加密速度非常快适合经常发送数据的场合。缺点是密钥的传输比较麻烦。常用对称加密算法如下 DES密钥长度8个字节安全性不足已被证明可以在短时间内破解。 3DES3次DES加密密钥长度增加到24字节兼容DES加密破解难度增大性能慢。3DES为DES到AES的过渡算法。 AES分组加密算法比3DES安全性更高、性能更快。密钥长度可以为16字节128位AES-128、24字节192位AES-192、36字节256位、AES-256 SM1国密加密分组加密算法性能与AES相当密钥长度16字节。适用小数据量加密。 SM4相比SM1使用大数据量加密。
非对称加密
需要公钥和私钥两个密码进行加密解密公钥加密的内容只能私钥解密私钥加密的内容只有公钥可以解密性能慢主要用于数字证书和数字签名常用非对称加密算法如下 RSARSA算法的加密和解密速度较慢尤其是对于较长的密钥长度。 SM2 国密加密性能和安全性都优于RSA。
散列算法
不可逆算法。常用算法有MD5、SM3。
参考文档https://blog.csdn.net/tryheart/article/details/107181738 常用证书格式
PEM格式
PEMPrivacy-Enhanced Mail是一种基于文本的文件格式广泛用于存储和传输加密的私钥、公钥和证书。PEM格式的文件通常使用Base64编码并包含-----BEGIN...和-----END...等标识来标识文件的内容类型。PEM格式通常扩展名包括.pem常用于私钥和公钥、.key常用于私钥、.csr常用于请求证书、.cer常用于安全通信证书、.crt常用于安全通信证书。证书文件具体类型需查看文件内容示例如下
私钥文件包含私钥和公钥信息 -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAzTUFDfcDc6NulB9yRPl5wPtQMsA/PgnWAOX5wcoH7XUUZD -----END RSA PRIVATE KEY----- 公钥文件包含公钥信息 -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPZfK4htROfeUPsaQeogEXRAGB -----END PUBLIC KEY----- 请求证书文件包含公钥和私钥签名信息 -----BEGIN CERTIFICATE REQUEST----- MIIBjzCBQIBADBQMQswCQYDVQQGEwJDTjELMAkGA1UECAwCWkoxCzAJBgNVBA -----END CERTIFICATE REQUEST----- 通信证书文件包含公钥信息和签名私钥信息、CA中心私钥签名信息 -----BEGIN CERTIFICATE----- MIIDHDCCAgQCCQCpeNx2DrmHlzANBgkqhkiG9w0BAQsFADBQMQswCQYDVQQGEw -----END CERTIFICATE----- .pfx.pfx格式是一种包含私钥和公钥的加密证书文件。它通常用于存储和传输证书及其私钥可用于实现数字签名、数据加密等安全操作。
.der通常用于存储证书、公钥和其他加密相关的数据。与.pem格式不同.der文件不使用Base64编码而是以二进制形式表示数据。它是一种紧凑且高效的编码方法可确保数据在存储和传输过程中的完整性和安全性。 CA认证中心
以下为模拟CA认证中心生成私钥、根证书流程。
文件说明
private/rxca-key.pemCA认证中心用于签发证书的私钥 private/rxca.csr用于生成rxca.cer的请求证书文件临时文件包含名文公钥及签名信息 certs/rxca.cerCA认证中心根证书公钥与rxca-key.pem配对用户信任CA根证书后由CA中心签发的证书都会被认为是安全的。 #创建CA中心目录
mkdir ca
cd ca #进入CA中心目录
mkdir private #私钥目录
mkdir certs #证书目录#生成私钥rxca-key.pem需设置私钥密码后续使用私钥时需输入密码参数-aes256指定私钥加密的加密算法
#出参private/rxca-key.pem私钥
openssl genrsa -aes256 -out private/rxca-key.pem 1024#生成请求证书文件rxca.csr需要用到rxca-key.pem是因为要签名后续用于生成CA根证书需输入前面设置的私钥密码
#入参private/rxca-key.pem私钥用于生成对应公钥、/CCN/STZJ/LHZ/ORX/OUZG/CNRXCA证书主题唯一标识方便后续使用
#出参private/rxca.csr请求证书文件
openssl req -new -key private/rxca-key.pem -out private/rxca.csr -subj /CCN/STZJ/LHZ/ORX/OUZG/CNRXCAmkdir certs
#根据请求证书文件rxca.cer生成CA中心根证书需输入前面设置的私钥密码
#入参private/rxca.csr请求证书文件、private/rxca-key.pem私钥用于数字签名
#出参certs/rxca.cer根证书
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey private/rxca-key.pem -in private/rxca.csr -out certs/rxca.cer生成加密通信证书
以下为模拟需要加密通信的机构生成通信私钥、公钥并到CA认证中心认证生成通信证书的过程。
文件说明
private/client-key.pem加密通信私钥生成该证书需设置密码后续使用需输入密码。 private/client.csr请求证书用于生成加密通信证书临时文件 certs/client.cer加密通信证书已被CA中心认证公钥与client-key.pem配对CA中心认证过的证书会自动被认为是安全的。 certs/client.pfx加密签名证书已被CA中心认证包含公钥、私钥即可用于加密也可用于签名
#创建用户目录与ca目录同级
mkdir client
cd client #进入CA中心目录
mkdir private #私钥目录
mkdir certs #证书目录#创建加密通信私钥需设置私钥密码后续使用私钥时需输入密码
#出参private/client-key.pem私钥
openssl genrsa -aes256 -out private/client-key.pem 1024#生成证书请求文件private/client.csr需输入前面设置的私钥密码
#入参private/client-key.pem私钥用于生成公钥、/CCN/STZJ/LHZ/ORX/OUZG/CNclient主题证书唯一标识
#出参private/client.csr请求证书文件
openssl req -new -key private/client-key.pem -out private/client.csr -subj /CCN/STZJ/LHZ/ORX/OUZG/CNclient#证书请求文件到CA中心认证生成证书 certs/client.cer需输入CA中心私钥密码该步骤由CA中心执行
#入参../ca/certs/rxca.cerCA中心根证书、../ca/private/rxca-key.pemCA中心私钥、private/client.csr请求证书文件
#出参certs/client.cer证书文件
openssl x509 -req -days 365 -sha1 -extensions v3_req -CA ../ca/certs/rxca.cer -CAkey ../ca/private/rxca-key.pem -CAcreateserial -in private/client.csr -out certs/client.cer#生成加密签名证书certs/client.pfx需输入前面设置的私钥密码且需要指定后续使用该数字签名证书的密码
#入参certs/client.cer证书文件、private/client-key.pem私钥
#出参certs/client.pfx加密签名证书文件
openssl pkcs12 -export -in certs/client.cer -inkey private/client-key.pem -out certs/client.pfx