目前除了几颗SoC之外就只有专用加密芯片集成了SM系列国家商用密码算法体系,任重道远,希望SoC能尽快集成。
某SoC:1. AES(128/256),2. HASH(SHA1/SHA256/HMAC_SHA1/HMAC_SHA256)
,3. RSA(256/512/1024/2048)
1. HASH
甲要发消息M给乙,为了方便乙验证消息M完整,将M做HASH计算,然后将M+HASH(M)一起发送给乙。乙收到后,计算、验证 OK。
丙知道后,在甲传给乙时截获消息M,并篡改为消息N,将N做HASH计算,然后N + HASH(N)发送给乙。乙收到后,依旧计算、验证 OK。
2. HMAC
甲碰到乙,发现乙收到的并非是自己发的消息。于是商量X作为双方消息密钥。
甲将消息A与X一起做HASH计算,再将 A + HASH(AX)一起发送给乙。乙收到后,计算、验证 OK。
一开始丙不知道X,截获后先验证发现不对,无法再欺骗乙了。
可后来,丙撞到了X,又可以继续欺骗了。
3. 密钥交换算法
甲再次碰到乙,又发现乙收到的一些验证OK的消息不是自己发的。于是商量每隔一段时间换一个密钥,用密钥交换算法来通知。
3.1 RSA用于密钥交换时
甲发送公钥Pj给乙,乙生成随机数C后使用Pj加密得到M1发送给甲,甲用对应私