密码数据对象流的故障检测的制作方法

文档序号:37313280发布日期:2024-03-13 21:04阅读:15来源:国知局
密码数据对象流的故障检测的制作方法

本公开大体上涉及一种用于在电子装置中处理密码数据的系统和方法,具体地说,涉及一种在内存受限装置中实施签名流密码算法的系统和方法。


背景技术:

1、数字密码签名在世界数据通信基础设施中发挥着重要作用。这种签名以数字证书的形式支撑着重要的认证和交易验证基础设施,以保护在互联网或其它通信网络上进行的数字交易。通常,这些认证和验证系统是由例如参与物联网(iot)网络或其它类型的传感器、致动器和电器的装置等资源受限装置实施的,用于传输和接收数据并验证接收到的指令和命令的真实性。

2、为了使这些资源受限装置能够访问数字签名,最大限度地减少资源需求并优化所涉及的密码签名处理算法(例如,密钥生成、签名和验证)的效率可能很重要。

3、常用的签名方案包括rivest-shamir-adleman(rsa)密码系统和椭圆曲线数字签名算法((ec)dsa)密码系统的变体。然而,随着量子计算系统的发展,rsa和(ec)dsa密码系统的安全性可能会受到威胁。作为对量子计算带来的风险的潜在补救措施,基于哈希的签名(hbs)密码系统(例如sphincs+系统)可以增加密码系统的复杂性以确保可靠的安全性,即使量子计算系统会生成密码攻击。这些hbs密码系统的安全性依赖于哈希函数的密码强度和在实施这些系统时使用的伪随机密码函数族。这些是经过充分研究和理解的密码原函数,可能相对不易受到量子计算机的攻击。


技术实现思路

1、本公开的实施例涉及一种装置,包括:计算机可读存储器;以及处理器,所述处理器被配置成执行包括以下各项的步骤:确定多个对象的第一序列,其中所述多个对象包括密码签名函数的输入;对于所述多个对象中的每个对象,按照由所述第一序列确定的第一顺序:计算对所述对象执行的哈希函数的输出值yi,其中值i等于所述对象的索引值,计算对所述输出值yi执行的压缩函数的压缩输出值xi,从所述计算机可读存储器中删除所述输出值yi,以及将所述压缩输出值xi存储到所述计算机可读存储器中;确定所述多个对象的第二序列,其中所述第二序列不等于所述第一序列;对于所述多个对象中的每个对象,按照由所述第二序列确定的第二顺序:计算对所述对象执行的所述哈希函数的输出值y'i,其中所述值i等于所述对象的所述索引值,计算对所述输出值y'i执行的所述压缩函数的压缩输出值x'i,确定所述输出值x'i等于所述输出值xi,以及在输出数据流中传输所述输出值y'i。

2、在一个或多个实施方式中,所述处理器被配置成在传输所述输出值y'i之后,从所述计算机可读存储器中删除所述输出值y'i。

3、在一个或多个实施方式中,所述压缩函数包括循环冗余校验函数。

4、在一个或多个实施方式中,每个输出值yi中的第一字节数为至少2.5千字节。

5、在一个或多个实施方式中,每个压缩输出值xi中的第二字节数等于或小于4字节。

6、在一个或多个实施方式中,所述处理器另外被配置成执行以下步骤:在传输所述多个对象中的所有对象的所有输出值y'i之后,在所述输出数据流中传输所述多个对象的所述第二序列。

7、本公开的实施例涉及一种装置,包括:计算机可读存储器;以及处理器,所述处理器被配置成执行包括以下各项的步骤:确定多个对象的第一序列,其中所述多个对象包括密码签名函数的输入;对于所述多个对象中的每个对象,按照由所述第一序列确定的第一顺序:确定多重签名哈希树的第一层级下的第一秘密密钥,确定所述多重签名哈希树的第二层级下的第二秘密密钥,其中所述多重签名哈希树的所述第二层级比所述多重签名哈希树的所述第一层级大一,计算对所述第一秘密密钥和所述第二秘密密钥执行的哈希函数的输出值yi,其中值i等于所述对象的索引值,计算对所述输出值yi执行的压缩函数的压缩输出值xi,从所述计算机可读存储器中删除所述输出值yi,以及将所述压缩输出值xi存储到所述计算机可读存储器中;确定所述多个对象的第二序列,其中所述第二序列不等于所述第一序列;对于所述多个对象中的每个对象,按照由所述第二序列确定的第二顺序:确定所述多重签名哈希树的所述第一层级下的第三秘密密钥,确定所述多重签名哈希树的所述第二层级下的第四秘密密钥,计算对所述第三秘密密钥和所述第四秘密密钥执行的所述哈希函数的输出值y'i,其中所述值i等于所述对象的所述索引值,计算对所述输出值y'i执行的所述压缩函数的压缩输出值x'i,确定所述输出值x'i等于所述输出值xi,以及在输出数据流中传输所述输出值y'i。

8、在一个或多个实施方式中,所述处理器被配置成通过执行包括以下各项的步骤来执行确定所述第一秘密密钥的步骤:

9、确定所述第一秘密密钥存储在所述计算机可读存储器中的密钥结构中;

10、从所述密钥结构中检索所述第一秘密密钥;以及

11、从所述密钥结构中删除所述第一秘密密钥。

12、在一个或多个实施方式中,所述处理器被配置成通过执行包括以下各项的步骤来执行确定所述第一秘密密钥的步骤:

13、确定所述第一秘密密钥不存储在所述计算机可读存储器中的密钥结构中;

14、计算所述第一秘密密钥;以及

15、将所述第一秘密密钥存储在所述计算机可读存储器中的所述密钥结构中。

16、在一个或多个实施方式中,所述处理器被配置成在传输所述输出值y'i之后,从所述计算机可读存储器中删除所述输出值y'i。

17、在一个或多个实施方式中,所述压缩函数包括循环冗余校验函数。

18、在一个或多个实施方式中,每个输出值yi中的第一字节数为至少480字节。

19、在一个或多个实施方式中,每个压缩输出值xi中的第二字节数小于64字节。

20、在一个或多个实施方式中,所述处理器另外被配置成执行以下步骤:在传输所述多个对象中的所有对象的所有输出值y'i之后,在所述输出数据流中传输所述多个对象的所述第二序列。

21、本公开的实施例涉及一种方法,包括:确定多个对象的第一序列,其中所述多个对象包括密码签名函数的输入;对于所述多个对象中的每个对象,按照由所述第一序列确定的第一顺序:确定多重签名哈希树的第一层级下的第一秘密密钥,确定所述多重签名哈希树的第二层级下的第二秘密密钥,其中所述多重签名哈希树的所述第二层级比所述多重签名哈希树的所述第一层级大一,计算对所述第一秘密密钥和所述第二秘密密钥执行的哈希函数的输出值yi,其中值i等于所述对象的索引值,计算对所述输出值yi执行的压缩函数的压缩输出值xi,从计算机可读存储器中删除所述输出值yi,以及将所述压缩输出值xi存储到所述计算机可读存储器中;确定所述多个对象的第二序列,其中所述第二序列不等于所述第一序列;对于所述多个对象中的每个对象,按照由所述第二序列确定的第二顺序:确定所述多重签名哈希树的所述第一层级下的第三秘密密钥,确定所述多重签名哈希树的所述第二层级下的第四秘密密钥,计算对所述第三秘密密钥和所述第四秘密密钥执行的所述哈希函数的输出值y'i,其中所述值i等于所述对象的所述索引值,计算对所述输出值y'i执行的所述压缩函数的压缩输出值x'i,确定所述输出值x'i等于所述输出值xi,以及在输出数据流中传输所述输出值y'i。

22、在一个或多个实施方式中,所述方法另外包括通过执行包括以下各项的步骤来确定所述第一秘密密钥:

23、确定所述第一秘密密钥存储在所述计算机可读存储器中的密钥结构中;

24、从所述密钥结构中检索所述第一秘密密钥;以及

25、从所述密钥结构中删除所述第一秘密密钥。

26、在一个或多个实施方式中,所述方法另外包括通过执行包括以下各项的步骤来确定所述第一秘密密钥:

27、确定所述第一秘密密钥不存储在所述计算机可读存储器中的密钥结构中;

28、计算所述第一秘密密钥;以及

29、将所述第一秘密密钥存储在所述计算机可读存储器中的所述密钥结构中。

30、在一个或多个实施方式中,所述方法另外包括在传输所述输出值y'i之后,从所述计算机可读存储器中删除所述输出值y'i。

31、在一个或多个实施方式中,所述方法另外包括在传输所述多个对象中的所有对象的所有输出值y'i之后,在所述输出数据流中传输所述多个对象的所述第二序列。

32、在一个或多个实施方式中,每个输出值yi中的第一位数为至少480字节,并且每个压缩输出值xi中的第二位数小于64字节。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1