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