作者benjenq (Ben(憋))
看板ASM
标题[问题] 新手问 Arduino Code 的通讯加密法
时间Fri Mar 17 16:52:23 2017
大家好,小弟
学习 Arduino Code 新手约一个多月,
有个关於通讯加密的问题请教:
小弟自制手机/平板程式与 Arduino 装置沟通,
现在要练习将沟通的讯息编码加密
手机透过AES加密似乎没什麽问题,
https://github.com/WelkinXie/AESCipher-iOS
也找到不少 Arduino 用的 DES ,
在 Ardiuno 上面跑也都能跑得起来,
但问题来了...
手机将讯息加密的结果,与 Arduino 加密的结果不一样,
这个 Arduino library 是我最接近成功的时候
https://github.com/spaniakos/AES/
手机使用的 Key 跟 IV 预设 NSString (字串),
在程式中会转成 byte,
Arduino 的 Key 是 byte,
IV 是 unsigned long long int,
我怀疑是两边 IV 不一致,
於是设法把两边的 IV 设为长度16的0,
解出来的结果,总是有几个位元的位置不一样...
这篇文章说出了我的心声,
https://goo.gl/PkWdEr
不知是否有前辈在这个议题上(跨平台 PC/平板<-->MCU 讯息加密),
愿意心得分享解惑,
或是也在研究这方面的议题?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.127.48.233
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1489740750.A.73F.html
1F:推 chuegou: 没经验...大印地安小印地安?03/17 23:28
2F:→ cs8425: 先猜padding方式不同?03/18 11:02
3F:→ benjenq: library没有提供padding的选项…头痛03/18 17:56
4F:→ benjenq: 我怀疑是Arduino Uno处理器能力不足,多位元计算可能有03/18 18:01
5F:→ benjenq: 问题03/18 18:01
※ 编辑: benjenq (118.171.147.126), 03/18/2017 18:15:43
6F:→ cs8425: library有原始码啊 没提供自己加不就好了orz 03/18 21:01
7F:→ benjenq: 我的意思是,程式码都看不出在哪需要padding, 03/19 13:54
8F:→ KanoLoa: UNO不够强 有没有试过MEGA呢~ 03/20 17:39
9F:→ cs8425: 没有? AES.h 201~211行是啥? 还是连翻译都不会用啊? 03/22 02:09
10F:→ gpgpi: Des演算法,会有padding选项,用以补足原始资料长度不足8 05/07 12:10
11F:→ gpgpi: 的倍数,这部分加解密端必须一致哦! 05/07 12:10