安全加密算法

这篇具有很好参考价值的文章主要介绍了安全加密算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常用加密算法

对称加密

加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。常用对称加密算法如下:
DES:密钥长度8个字节,安全性不足,已被证明可以在短时间内破解。
3DES:3次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,使用大数据量加密。


非对称加密

需要公钥和私钥两个密码进行加密解密,公钥加密的内容只能私钥解密,私钥加密的内容只有公钥可以解密,性能慢,主要用于数字证书和数字签名,常用非对称加密算法如下:
RSA:RSA算法的加密和解密速度较慢,尤其是对于较长的密钥长度。
SM2 :国密加密,性能和安全性都优于RSA。

散列算法

不可逆算法。常用算法有MD5、SM3。

参考文档:https://blog.csdn.net/tryheart/article/details/107181738

常用证书格式

PEM格式

PEM(Privacy-Enhanced Mail)是一种基于文本的文件格式,广泛用于存储和传输加密的私钥、公钥和证书。PEM格式的文件通常使用Base64编码,并包含"-----BEGIN..."和"-----END..."等标识来标识文件的内容类型。PEM格式通常扩展名包括.pem(常用于私钥和公钥)、.key(常用于私钥)、.csr(常用于请求证书)、.cer(常用于安全通信证书)、.crt(常用于安全通信证书)。证书文件具体类型需查看文件内容,示例如下:

私钥文件:(包含私钥和公钥信息)

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAzTUFDfcDc6NulB9yRPl5w+PtQMsA/PgnWAOX5wcoH7X+UUZD
-----END RSA PRIVATE KEY-----

公钥文件:(包含公钥信息)

 -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPZfK4htROfeUPsaQeogEXRAGB
-----END PUBLIC KEY-----

请求证书文件:(包含公钥和私钥签名信息)

-----BEGIN CERTIFICATE REQUEST-----
MIIBjzCB+QIBADBQMQswCQYDVQQGEwJDTjELMAkGA1UECAwCWkoxCzAJBgNVBA
-----END CERTIFICATE REQUEST-----

通信证书文件:(包含公钥信息和签名私钥信息、CA中心私钥签名信息)

-----BEGIN CERTIFICATE-----
MIIDHDCCAgQCCQCpeNx2DrmHlzANBgkqhkiG9w0BAQsFADBQMQswCQYDVQQGEw
-----END CERTIFICATE-----

.pfx:.pfx格式是一种包含私钥和公钥的加密证书文件。它通常用于存储和传输证书及其私钥,可用于实现数字签名、数据加密等安全操作。

.der:通常用于存储证书、公钥和其他加密相关的数据。与.pem格式不同,.der文件不使用Base64编码,而是以二进制形式表示数据。它是一种紧凑且高效的编码方法,可确保数据在存储和传输过程中的完整性和安全性。

CA认证中心

以下为模拟CA认证中心生成私钥、根证书流程。

文件说明

private/rxca-key.pem:CA认证中心用于签发证书的私钥
private/rxca.csr:用于生成rxca.cer的请求证书文件(临时文件,包含名文公钥及签名信息)
certs/rxca.cer:CA认证中心根证书(公钥,与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(私钥,用于生成对应公钥)、"/C=CN/ST=ZJ/L=HZ/O=RX/OU=ZG/CN=RXCA"(证书主题,唯一标识,方便后续使用)
#出参:private/rxca.csr(请求证书文件)
openssl req -new -key private/rxca-key.pem -out private/rxca.csr -subj "/C=CN/ST=ZJ/L=HZ/O=RX/OU=ZG/CN=RXCA"

mkdir 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中心认证(包含公钥、私钥,即可用于加密,也可用于签名)文章来源地址https://www.toymoban.com/news/detail-817066.html

#创建用户目录(与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(私钥,用于生成公钥)、"/C=CN/ST=ZJ/L=HZ/O=RX/OU=ZG/CN=client"(主题,证书唯一标识)
#出参:private/client.csr(请求证书文件)
openssl req -new -key private/client-key.pem -out private/client.csr -subj "/C=CN/ST=ZJ/L=HZ/O=RX/OU=ZG/CN=client"

#证书请求文件到CA中心认证生成证书 certs/client.cer,需输入CA中心私钥密码(该步骤由CA中心执行)
#入参:../ca/certs/rxca.cer(CA中心根证书)、../ca/private/rxca-key.pem(CA中心私钥)、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

到了这里,关于安全加密算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 信息安全4——AES加密算法

    ①算法简介 AES( Advanced Encryption Standard) 算法即高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。在微信小程序的数据传输过程中用到的加密算法。AES算法是用来替代原先的DES,目前已经被全世界广泛使用,同时AES已经成为对称密钥加密

    2024年01月22日
    浏览(41)
  • 安全:AES算法及其加密模式

    AES(高级加密标准)是一种对称密钥加密算法,被广泛用于保护数据的机密性。 AES算法: 结构: AES算法使用替代(SubBytes)、置换(ShiftRows)、混淆(MixColumns)和轮密钥加(AddRoundKey)等四种基本操作来处理数据块。 密钥长度: AES支持128位、192位和256位三种密钥长度,分别

    2024年01月23日
    浏览(51)
  • 安全算法(二):共享密钥加密、公开密钥加密、混合加密和迪菲-赫尔曼密钥交换

    本章介绍了共享密钥加密、公开密钥加密,和两种加密方法混合使用的混合加密方法;最后介绍了迪菲-赫尔曼密钥交换。 加密数据的方法可以分为两种:加密和解密都使用相同密钥的“共享密钥加密”和分别使用不同密钥的“公开密钥加密”。以下将分别介绍。 共享密钥加密

    2024年02月21日
    浏览(39)
  • 各大加密算法对比(原理、性能、安全、运用)

    原理 按加密可逆可以分为:加密可逆算法和加密不可逆算法。加密可逆算法又可以分为:对称加密和非对称加密。 1、 加密不可逆算法 :一般采用hash算法加密,其原理一般是将原文长度补位成64的倍数,接着初始化固定长度的缓存值,经过循环与分组后的明文进行 与操作、

    2023年04月15日
    浏览(41)
  • Rabbit加密算法:性能与安全的完美结合

    title: Rabbit加密算法:性能与安全的完美结合 date: 2024/4/19 19:51:30 updated: 2024/4/19 19:51:30 tags: Rabbit加密 对称加密 流密码 密钥调度 安全分析 实际应用 加密算法 加密算法是一种通过对数据进行转换或处理,以使其在未经授权的情况下无法被理解或解读的技术。加密算法的基本目

    2024年04月22日
    浏览(29)
  • RIPEMD加密算法:原理、应用与安全性

    一、引言 在信息时代,数据安全愈发受到重视,加密算法作为保障信息安全的关键技术,其性能和安全性备受关注。RIPEMD(RACE Integrity Primitives Evaluation Message Digest)加密算法作为一种著名的哈希函数,广泛应用于网络安全、数据完整性等领域。本文将从各个方面介绍RIPEMD加密

    2024年02月04日
    浏览(43)
  • 物联网安全系列 - 非对称加密算法 ECDH

       之前的章节讲到了对称加密算法AES,发送方和接收方需要使用相同的密钥进行通讯,但是发送方怎么将密钥安全的发送给接收方?这是一个问题。    对称加密算法中,为了将密钥安全的发送给对端,通常有以下四种方法: 事先共享密钥    事先双方约定好密钥的数

    2024年02月16日
    浏览(41)
  • 安全算法(一):安全技术、加密的基础知识、哈希函数的简单介绍

    通过互联网交换数据时,数据要经过各种各样的网络和设备才能传到对方那里。数据在传输过程中有可能会经过某些恶意用户的设备,从而导致内容被盗取。 因此,要想安全地使用互联网,安全技术是不可或缺的。 传输数据时的四个问题:窃听、假冒、篡改、事后否认 窃听

    2024年02月04日
    浏览(50)
  • 【网络安全】网络防护之旅 - 对称密码加密算法的实现

    🌈个人主页: Sarapines Programmer 🔥 系列专栏: 《网络安全之道 | 数字征程》 ⏰墨香寄清辞:千里传信如电光,密码奥妙似仙方。 挑战黑暗剑拔弩张,网络战场誓守长。 目录 😈1. 初识网络安全 😈2. 对称密码加密算法的实现 🕵️‍♂️2.1 研究目的 🕵️‍♂️2.2 研究环

    2024年02月04日
    浏览(50)
  • CTF逆向涉及的各种加密算法与网络安全

    在CTF竞赛中,逆向工程是一项常见的技能,旨在分析和破解各种加密算法以达到解决问题的目的。逆向工程涉及的加密算法种类繁多,下面将介绍几种常见的加密算法,并提供相应的源代码示例。 替换密码(Substitution Cipher) 替换密码是一种简单的加密算法,它通过替换明文

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包