【技术实现步骤摘要】
【国外来华专利技术】经认证的基于晶格的密钥协商或密钥封装
[0001]当前公开的主题涉及第一密码设备、第二密码设备、第一密码方法、第二密码方法和计算机可读介质。
技术介绍
[0002]在密码学中,密钥协商协议是两方或多方可以就这样的密钥达成一致的协议。例如,商定的密钥可以用于保护各方之间的进一步通信,例如,认证和/或加密进一步的通信。窃听双方之间所有通信的攻击者应该对密钥一无所知。然而,虽然看到相同通信的攻击者一无所知或所知甚少,但双方自己可以推导出共享密钥。
[0003]实用的密钥协商协议于1976年引入,当时Whitfield Diffie和Martin Hellman引入了公钥密码学的概念。他们提出了一种在两方之间密钥协商的系统,该系统利用了在具有q个元素的有限域GF(q)上计算对数的明显困难。使用该系统,两个用户可以就对称密钥达成一致。
[0004]密钥协商协议在多方通信的许多应用中是有用的,例如,在诸如物联网、自组无线网络等应用领域中。密钥协商可用于保护设备之间的链接。另一示例是阅读器和电子标签(例如读卡器和智能卡)或标签阅读器和标签(例如RFID标签或NFC标签)之间的通信。
[0005]为了促进各方之间的安全通信,密钥协商协议有时被进一步细分为密码密钥交换(KEX)和密码密钥封装(KEM)方案。密码密钥封装(KEM)方案使用非对称密码在两方之间建立共享秘密,使用各方的公开已知(例如,公钥)和秘密拥有(例如,秘密密钥)值。
[0006]KEX方案涉及每一方交换公钥,然后由另一方连同自己的秘密密 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种第二密码设备(20),包括:
‑
通信接口,其被配置为使用基于晶格的密钥交换(KEX)或基于晶格的密钥封装(KEM)密钥协商协议来与第一密码设备(10)通信,
‑
处理器,其被配置为:
‑
根据以下来计算最终种子:
‑
从所述第一密码设备(10)接收的预先种子,以及
‑
预先共享秘密,所述秘密在所述第二密码设备与所述第一密码设备之间预先共享,
‑
使用确定性随机位生成器(DRBG)或伪随机数生成器(PRNG)来根据所述最终种子计算公共对象(a),
‑
获得与所述第一密码设备相关联的第一公钥(b),并且获得与所述第二密码设备相关联的第二私钥(s),所述第一公钥是在所述第一密码设备处计算出的,所述计算包括所述公共对象与所述第一密码设备的第一私钥之间的乘法,
‑
根据所述第二私钥(s)计算第二公钥(u),计算所述第二公钥(u)包括将所述第二私钥(s)与所述公共对象(a)相乘,
‑
根据所述第一公钥(b)和所述第二私钥(s)计算第二原始共享密钥(k*),计算所述第二原始共享密钥包括所述第二私钥(s)与所述第一公钥(b)之间的乘法,
‑
将所述第二公钥(u)传送到所述第一设备;其中,根据以下来计算最终种子:
‑
所述第一密码设备和/或所述第二密码设备的网络地址,
‑
网络连接的目的,
‑
一天中的时间,和/或
‑
交互计数器,所述交互计数器由所述第二密码设备(20)和所述第一密码设备(10)维护并且至少每当导出共享密钥时增加。2.一种第一密码设备(10),包括:
‑
通信接口,其被配置为使用基于晶格的密钥交换(KEX)或基于晶格的密钥封装(KEM)密钥协商协议与第二密码设备(20)通信,
‑
处理器,其被配置为:
‑
选择预先种子并将所述预先种子发送到所述第二密码设备(20),
‑
根据以下来计算最终种子:
‑
预先种子和预先共享秘密,所述秘密在所述第二密码设备和所述第一密码设备之间预先共享,
‑
使用确定性随机位生成器(DRBG)或伪随机数生成器(PRNG)来根据所述最终种子计算公共对象(a),
‑
获得与所述第一密码设备相关联的第一私钥(r)并根据所述第一私钥(r)来计算第一公钥(b),计算所述第一公钥(b)包括将所述第一私钥(r)与所述公共对象(a)相乘,并且将所述第一公钥(b)传送到所述第二密码设备,
‑
从所述第二密码设备接收第二公钥(u),
‑
根据所述第二公钥(u)和所述第一私钥(r)计算第一原始共享密钥(k'),计算所述第一原始共享密钥包括所述第二公钥(u)与所述第一私钥(r)之间的乘法;
其中,根据以下来计算最所述终种子:
‑
所述第一密码设备和/或所述第二密码设备的网络地址,
‑
网络连接的目的,
‑
一天中的时间,和/或
‑
交互计数器,所述交互计数器由所述第二密码设备(20)和所述第一密码设备(10)维护并且至少每当导出共享密钥时增加。3.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述预先共享秘密包括预先共享口令。4.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述预先种子是以明文格式发送和接收的。5.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述预先种子是通过所述通信接口发送和接收,但是所述预先共享秘密不通过所述通信接口发送和接收。6.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述最终种子还根据来自所述第二密码设备与所述第一密码设备之间的网络连接的网络配置数据计算。7.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,
‑
所述第二密码设备(20)的所述处理器被配置为:
‑
生成传输密钥(K),
‑
通过应用封装函数,利用所述第二原始共享密钥的至少部分来封装所述传输密钥(K),获得封装数据(c),
‑
将所述封装数据(c)传送到所述第一密码设备,并且
‑
所述第一密码设备(10)的所述处理器被配置为:
‑
从所述第二设备接收封装数据(c),
‑
使用所述第一原始共享密钥(k')的至少部分对所述封装数据(c)解封装以获得传输密钥。8.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中
‑
所述第二密码设备(20)的所述处理器被配置为:
‑
针对所述原始共享密钥的系数中的至少部分来生成调和数据(h),所述调和数据包括允许减少在所述第一设备和所述第二设备处导出的第一原始密钥与第二原始密钥之间的差异的信息,
‑
根据所述第二原始共享密钥(k*)来生成传输密钥(K),
‑
将所述调和数据(h)传送到所述第一设备,并且
‑
所述第一密码设备(10)的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。