熱度 11
第三篇 如何使用加密芯片完成RSA運算
1、測試目標
使用已經預置RSA密鑰的LKT系列加密芯片完成運算
2、測試環境
本示例運行環境為windows系統、測試軟件LCS KIT、LKT-K100開發板。
3、測試步驟
注意:“->”表示使用LCS KIT軟件操作LKT-K100向加密芯片發送數據;
“<-”表示使用LCS KIT軟件操作LKT-K100讀回加密芯片輸出的數據。
3.1 公鑰加密
-> 80C6 EF02 80 + DATA
指令中的第5字節80表示待加密明文長度為0x80字節,DATA表示待加密明文。
<- C1 + 9000
返回數據中的C1表示加密后的結果,其長度為0x80字節,9000是加密成功的狀態碼。
3.2 私鑰解密
-> 80C4 EF01 80 + C1
指令中的第5字節80表示待加密明文長度為0x80字節,DATA表示待加密明文。
<- DATA + 9000
返回數據中的DATA表示解密后的結果,長度為0x80字節,9000是解密成功的狀態碼。
3.3 私鑰簽名
-> 80C4 EF01 80 + M1
指令中的第5字節80表示待簽名數據長度為0x80字節,DATA表示待簽名數據。
<- S1+ 9000
返回數據中的S1表示簽名結果,長度為0x80字節,9000是簽名成功的狀態碼。
3.4 公鑰驗簽
-> 80C6 EF02 80 + S1
指令中的第5字節80表示待驗簽數據長度為0x80字節,S1表示待驗簽數據。
<- M1 + 9000
返回數據中的M1表示驗簽后的數據,長度為0x80字節,9000是指令執行成功的狀態碼,用戶需要比對M1與簽名數據是否一致,才能判斷驗簽是否成功。
至此,通過openssl生成RSA1024位密鑰并寫入到加密芯片中,進行加解密、簽名驗簽的流程已全部介紹完。