当前位置: 首页 > news >正文

验证加密与数字签名实验

以下是Person1和Person2使用对称加密(DES)和非对称加密(RSA数字签名)进行安全通信的完整流程,确保保密性、完整性和身份认证:

 1. 准备工作

 1.1 生成RSA密钥对

 Person1和Person2各自使用签名工具生成密钥对: 

   Person1:

     公钥:`Person1_pub.dat`(发送给Person2) 

     私钥:`Person1_priv.dat`(严格保密) 

   Person2:

     公钥:`Person2_pub.dat`(发送给Person1) 

     私钥:`Person2_priv.dat`(严格保密)

 1.2 交换公钥

 Person1和Person2通过安全渠道(如U盘、面对面交换)互相传输公钥文件(`Person1_pub.dat`和`Person2_pub.dat`)。

 2. Person2发送加密消息给Person1

 2.1 准备明文消息

 Person2创建明文文件:`message.txt`

 2.2 对消息进行数字签名

1. 使用签名工具: 

    输入文件:`message.txt` 

    私钥文件:`Person2_priv.dat` 

    生成签名文件:`sign_by_Person2.dat` 

 2.3 生成随机DES密钥

 Person2随机生成一个810位的DES密钥(如 `X5k9pL2`),并保存为 `des_key.txt`。 

 2.4 加密消息和签名

1. 加密明文消息(使用DES工具): 

    输入文件:`message.txt` 

    输出文件:`message.des` 

    密钥:`X5k9pL2` 

    点击加密。 

2. 加密签名文件(使用DES工具): 

    输入文件:`sign_by_Person2.dat` 

    输出文件:`sign_by_Person2.des` 

    密钥:`X5k9pL2` 

    点击加密。 

 2.5 person2加密DES密钥(使用Person1的公钥)

1. 使用RSA工具加密DES密钥: 

    输入文件:`des_key.txt` 

    公钥文件:`Person1_pub.dat` 

    输出文件:`encrypted_des_key.dat` 

 2.6 发送加密文件

 Person2将以下文件发送给Person1: 

   `message.des`(加密消息) 

   `sign_by_Person2.des`(加密签名) 

   `encrypted_des_key.dat`(加密的DES密钥) 

 3. Person1接收并解密消息

 3.1 解密DES密钥

1. 使用RSA工具解密DES密钥: 

    输入文件:`encrypted_des_key.dat` 

    私钥文件:`Person1_priv.dat` 

    输出文件:`des_key.txt`(得到密钥 `X5k9pL2`) 

 3.2 解密消息和签名

1. 解密密文消息(使用DES工具): 

    输入文件:`message.des` 

    输出文件:`message.txt` 

    密钥:`X5k9pL2` 

    点击解密。 

2. 解密签名文件(使用DES工具): 

    输入文件:`sign_by_Person2.des` 

    输出文件:`sign_by_Person2.dat` 

    密钥:`X5k9pL2` 

    点击解密。 

 3.3 验证签名

1. 使用签名工具验证签名: 

    原始文档:`message.txt` 

    公钥文件:`Person2_pub.dat` 

    签名文件:`sign_by_Person2.dat` 

    点击验证签名,确认消息的完整性和发送方身份。 

 4. 关键安全措施

| 步骤               | 安全机制                  | 防御目标               |

||||

| DES密钥加密        | 用Person1的公钥加密           | 防止密钥被截获             |

| 消息加密           | DES对称加密                   | 确保消息保密性             |

| 数字签名           | RSA私钥签名 + 公钥验证        | 身份认证 + 防篡改          |

| 临时DES密钥        | 每次会话随机生成              | 防止密钥重用攻击           |

 5. 注意事项

1. 密钥管理: 

    DES密钥:每次通信后立即删除明文`des_key.txt`。 

    RSA私钥:绝不通过网络传输,仅保存在本地。 

2. 文件清理: 

    Person1在解密后删除临时文件(如`encrypted_des_key.dat`)。 

    Person2在发送后删除明文`message.txt`和`sign_by_Person2.dat`。 

3. 公钥真实性: 

    通过线下验证公钥指纹(如SHA256哈希值),防止中间人攻击。 

 6. 完整文件列表

 Person2发送的文件

 `message.des`(DES加密的消息) 

 `sign_by_Person2.des`(DES加密的签名) 

 `encrypted_des_key.dat`(RSA加密的DES密钥) 

 Person1解密的文件

 `message.txt`(解密后的明文) 

 `sign_by_Person2.dat`(解密后的签名) 

 `des_key.txt`(解密后的DES密钥,使用后删除) 

相关文章:

  • 英语四级听力疑难知识点详解
  • WebGL图形编程实战【5】:层次构建 × Shader初始化深度剖析
  • 可视化网页自动化流程管理工具
  • 实验-单总线温度采集与显示(汇编语言与接口技术)
  • 拒绝侥幸,拥抱变化
  • TCL中环深化全球布局,技术迭代应对行业调整
  • 机器学习——特征选择
  • MCU片上存储器的类型与特性
  • 自创天炎十二戟算法设计,禁止抄袭
  • transformers库里model.generate和model.forward的区别 generate函数里不同的解码方式
  • NVIDIA DRIVE AGX平台:引领智能驾驶安全新时代
  • 【阿里云大模型高级工程师ACP学习笔记】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
  • Linux企业级分区设置
  • 呼叫中心座席管理系统:智能升级,高效服务
  • Learning vtkjs之ImageMarchingCubes
  • Qt/C++面试【速通笔记六】—Qt 中的线程同步
  • 代码随想录算法训练营Day39
  • 运用ESS(弹性伸缩)技术实现服务能力的纵向扩展
  • DeepSeek-Prover-V2-671B
  • 数据编码(Encoding)
  • 【社论】法治是对民营经济最好的促进
  • 厚重与潮流交织,淮安展现“运河之都”全新城市想象
  • 西夏文残碑等文物来沪,见证一段神秘灿烂的历史
  • 船只深夜撞上海上风机后沉没1死1失踪,调查报告公布
  • 西班牙遭遇史上最严重停电,已进入国家紧急状态
  • 上海112位全国劳动模范和先进工作者接受表彰,樊振东榜上有名