目录
一、加密解密简介
1.1.对称加密算法
对称加密算法也叫共享密钥加密算法、单密钥加密算法。这种加密算法使用相同的密钥进行加密和解密,因此也称为共享密钥加密。对称加密算法速度较快,但是密钥需要安全地交换,以避免被攻击者窃取。常见的对称加密算法包括AES、DES和3DES。
1.2 非对称加密算法
非对称加密算法又叫公开密钥算法。这种加密算法使用不同的密钥进行加密和解密,因此也称为公钥加密。公钥可以公开发布,但私钥必须保密。非对称加密算法的优点是不需要安全地交换密钥。常见的非对称加密算法包括RSA和ECC。
1.3 数字摘要算法
又称哈希算法、散列算法,是一种单向算法,数字摘要算法是一种将任意长度的数据转换为固定长度的摘要(哈希值)的算法,通常用于数据完整性验证和消息认证等领域。数字摘要算法使用单向散列函数(也称为哈希函数)来计算摘要,该函数可以将任意长度的数据映射为一个固定长度的二进制字符串。
1.4 Supernova支持的加密解密验证加密解密验证简介
Supernova测试方案完全依据密码算法规范,同时支持国际通用算法套件以及国产密码算法套件,覆盖SM4、AES、DES、3DES等对称密码以及SM2、RSA、ECC等非对称密码算法,能够仿真HTTPS、IPSec、SSL等协议,支持上传证书,能够为各种密码产品、提供功能完善的密测试解决方案,帮助用户对相关密码产品进行功能测试。
二、加密解密验证适用场景
2.1 对称加密算法适用场景
传输加密:对称加密算法可以用于保护数据在传输过程中的机密性和完整性。例如,在TLS/SSL协议中,对称加密算法用于加密传输层的数据。
存储设备加密:对称加密算法可以用于保护存储设备中的数据。例如,在加密文件系统中,对称加密算法用于加密文件和目录。
身份验证:对称加密算法可以用于身份验证。例如,为了验证某个用户的身份,服务器可以向客户端发送一个随机数,客户端使用共享密钥将该随机数加密后返回给服务器,服务器解密该随机数以验证客户端的身份。
加密通信:对称加密算法可以用于保护双方之间的通信机密性和完整性。例如,在端到端加密的聊天应用程序中,对称加密算法用于加密和解密聊天消息。
2.2 非对称加密算法适用场景
数字签名:非对称加密算法可以用于数字签名,用于验证文档、代码、协议等数据的完整性和真实性。发送方使用自己的私钥对数据进行签名,接收方使用发送方的公钥对签名进行验证。
密钥交换:非对称加密算法可以用于密钥交换。例如,在TLS/SSL协议中,客户端和服务器使用非对称加密算法来协商一个共享密钥,该共享密钥用于后续的对称加密通信。
身份验证:非对称加密算法可以用于身份验证。例如,服务器可以向客户端发送一个公钥,客户端使用该公钥加密一个随机数后发送给服务器,服务器使用自己的私钥解密该随机数来验证客户端的身份。
加密通信:非对称加密算法可以用于保护双方之间的通信机密性和完整性。例如,在端到端加密的聊天应用程序中,非对称加密算法用于在通信开始时协商一个共享密钥,该共享密钥用于后续的对称加密通信。
2.2 数字摘要算法适用场景
数据完整性验证:数字摘要算法可以用于验证数据是否被篡改。接收方计算数据的摘要值,然后与发送方发送的摘要值进行比较。如果两个摘要值相同,则数据没有被篡改,否则数据可能已被篡改。
数字签名:数字摘要算法可以用于数字签名。发送方使用私钥对数据的摘要值进行签名,接收方使用发送方的公钥对签名进行验证。如果接收方能够验证签名,则可以确信数据是从发送方发送的,并且没有被篡改。
安全认证:数字摘要算法数字摘要算法可以用于安全认证。例如,服务器可以计算客户端发送的数据的摘要值,并与预期的摘要值进行比较,从而验证客户端的身份。
数据存储:数字摘要算法可以用于保护数据的完整性。例如,计算机密码学中的密码哈希函数,将密码转换为固定长度的摘要值,并将该摘要值存储在数据库中。当用户输入密码时,将其转换为摘要值,并将其与数据库中的摘要值进行比较,从而验证密码的正确性。
三、对称加密算法案例
3.1 打开DES数据加密标准
1.在顶部导航栏,点击【用例】,系统进入【查看用例】选项页面。
2.在左侧用例配置导航栏处,点击【系统安全测试】>【加密解密验证】,单击“DES数据加密标准”按钮。

3.2 使用DES密钥加密文本
1.选择工作模式、填充模式。输入加密密钥、加密向量、加密文本后点击DES加密文本

2.此处以默认值为例,点击DES加密文本后,得到加密结果

3.3 使用DES密钥解密文本
- 选择工作模式、填充模式。输入加密密钥、加密向量、加密文本后点击DES解密文本。


3.4 验证结果
在工作模式、填充模式、加密密钥、加密向量相同时,加密前的文本与解密后的文本一致。

四、非对称加密算法案例
4.1 打开ECC椭圆曲线密码学
1.在顶部导航栏,点击【用例】,系统进入【查看用例】选项页面。
2.在左侧用例配置导航栏处,点击【系统安全测试】>【加密解密验证】,单击“ECC椭圆曲线密码学”按钮。

4.2 生成ECC密钥对
1.输入证书密码,选择曲线算法,点击生成ECC密钥对。

2.以证书密码为空、曲线算法prime256v1为例,生成ECC公钥和私钥

4.3 使用ECC私钥生成数字签名
1.复制私钥,在场景二中使用ECC私钥内粘贴私钥,输入原始文本。点击使用ECC私钥生成签名生成数字签名。

4.4 使用ECC公钥验证数字签名
1.复制公钥

2.将复制的公钥粘贴到ECC公钥框内,复制场景二中的签名结果粘贴到数字签名框内。输入原始文本,点击使用ECC公钥验证签名

4.5 验证结果

117



被折叠的 条评论
为什么被折叠?



