固件打包流程

基础知识:

SHA-256

  • 类型: 哈希函数
  • 用途: 用于生成数据的唯一指纹(哈希值),确保数据的完整性。
  • 特性: 不可逆、快速计算、抗碰撞性。

RSA

  • 类型: 非对称加密算法
  • 用途: 主要用于加密数据、数字签名和密钥交换。
  • 特性: 使用一对密钥(公钥和私钥),其中公钥用于加密或验证签名,私钥用于解密或生成签名。

关联与协作

尽管SHA-256和RSA有不同的用途,但它们可以在多个方面相互配合:

  1. 数字签名:

    • 在创建数字签名时,通常首先使用SHA-256对消息进行哈希处理,然后使用发送者的RSA私钥对该哈希值进行加密,生成数字签名。接收方可以使用相同的SHA-256算法对接收到的消息进行哈希,并使用发送者的RSA公钥解密数字签名来验证该哈希是否匹配。这不仅验证了消息的完整性,还确认了消息确实来自拥有相应私钥的发送者。

 

 

打包流程:

未加密的tar包  -》(AES加密) -》 对固件求SHA256 -》对SHA256通过RSA私钥加密 -》填充到256字节 -》写入固件开头 -》输出加密后的包

(也可以不经过AES加密)

解包流程:

 加密后的包 -》读取前256字节-》通过RSA公钥解密 -》求出SHA256 -》验证包的完整性 -》(AES解密) -》解密后的包

 

posted @ 2025-03-20 11:18  xcywt  阅读(86)  评论(0)    收藏  举报
作者:xcywt
出处:https://www.cnblogs.com/xcywt//
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。