stm32_rsa_tea_doorlock
lock:是锁程序 key:是开锁程序
通信采用rsa进行加密。
加密rsa程序是从网上找到别人移植好的直接就用了。
加密还使用到tea加密算法,同样也是从网上搜索到的。
通信数据的生成:
1.将十六进制的密钥转换为显示十六进制的字符串,每一个占四个字符“000912346789abcd”
其中0009对应rsa中的d,1234对应e,6789对应n,abcd是设备的id。
2.生成随机数,将随机数转换为字符串作为一个随机密码,使用随机密码对第一步得到的数据使用tea方式加密。
3.使用通用密码对随机密码进行tea加密
4.将加密后的随机数和加密后的密钥组合成一个字符串
5.在第四步得到的字符串上加上头“FROG”,将该信息作为写入到stm32f103c8t6的0x0800f000地址处。
script文件夹中是测试过程中的需要的一些脚本工具
./r 工具能够通过输入 q p 自动生成密钥集合,并保存在key.txt和key_plain.txt中,其中前者是加密信息,后者是明文信息。
script_xxxx.sh文件是自动对efile文件内容进行加密并输出对应的十六进制串口数据,可以通过串口发送该数据来进行测试。