作者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/m.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