加密流程:
(1)从明文文件中取出第一个分组
(2)产生一个随机数作为密钥的第32字节构成完整的密钥,该随机数称为salt
(3)用上述密钥对该分组进行加密得到该分组的密文
(4)将该分组的密文和salt依次保存到新建的密文文件中
(5)重复上述过程加密所有的分组
加密模块使用说明:
(1)将明文存在名为“明文”的文件中,将密钥保存在名为“密钥”的文件中
(2)运行工具
(3)密文将被生成并保存在同文件夹下的“密文”文件中
注:明文的大小需为16的整数倍因为AES是分组加密算法,这里取的是16字节为一个分组。
key.aes的格式为:uchar回车uchar回车uchar...一共31个数
解密流程:
(1)从密文文文件中取出第一个分组和该分组的salt
(2)用该salt作为密钥的第32字节构成完整的密钥
(3)用上述密钥对该分组进行解密得到该分组的明文
(4)将该分组的明文保存到新建的明文文件中
(5)重复上述过程解密密所有的分组
解密模块使用说明:
(1)将密文存在名为“密文”的文件中,将密钥保存在名为“密钥”的文件中
(2)运行工具
(3)密文将被生成并保存在同文件夹下的"明文"文件中
程序经过本人测试,没有发现问题
应用场景举例:直接用该加密模块加密发布的固件,修改解密模块中的代码,将其移植到MCU的loader中解密加密的固件
(1)从明文文件中取出第一个分组
(2)产生一个随机数作为密钥的第32字节构成完整的密钥,该随机数称为salt
(3)用上述密钥对该分组进行加密得到该分组的密文
(4)将该分组的密文和salt依次保存到新建的密文文件中
(5)重复上述过程加密所有的分组
加密模块使用说明:
(1)将明文存在名为“明文”的文件中,将密钥保存在名为“密钥”的文件中
(2)运行工具
(3)密文将被生成并保存在同文件夹下的“密文”文件中
注:明文的大小需为16的整数倍因为AES是分组加密算法,这里取的是16字节为一个分组。
key.aes的格式为:uchar回车uchar回车uchar...一共31个数
解密流程:
(1)从密文文文件中取出第一个分组和该分组的salt
(2)用该salt作为密钥的第32字节构成完整的密钥
(3)用上述密钥对该分组进行解密得到该分组的明文
(4)将该分组的明文保存到新建的明文文件中
(5)重复上述过程解密密所有的分组
解密模块使用说明:
(1)将密文存在名为“密文”的文件中,将密钥保存在名为“密钥”的文件中
(2)运行工具
(3)密文将被生成并保存在同文件夹下的"明文"文件中
程序经过本人测试,没有发现问题
应用场景举例:直接用该加密模块加密发布的固件,修改解密模块中的代码,将其移植到MCU的loader中解密加密的固件