对数据进行编码和数字签名的方法和相关设备技术

技术编号:15089531 阅读:62 留言:0更新日期:2017-04-07 18:41
各种实施例涉及对数据进行编码的方法和相关设备以及非临时机器可读存储介质,所述方法包括:确定表示将要编码的值的数字集合X;确定将在产生经过编码的值时使用的因子值集合S,其中所述因子值集合S是用于模幂数字签名处理的输入值因子的集合;针对所述数字集合X的给定数字x,确定与所述给定数字x相对应的因子值集合S的至少一个因子值;以及在经过编码的值中包括所述至少一个因子值s。

Universal coding function for modular exponentiation schemes

Various embodiments relate to a method for encoding and related equipment and machine readable storage medium for temporary data, the method includes determining that will value encoding number set X; will determine the use value of the factor produced by encoding the value set S, wherein the S is used to input factor value set digital signature processing mode power factor value set for a given number of X; the digital collection of X, to identify the factors corresponding to the given number x value set at least one factor S value; and after encoding values including the at least one factor value s.

【技术实现步骤摘要】

这里公开的各种实施例总体涉及数据编码和数字签名,更具体地而非排他地,涉及基于RSA数字签名方案的编码。
技术介绍
数字签名方案通常在对消息进行签名之前将对数据施加编码处理以确保所述数据与所述方案所应用的预先选择的字母表相符合。例如,使用<N,e,d>密钥三元组的标准RSA算法首先将每一个符号转换为0和N之间的相应值。其他编码方案可以用于输入值的不同集合以实现签名方案,所述签名方案使用了输入值集合中的值的各种数学性质。在编码之后,经过编码的值用于创建针对传输的签名。诸如RSA之类的加密算法利用模幂函数来创建这种签名。作为示例,RSA通过计算admodN使用私钥对<N,d>来处理经过编码的值。然后,RSA将通过首先计算bemodN使用公钥对<N,e>来验证签名值b。然后将解码函数施加至所得到的值以重新找回原始值。
技术实现思路
下面示出了各种实施例的简要概述。可以在以下概述中进行一些简化和省略,为了强调和介绍各种实施例的一些方面,而不是为了限制本专利技术的范围。适用于允许本领域普通技术人员实现和使用本专利技术概念的优选实施例的详细描述将在随后的部分中。这里描述的各种实施例涉及一种对数据进行编码的方法、相关设备和非瞬时机器可读存储介质,所述方法包括:确定表示将要编码的值的数字集合X;确定将在产生经过编码的值时使用的因子值集合S,其中所述因子值集合S是用于模幂数字签名处理的输入值因子的集合;针对所述数字集合X的给定数字x,确定因子值集合S的与所述给定数字x相对应的至少一个因子值s;以及在经过编码的值中包括所述至少一个因子值s。这里描述的各种实施例涉及一种验证数字签名方法、相关的设备和非瞬时机器可读存储介质,所述方法包括:用于从发送方接收消息m和数字签名;使用与所述发送方相关联的签名验证密钥来验证数字签名以产生参考签名a;基于接收的消息来创建消息摘要h;对消息摘要h进行编码以产生经过编码的摘要v包括:确定表示消息摘要h的数字集合X,确定在产生经过编码的值时要使用的因子值集合S,针对所述数字集合X的给定数字x来确定所述因子值集合S的与所述给定的数字x相对应的至少一个因子值s,以及在经过编码的摘要v中包括至少一个因子值s;用于将所述参考签名a与经过编码的摘要v进行比较以确定所述发送方是否可信。这里描述的各种实施例涉及一种对数据进行签名方法、相关设备和非瞬时机器可读记录介质。所述方法包括:确定表示将要签名的值的数字集合X;确定将在产生签名时使用的因子值集合S;针对所述数字集合X的给定数字x,确定因子值集合S的与所述给定数字x相对应的至少一个因子值s;产生等价于提升至私钥d次幂的所述至少一个因子值s的至少一个签名因子值l;以及在经过编码的值中包括所述至少一个签名因子值l。描述了各种实施例,其中所述经过编码的值是经过编码和签名的值;以及在经过编码的值中包括所述至少一个因子值s包括:基于所述至少一个因子值s从查找表中检索至少一个签名因子值l,以及在经过编码和签名的值中包括所述至少一个签名因子值l。描述了各种实施例,其中所述经过编码和签名的值是签名因子值的乘积,并且在所述经过编码和签名的值中包括至少一个签名因子值l包括:将针对所述经过编码和签名的值的工作值与所述至少一个签名因子值l相乘。描述了各种实施例,其中确定表示将要编码的值的数字集合X包括:针对给定基数r来确定将要编码的值的基数-r表示,其中数字集合X包括基数-r表示的数字,并且其中所述数字集合X中的每一个数字小于所述基数r。描述了各种实施例,其中所述因子值集合S是有序的集合,以及所述确定与所述给定数字x相对应的因子值集合S的至少一个因子值s包括:确定位于所述因子值集合S中与所述给定数字x在所述数字集合X中的位置相对应的位置处的因子值si。描述了各种实施例,其中所述确定与所述给定数字x相对应的因子值集合S的至少一个因子值s还包括:将所确定的因子值si提升至所述给定数字xi次幂以计算所述至少一个因子值s。描述了各种实施例,其中所述经过编码的值是因子值的乘积,并且所述在经过编码的值中包括所述至少一个因子值s包括:将经过编码的值的工作值与所述至少一个因子值s相乘。描述了各种实施例,其中所述确定与所述给定数字x相对应的因子值集合S的至少一个因子值s以及所述在经过编码的值中包括所述至少一个因子值s是针对所述数字集合X中的每一个数字执行的。描述了各种实施例,其中所述确定表示将要编码的值的数字集合X包括:针对值和基数r来确定满足的数字集合xi∈X,其中xi小于r并且大于或等于零;以及所述确定与所述给定数字x相对应的因子值集合S的至少一个因子值s以及所述在经过编码的值中包括所述至少一个因子值s一起包括用于将经过编码的值计算为其中si是位于因子值集合S内的位置i处的因子值。描述了各种实施例,其中:经过编码的值是经过签名和编码的值;所述确定表示将要编码的值的数字集合X包括:针对值和基数r来确定满足的数字集合xi∈X,其中xi小于r并且大于或等于零;以及所述确定与所述给定数字x相对应的因子值集合S的至少一个因子值s以及所述在经过编码的值中包括所述至少一个因子值s一起包括用于将经过编码的值计算为其中L[i+1]是查找表L内的位置i+1并且与所述因子值集合S中的至少一个因子值s的签名值相对应的元素,所述签名值与提升至私钥d的指数部分次幂的至少一个因子值s相对应,以及N是所述私钥的模数部分。附图说明为了更好地理解各种实施例,对附图进行参考,其中:图1示出了用于实现这里描述的编码和签名方案的硬件系统的示例图2示出了用于对数据进行签名的方法的示例;图3示出了用于对数据进行编码的方法的示例;图4示出了用于对数据进行编码和签名的替代方法的示例;图5示出了用于创建和发送数字签名的方法的示例;图6示出了用于验证接收的数字签名的方法的示例;以及图7示出了用于提供用户设备安全内容的系统和对安全内容进行处理的软件应用程序的示例。为了变应理解,已经将相同的参考数字用于指定具有基本上相同或类似结构或者基本上相同或类似功能的元件。具体实施方式这里示出的描述和附图说明了各种原料。应该理解的是尽管这里没有明确描述或示出,本领域普通技术人员能够实现它们的与□并且将包括在本公开的范围内。如这里所使本文档来自技高网...

【技术保护点】
一种非瞬时机器可读介质,编码有用于对数据进行编码的指令,所述非瞬时机器可读介质包括:用于确定表示将要编码的值的数字集合X的指令;用于确定将在产生经过编码的值时使用的因子值集合S的指令,其中所述因子值集合S是用于模幂处理的输入值因子的集合;用于针对所述数字集合X的给定数字x,确定因子值集合S中与所述给定数字x相对应的至少一个因子值s的指令;以及用于在经过编码的值中包括所述至少一个因子值s的指令。

【技术特征摘要】
2014.12.23 US 14/580,9631.一种非瞬时机器可读介质,编码有用于对数据进行编码的指令,
所述非瞬时机器可读介质包括:
用于确定表示将要编码的值的数字集合X的指令;
用于确定将在产生经过编码的值时使用的因子值集合S的指令,其
中所述因子值集合S是用于模幂处理的输入值因子的集合;
用于针对所述数字集合X的给定数字x,确定因子值集合S中与所
述给定数字x相对应的至少一个因子值s的指令;以及
用于在经过编码的值中包括所述至少一个因子值s的指令。
2.根据权利要求1所述的编码的非瞬时机器可读介质,其中:
所述经过编码的值是经过编码和签名的值;以及
用于在经过编码的值中包括所述至少一个因子值s的指令包括:
用于基于所述至少一个因子值s从查找表中检索至少一个签名
因子值l的指令,以及
用于在经过编码和签名的值中包括所述至少一个签名因子值l
的指令。
3.根据权利要求1所述的编码的非瞬时机器可读介质,其中,所述
经过编码和签名的值是签名因子值的乘积,并且用于在所述经过编码和
签名的值中包括至少一个签名因子值l的指令包括:用于将针对所述经
过编码和签名的值的工作值与所述至少一个签名因子值l相乘的指令。
4.根据权利要求1所述的编码的非瞬时机器可读介质,其中,用于确
定表示将要编码的值的数字集合X的指令包括:
用于针对给定基数r来确定将要编码的值的基数-r表示的指令,
其中数字集合X包括基数-r表示的数字,并且其中所述数字集合X
中的每一个数字小于所述基数r。
5.根据权利要求1所述的编码的非瞬时机器可读介质,其中:
所述因子值集合S是有序集合,以及
用于确定因子值集合S中与所述给定数字x相对应的至少一个因子
值s的指令包括:
用于确定位于所述因子值集合S中与所述给定数字x在所述数
字集合X中的位置相对应的位置处的因子值si的指令。
6.根据权利要求5所述的编码的非瞬时机器可读介质,其中,所述
用于确定因子值集合S中与所述给定数字x相对应的至少一个因子值s
的指令还包括:
用于将所确定的因子值si提升至所述给定数字xi次幂以计算所述至
少一个因子值s的指令。
7.根据权利要求1所述的编码的非瞬时机器可读介质,其中,所述
经过编码的值是因子值的乘积,并且所述用于在经过编码的值中包括所
述至少一个因子值s的指令包括:用于将经过编码的值的工作值与所述
至少一个因子值s相乘的指令。
8.根据权利要求1所述的编码的非瞬时机器可读介质,其中,所述
用于确定因子值集合S中与所述给定数字xi相对应的至少一个因子值s
的指令以及所述用于在经过编码的值中包括所述至少一个因子值s的指
令被配置为针对所述数字集合X中的每一个数字执行。
9.根据权利要求1所述的编码的非瞬时机器可读介质,其中,所述
用于确定表示将要编码的值的数字集合X的指令包括:
用于针对值和基数r来确定满足的数字集合
xi∈X的指令,其中xi小于r并且大于或等于零;以及
所述用于确定因子值集合S中与所述给定数字x相对应的至少一个
因子值s的指令以及所述用于在经过编码的值中包括所述至少一个因子
值s的指令一起包括用于将经过编码的值计算为的指令,其中si是位于因子值集合S内的位置i处的因子值。
10.根据权利要求1所述的编码的非瞬时机器可读介质,其中:
经过编码的值是经过签名和编码的值;
所述用于确定表示将要编码的值的数字集合X的指令包括:
用于针对值和基数r来确定满足的数字集合
xi∈X的指令,其中xi小于r并且大于或等于零;以及
所述用于确定因子值集合S中与所述给定数字x相对应的至少一个
因子值s的指令以及所述用于在经过编码的值中包括所述至少一个因子
值s的指令一起包括用于将经过编码的值计算为的指令,
其中,L[i+1]是位于查找表L内的位置i+1并且与所述因子值集合S中
的至少一个因子值s的签名值相对应的元素,
所述签名值与提升至私钥d的指数部分次幂的至少一个因...

【专利技术属性】
技术研发人员:乔普·威廉·波斯麦克尔·麦克·派德里克·皮德斯
申请(专利权)人:恩智浦有限公司
类型:发明
国别省市:荷兰;NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1