CN102449951B - 用于在电子组件中执行密码任务的方法 - Google Patents

用于在电子组件中执行密码任务的方法 Download PDF

Info

Publication number
CN102449951B
CN102449951B CN201080023765.7A CN201080023765A CN102449951B CN 102449951 B CN102449951 B CN 102449951B CN 201080023765 A CN201080023765 A CN 201080023765A CN 102449951 B CN102449951 B CN 102449951B
Authority
CN
China
Prior art keywords
function
data
encryption
cryptographic tasks
basic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080023765.7A
Other languages
English (en)
Other versions
CN102449951A (zh
Inventor
O.比利特
H.吉尔伯特
G.麦卡里奥-拉特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN102449951A publication Critical patent/CN102449951A/zh
Application granted granted Critical
Publication of CN102449951B publication Critical patent/CN102449951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种使得可能在电子组件中对至少一个数值数据执行密码任务的方法,并且包括至少部分使用加密函数的步骤。这个加密函数包括基本加密函数(h),所述基本加密函数是通过来自编码函数(L)和第一函数(f)的组合的中间函数(g)、与第二函数(E)之间的相加来获得的。这个方法可应用到数据的加密或者数据的解密。本发明还涉及一种用以生成公钥的方法以及能够实现这些方法之一的装置。

Description

用于在电子组件中执行密码任务的方法
技术领域
本发明的领域是密码学领域。密码学通过密码任务的应用而在确保两个或更多实体之间的交易方面得到应用。在这些密码任务之中包括消息的加密、电子签名、乃至消息的鉴别。加密方法实质上在于按照仅接受者可解密消息的这种方式来加密该消息。电子签名验证方法实质上在于验证生成消息的实体是按照原样来签署所述消息的。消息鉴别方法实质上在于验证所接收的消息实际上是由已知身份的发送实体来发送的。
背景技术
更精确地,本发明的领域是所谓的公钥非对称密码学。公钥密码学例如对于通过银行卡或通过电子钱包进行的电子支付特别有用。在接近支付(proximity payment)的情况下,支付终端必需一方面位于公共地点,从而促进基于公钥的密码学方法的使用,以避免在其中存储秘密。此外,支付终端必需廉价,从而促进使用具有有限计算能力的处理器。在在线支付的情况下,商家服务器或支付服务器(或者中间服务器)在某些时间上易于被需要来同时执行大量的验证。在全部两种情况下,期望找到使可能减轻验证任务(也就是说,使用公钥的密码任务)的解决方案。
例如,已知其中第一实体通过利用公钥对消息进行加密而开始的密码加密方法。然后,仅仅第二实体(其持有与这个公钥相关联的私钥)可以对所述消息进行解密。在用于这类密码任务的已知方法之中,可以引证基于RSA(Rivest、Shamir、Adleman)算法或基于所谓的离散对数问题(包括椭圆曲线)的那些方法。
这样的算法的强度是基于所采用的秘密密钥的长度。当前,对于RSA算法,通常使用上至2048比特的秘密密钥。这意味着在实践中这些算法应用起来有点慢。此外,作为秘密密钥的函数的这种算法的复杂曲线是次指数的(sub-exponential),这可证明是在将来是有限的,并且随着技术和计算速度上的发展,允许攻击者破坏这样的算法。
最后,诸如RFID技术的约束环境例如仅提供有限的实现区域,并且具有限制它们的存储和执行能力的能量约束。具有微芯片是通常的,该微芯片具有上千的逻辑门。然而,如果仅仅为了存储RSA数目,则需要存在几万的逻辑门。
发明内容
本发明的第一目标是提出一种使得可能解决上文中的缺点的密码方法。
为此目的,本发明涉及一种用于在电子硬件组件中对至少一个数值数据执行密码任务的方法,这个方法包括至少部分使用密码函数的步骤,所述密码函数包括基本加密函数,所述基本加密函数是通过从编码函数和第一函数的组合中推导出的中间函数、与第二函数之间的相加来获得的。
在本发明的具体实施例中,所述密码函数包括通过隐藏函数(concealment function)与基本加密函数的组合而获得的改进的加密函数。使用这样的隐藏函数使得可能防止可能的攻击者容易地分解所述基本加密函数。
优选地,所述第一函数是次数大于或等于二的t元(tuple)多项式函数,并且所述第二函数是次数大于或等于二的多项式函数。
有利地,所述第一多项式函数的次数和所述第二多项式函数的次数具有相同的值。这使得可能防止可能的攻击者通过他们的倒易次数(reciprocaldegree)来区分中间函数和第二函数。
按照有利的方式,所述中间函数和所述第二函数具有相同的展开式。这使得可能防止可能的攻击者通过他们的倒易展开式来区分中间函数和第二函数。
有利地,所述第二函数包括多个线性函数的相乘。这使得可能总体地控制由第二函数在加密函数上相加的噪声量。
在本发明的一个实施例中,所述密码任务包含数据的加密,其特征在于,所述使用的步骤是借助于所述加密函数来将数据加密为已加密数据的步骤。
在本发明的另一实施例中,所述密码任务包含基本已加密数据的解密,并且所述至少部分使用的步骤然后包括:通过与编码函数相关联的解码函数来将所述基本已加密数据解码为中间数据的步骤、和向这个中间数据应用第一函数的逆函数以便获得已解密数据的步骤。这样的实施例使得可能使用任意的第二函数来将噪声添加到已加密数据。
在本发明的另一实施例中,所述任务包含要解密的数据的解密,并且所述至少部分使用的步骤包括:通过向要解密的数据应用与编码函数相关联的解码函数来获得中间数据的步骤、以及向这个中间数据应用对于第二函数的逆函数以便获得已解密数据的步骤。利用这样的实施例,第一函数不一定必须为可逆的。
在另一实施例中,所述任务包含基本已加密数据的解密,并且所述至少部分使用的步骤然后包括:通过向已加密数据应用与编码函数相关联的解码函数来确定多个潜在的元素对、从所述多个潜在对之中选择新的元素对、通过向所选择的潜在对的第二元素应用第二函数的逆函数来计算候选数据、通过向候选数据应用第一函数来计算中间数据、比较所选择的对的第一元素与所述中间数据的步骤。如果所述第一元素和所述中间数据相同,则执行基于候选数据来确定已解密数据,并且如果所述第一元素和所述中间数据不同,则所述方法利用从所述多个潜在对之中选择新的元素对的新步骤而继续。
按照有利的方式,所述解密方法包括:向改进的已加密数据应用隐藏函数的逆函数、以便获得要解密的基本已加密数据的预备步骤。
在本发明的另一实施例中,所述密码任务包含通过第一实体来鉴别由第二实体发送的已加密消息。
本发明的另一主题涉及一种用于生成非对称密码学公钥的方法,包括:组合第一函数与编码函数以便获得中间函数的步骤、以及相加第二函数和所述中间函数以便获得可用作公钥的基本公共加密函数的步骤。
按照有利的方式,所述生成方法包括:组合隐藏函数与通过上文中的方法所生成的函数的附加步骤,以便生成高级的公钥。这使得可能加强公钥的不可侵犯性。
此外,本发明涉及一种密码装置,包括计算模块,该计算模块能够实现如上文中所描述的方法。
附图说明
基于下面参考附图而进行其描述的实现的示例,将更好地理解本发明的其它细节和优点,在附图中:
图1图示了根据本发明的用于执行密码任务的加密函数;
图2A、图2B图示了根据本发明第一实施例的解密方法;
图3A-图3C图示了根据本发明第二实施例的解密方法;
图4A、图4B图示了根据本发明第三实施例的解密方法;
图5A图示了将根据本发明的加密函数用作公钥的非对称密码传送系统;以及
图5B图示了根据本发明的已加密传送的方法。
具体实施方式
图1图示了在根据本发明的用于执行密码任务的方法的第一实施例中可用作公钥的加密函数,其中该任务在于对数据x进行加密。
图1更具体地描述了用于允许这个数据x的加密的加密函数C,所述数据x可以是包括数目为n的分量x1,...xn的向量数值数据,其中n≥1。从有限域(field)K中选择分量xi,使得x属于Kn。这样的域可包含伽罗瓦(Galois)域,例如仅包括两个元素“0”和“1”的基数二的伽罗瓦域GF(2)。
这个加密函数C分解为三个主分量和可选分量。它的第一分量101包含函数f,其将第一中间数据y与数据x相关联。这个数据y具有数目为m的分量y1,...,ym,其中m≥1。如果这个数目m大于数目n,则我们谈及用参数Exp(f)=m/n量化的展开式。示范函数f包含次数为df的m个多项式函数fi的系统。这样,利用具有属于域K的n个分量x1,...,xn的数据x,依赖于次数为df的多项式函数fi来计算m个分量y1,...,ym中的每一个。例如,如果这个次数df等于二,也就是说,如果系统f是二次的,则它包括二次多项式函数fi的集合,并且分量yi符合如下等式:
( 1 ) , y i = f i ( x 1 , . . . , x n ) = Σ j = 1 n Σ k = 1 n α i , j , k x j x k + Σ l = 1 n β i , l x l + γ i
可以从域K中选择系数αi,j,k、βi,1和γi。这里我们谈及二次多变量系统。对于次数df大于二的系统,诸如此二次系统之类的二次系统是非常有利的,这是因为复杂性(并因此,需要的计算资源)随着系统的次数df而指数地增加。例如,诸如此二次多变量系统之类的二次多变量系统可源自用于多变量密码系统的公钥。
加密函数C的第二分量103包括要向从第一函数f推导出的中间数据y应用的编码函数L。这个编码函数L将把第一中间数据与包括数目为N的分量z1,...,zN的第二中间数据z进行相关联,其中N≥1,并且使得它可能将冗余相加到中间数据y,以便使它对噪声或可相加到其的其它误差更具抵抗性。这样的编码函数L可以包含次数为dL的N个多项式函数Li的系统。这样,利用具有m个分量y1,...,ym的数据y,这个函数L将数据y映射到具有N个分量z1,...,zN的数据z,数据z中的每个分量借助于次数为dL的多项式函数Li来计算。在次数dL等于二的纯说明性情况下,分量zi然后符合下面的等式:
( 2 ) , z i = L i ( y 1 , . . . , y m ) = Σ j = 1 m Σ k = 1 m a i , j , k y j y k + Σ l = 1 n b i , l y l + c i
另外地说明,所述第二中间数据z是从被应用了函数g的数据x所推出的,根据下式,所述函数g由与第一函数f复合的编码函数L所构成:
(3)z=Lοf(x)=g(x)。
线性编码函数L(即,次数dL等于一)这里在复杂性方面特别有利。利用与线性函数L(因此,次数为一的线性函数L)复合的二次多变量系统f(因此,次数为二的二次多变量系统f),结果生成的函数g作为次数dh为二,其在计算复杂性方面是有利的。
这样的编码函数通常在纠错中找到它的应用,并且函数L因此可包含纠错码,诸如BCH码、戈帕(Goppa)码、或里德-索罗门(Reed-Solomon)码。
加密函数C的第三分量105最后包含第二函数E,其同样地被应用到要加密的数据x。根本的思路是将诸如我们知道如何控制的噪声或随机性之类的元素相加到全局加密函数C,该全局加密函数C在非对称密码学系统中可用作公钥。例如,这个第二函数E可包含随机函数、或者次数为dE的N′个多项式函数Ei的系统。在后者的情况下,仍旧利用具有n个分量x1,...,xn的数据x,这个函数E将向数据x映射数据e,数据e可被当作“误差数据”,其具有各自借助于次数为dE的多项式函数Ei来计算的N′个分量e1,...,eN′。这个函数E的展开式然后等于Exp(E)=N′/n,并且在次数dE等于二的非限制性情况下,误差数据e的分量ei符合下面的等式:
( 4 ) , e i = E i ( x 1 , . . . , x n ) = Σ j = 1 N ′ Σ k = 1 N ′ A i , j , k x j x k + Σ l = 1 N ′ B i , l x l .
复合函数g和第二函数E然后被相加到一起,以形成符合如下等式的基本加密函数h:
(5)h=Lοf+E。
诸如此基本加密函数之类的基本加密函数h可用作公钥,在该情况下,当这个公钥用于对数据x加密时,如图1中所图示的,结果生成的基本已加密数据c′等于:
(6)c′=g(x)=Lοf(x)+E(x)
复合函数g的次数dg和函数E的次数dE不一定相同。如果它们不同,则恶意用户可尝试通过经由对属于这些函数之一或另一个的结果生成的多项式函数的次数进行攻击测试而进行推导,来使用这个差异来区分函数g与函数E。为了使这个任务更艰巨,在有利的实施例中,将次数dg和dE选择为相同,例如等于二。
同样的推理应用于通过函数g和E所赋予的展开式,所述展开式分别用不一定相同的参数Exp(g)=N/n和Exp(E)=N′/n来表征。例如,如果N′小于N,也就是说,如果误差数据e比第二中间数据z展示更少的分量,则结果生成的基本已加密数据的特定分量ci′将不包括任何误差分量ei,并且恶意用户将能够通过攻击测试来推导此数据。因此,将参数N和N′选择为相同的值是有利的,从而复合函数g和函数E涉及对数据x的相同次数的展开式。
在本发明的具体实施例中,包含附加的隐藏函数T的可选分量109被应用到基本已加密数据c′,以便根据下式来获得高级的已加密数据c:
(7)c=T(c′)=Tο(Lοf(x)+E(x))
所述高级的全局加密数据C然后按照如下的方式来构成:
(8)C=Tο(Lοf+E)
诸如此附加隐藏函数之类的附加隐藏函数T的使用使得可能加强加密对可能攻击的抵抗性。实际上,利用如在等式(5)中呈现的基本加密函数h,存在如下的可能性,恶意用户可通过执行例如攻击测试来尝试区分分量Lοf(图1的左分支)与分量E(图1的右分支)。利用附加的函数T来添加新的加密层使得可能防止这个区分,因为从图1的每个分支所推导出的元素在应用隐藏函数T之后将然后是不能分离的。这使得可能进一步能够使编码函数L公开。当采用这样的函数T时,该函数T必需是可逆的,以便随后允许高级的解密。
按照上文中描述的方式所构建的基本加密函数h或者高级加密函数C然后可在非对称密码学系统中用作公钥。这样,仍旧参考图1,基本公钥h可借助于包括如下步骤的生成方法来生成:对第一函数f与编码函数L进行复合以便获得第一中间函数g,接着是将第二函数E相加到所述中间函数g。还可通过复合隐藏函数T与诸如上文中所生成的基本公钥h来生成高级公钥C。
可以使得诸如此公钥之类的公钥可用于接受者,从而接受者可在他不具有各个函数f、L、E(以及可选地,T)的知识的情况下,借助于这个公钥来执行密码任务。与这个公钥相关联的秘密密钥然后在于各个函数f、L、E(以及可选地,T)的知识,其将用于对借助于公钥而加密的数据进行解密。
在加密方法的第一实施例中,第一函数f是可逆函数,优选地为二次的,也就是说,包含次数为2的多项式fi的系统。第二函数E对于它来说可采取随机函数的形式,也就是说,例如采用其系数取的是在对变量xi采用的域K的元素之中随机地选择的值的多项式系统的形式。
结合图2A来描述根据第一实施例的与使用函数f、L、E和T的加密函数相关联的解密方法。
在第一可选步骤201期间,在其中根据等式(8)的高级加密函数C已经用于获得高级已加密数据c的情况下,作为隐藏函数T的逆的函数T-1被应用到要解密的数据c,以便根据如下的等式来获得基本已加密数据c′:
(9)c′=T-1(c)
在这个可选步骤201之后,在步骤203的过程中,与组成加密函数的编码函数L对应的解码函数L-1被应用到基本已加密数据c′。这样的解码函数将数据c′与中间数据y相关联,其已被去掉了由函数E引入的误差分量。在其中要解密的数据已经简单地利用基本加密函数h来加密的情况下,这个步骤203是第一步骤。
最后,在接下来的步骤205期间,作为第一函数f的逆的函数f1被应用到中间数据y,以便获得已解密数据x。
基于在图1中图示的加密函数,在图2B中以另外方式而图示了根据第一实施例的这个解密的原理。在这个图2B中,指示201′、203′和205′分别对应于上文中描述的步骤201、203和205,并用于参考关于向要解密的数据连续应用的函数的、图2A的方法的步骤,以便示出根据第一实施例的解密如何使得可能还原到数据x。
在这个图2B中,显然的是,对于在图1中图示的全局加密函数,这个第一解密实施例使用加密函数的左分支,以借助于基本已加密数据c或高级已加密数据c来恢复初始数据x。这样的第一实施例可比作传统的解码,其中借助于由编码函数L引入的冗余而去除了可被当作由函数E在已加密数据中引入的误差的分量e的影响。
在作为第一实施例的变体的第二实施例中,还可能使用在图1中图示的加密函数的右分支,以借助于已加密数据来还原到初始数据x。在这样的第二实施例中,函数f不一定是可逆的,并且可以是随机的,这代表了密码方面的重大优点。
图3A图示了根据这个第二实施例的解密方法。
在第一可选步骤301期间,在其中已经使用根据等式(8)的高级加密函数C的情况下,作为隐藏函数T的逆的函数T-1被应用到要解密的高级已加密数据c,以便根据等式(9)来获得基本已加密数据c′。
此后,在通过将解码函数L-1应用到数据c′进行解码的步骤303期间(其在基本加密的情况下,可以是第一步骤),获得了满足c′=L(y)+e的第一中间数据y。c′、y和L的知识然后使得可能推导出满足e=c′-L(y)的第二中间数据e,其对应于可被当作将由函数E引入的误差的分量。
在步骤305期间,然后将使用这个中间数据e来恢复原始数据x′。相应地,需要能够对函数E取逆,这不是立即的,因为函数E具有随机特征。
在步骤307期间,需要确定是否能对函数E求解,以便能够对它取逆。对函数E取逆的能力将实际上取决于这个函数的展开式。
如已经看出的,用Exp(f)符号来表示的表达“函数f的展开式”一般用于指代比率i/j,即由这个函数输出的变量的数目i(对于多项式fi的系统f,如在例如等式(1)中定义的多项式fi的数目)与向这个函数输入的变量的数目(对于数据x,分量xi的数目)的比率。上文中指定了Exp(f)=m/n、Exp(L)=N/m和Exp(E)=N′/n。
如果这里考虑函数E是根据等式(4)的N′个函数ei的随机二次多项式系统,则对系统E取逆相当于对具有大量变量的系统进行求解。
然而,函数E的具体选择可使得可能求解这样的系统。如果函数E包含多个相互线性函数的乘积,也就是说,如果:
( 10 ) , E = Π i l i
那么,可能控制E提供非零值的概率P(e≠0)。
通过考虑其中E是与两个随机线性函数的乘积对应的二次系统的非限制性示例,使得如例如在GF(2)上,每个函数提供非零数据的概率P(11)和P(12)等于1/2,于是具有非零数据e的概率等于:
( 11 ) , P ( e ≠ 0 ) = P ( l 1 ) * P ( l 2 ) = 1 4
在四分之一的情况下,线性函数11和12中的每个等于一,如此为每个分量提供要求解的两个线性等式,即总体上用于系统的2*N′/4个线性等式。如果这个数目2*N′/4大于或等于变量xi的数目n,则有很好的概率来求解系统,这等于如下的条件来对系统E进行求解:
( 12 ) , Exp ( E ) = N ′ n ≥ 2
如果满足这个条件,则可能直接在步骤309期间对用于函数E的等式系统进行求解,从而使得可能对函数E取逆,并通过将E的逆函数应用到第二中间数据e来获得已解密的数据x。
基于在图1中图示的加密函数,在图3B中以另外方式而图示了这个第一情况。在这个图3B中,指示301′、303′、305′和307′分别对应于上文中描述的步骤301、303、305和307,并且用于参考关于向要解密的数据c连续应用的函数的、图3A的方法的步骤,以便示出在可求解系统E的情况下根据第二实施例的解密如何使得可能还原到数据x。
在这个图3B中,明显的是,对于在图1中图示的全局加密函数,这个第一解密实施例使用加密函数的左分支和右分支中的一部分,以便从基本已加密数据c′或者高级已加密数据c中恢复初始数据x。
另一方面,如果因为不充分的展开式或者由于组成E的特定线性等式不独立的事实而导致不满足用于直接求解E的条件,则将不可能对系统E进行完全求解,并且将保留一定数目的未知变量。
在这样的情况下,于是剩下如下的可能性,即在图3A图示的步骤309期间对变量进行连续测试的可能性,也就是说,对于这些变量假设向数据e应用与这个假设对应的E的逆函数以获得候选数据x′的可能性。
在这个时刻,如所解码的中间数据y仍旧可用。然后,在步骤311期间将函数f应用到候选数据x′、并且在比较步骤313的过程中比较结果y′与中间数据y是足够的。然后验证如下等式:
(13)y′=f(x′)=y
如果满足这个等式,则候选数据x′实际上对应于初始加密的数据x。如果相反地不满足这个等式,则候选数据x′不是初始加密的正确数据,并且我们返回到其中对系统E的未求解变量进行新假设的步骤309。然后重复步骤309-313,直到找到使可能满足等式(13)的候选数据为止。
基于在图1中图示的加密函数,在图3C中以另外方式而图示了这个情况下的这个解密的原理。在这个图3C中,指示301″、303″、309″、311″和313″分别对应于上文中描述的步骤301、303、309、311和313,并且用于参考关于向要解密的数据c连续应用的函数的、图3A的方法的步骤,以便示出在不能直接求解系统E的情况下根据第二实施例的解密如何使得可能还原到数据x。
在这个图3C中,明显的是,对于在图1中图示的全局加密函数,这个解密模式在两个级中使用加密函数的右分支和左分支,以便从基本已加密数据c′或者高级已加密数据c中恢复初始数据x。
在首先的这两个实施例中,解码函数L-1确定地恢复中间数据y的能力取决于对所采用的代码L的噪声的抵抗性、和在相加107期间由函数E引入的分量(在本情况下其被认为是噪声)的影响。例如,传统的纠错码具有与具有非零噪声的更高或更低概率相关的阈值误差率,在该阈值误差率之下可以保证已解码的数据实际上是初始编码的数据。
超过这个阈值越多,则已解码值中的不确定性增加越多,这导致所存在的不是确定地解码的单个值,而是作为有噪声概率的增加的函数而增加的多个可能的已解码值。
在本情况下,由函数E在加密期间引入的分量e可比作传送系统的噪声,并且根据函数E而更高或更低的、e不同于0的概率将影响通过函数L-1进行的解码,具体地影响潜在已解码数据y的数目。如果从函数E推导出的数据e不同于0的概率P(e≠0)充分低,也就是说,如果由函数E隐含的噪声保持为充分低,则解码将是有效的,并且已解码的数据y将是正确的值。取决于编码函数L的和所采用的函数E的类型,存在概率P(e≠0)的阈值P(L,E),在该阈值之下可能保证已解码数据y的唯一性。
另外地说明,如果P(e≠0)≤P(L,E),则编码L将是单射的,并且通过函数L-1进行的解码将给出唯一的中间数据y,其此后可使得可能通过应用函数f1来恢复数据x。在这样的情况下,如在上文中并且在图2A-图2B以及图3A-图3C中描述的第一和第二实施例使得可能获得数据x。
另一方面,如果P(e≠0)>P(L,E),则通过函数L-1进行的解码将给出一系列的中间数据y(i)。因此,将存在关于这个系列中的有效中间数据的不确定性,当这个系列大时,该不确定性更加大,并且当噪声概率P(e≠0)高时情况将更加如此。
在这样的情况下,于是可能使用根据第三实施例的加密和解密方法。在这个第三实施例中,函数f不再需要是可逆的;另一方面,函数E必须是可逆的。
在图4A中图示了根据这个第三实施例的解密方法。
在首先的可选步骤401期间,在其中已经使用根据等式(8)的高级加密函数C的情况下,作为隐藏函数T的逆的函数T-1被应用到要解密的高级已加密数据c,以便根据等式(9)来获得基本已加密数据c′。
在解码步骤403期间,通过将解码函数L-1应用到数据c′(其在基本加密的情况下可以是第一步骤),获得满足c′=L(y(i))+e(i)的第一候选元素y(i)的列表。这样的步骤403可借助于合适的算法来执行,并且具有基于列表的解码的特征。对于每个元素y(i),可能通过e(i)=c′-L(y(i))来推导出对应的第二元素e(i),实际上,在这个步骤403的过程中确定元素对{(y(i),e(i))}的列表,该列表的尺寸将取决于所采用的编码函数L,并且取决于函数E的概率P(e≠0)。
一旦已经定义了潜在元素对{(y(i),e(i))}的这个列表,则发生从这个列表中选择第一对(y(i),e(i))的步骤405。
在步骤407期间,根据如下的等式,通过将函数E的逆函数应用到与y(i)对应的第二元素e(i)来计算候选的原始数据x′(i):
(14)x′(i)=E-1(e(i))
接下来,在步骤409期间,将函数f应用到候选原始数据x′(i),以便获得使得y′(i)=f(x′(i))的中间数据y′(i)。
在所述方法的这个时刻,已经获得了候选原始数据x′(i)、在函数f下的它的映像(image)y′(i)、以及第一候选元素y(i),它们都对应于在步骤407期间选择的对(y(i),e(i))。
在验证步骤411期间需要验证如下的等式:
(15)y′(i)=f(x′(i))=y(i)
如果满足这个等式(15),则候选原始数据x′(i)对应于初始加密的数据x,并且解密成功,如在图4A的步骤413中所指出的。
如果不满足这个等式(15),则候选原始数据x′(i)不对应于初始加密的数据x,并且我们返回到其中从在步骤403中定义的潜在对的列表中选择接下来的对(y(i+1),e(i+1))的选择步骤405。然后将重复步骤405-411,直到找到使得可能满足等式(15)的候选数据x′(i)为止。
利用这样的实施例,函数f不一定必须是可逆的,由于在步骤409的过程中使用的是函数f自己,而不是它的逆。
为了在步骤403的过程中获得候选中间数据的列表,可能使用与在加密函数的构成期间使用的编码函数相关联的列表解码算法,诸如里德-索罗门码的列表解码算法。这样,对于给定的编码函数L以及对于数据c′,这样的算法将提供具有符合先前等式的非常大概率的数据y′(i)的列表。这样的方法的有效性明显地取决于由误差函数E所贡献的噪声等级。尽管这个实施例支持比先前介绍的第一实施例更大的噪声比,但是它仅仅在特定的噪声比阈值之下保持有效。然而,这样的实施例使得可能放松对代码L自身的约束,并且例如可能使用其展开式Exp(L)相对小的纠错码。
仍旧基于图1,对于在加密期间使用的函数,在图4B中以另外方式而图示了与这个第三实施例相关联的这个解密的原理。在这个图4B中,401′、403′、407′、409′和411′分别对应于上文中描述的步骤401、403、407、409和411,并且对于向要解密的数据连续应用的函数来进行参考。
在这个图4B中,明显的是,对于在图1中图示的全局加密函数,解密的这个第三实施例还使用两个级中的左分支和右分支,以借助于基本已加密数据c′或者高级已加密数据c来恢复初始数据x。
图5A图示了根据本发明的使用加密函数的非对称密码传送系统。
这样的系统包括一般称为“验证器”的第一实体A,其与一般称为“查验器(prover)”的第二实体B通信。
第二实体B包括计算模块PROCB,其能够生成如上文中并且在图1中描述的基本公共函数h或高级公共函数C。诸如此公共函数之类的公共函数在非对称密码学系统中可用作公钥;可以使公钥可用于第一实体A,使得第一实体A使用它来对要向第二实体B传送的数据x进行加密。例如,将公钥从第一实体A传送到第二实体B。在查验器B的这方上,它在存储器中保留用于生成公钥的函数f、L和E(以及在高级公钥的情况下可选地,T),这些函数然后对应于由查验器B持有的秘密密钥。
第一实体A在它的这方上包括计算模块PROCA,其能够接收公共函数C或h、以及至少一个要加密的数据x,并且能够计算基本已加密数据c′或高级已加密数据c(分别对应于向数据x应用基本函数h或高级函数C)。
查验器B的计算模块PROCB然后可以借助于秘密密钥(即,借助于函数f、L和E(以及在高级公钥的情况下可选地,T)),根据如先前描述的解密方法,来处理这个已加密数据c或c′,以成功地恢复数据x。因此,将已经按照安全的方式来将数据x从验证器传送到查验器。
图5B图示了由如结合图5A描述的密码系统所采用的、根据本发明的已加密传送的方法。
在生成公钥的第一步骤(501)中,查验器B的计算模块PROCB如上文所述地根据第一函数f、第二函数E和编码函数L来生成基本公共函数h,或者如上文所述地根据这些相同函数以及隐藏函数T来生成高级公共函数C。
然后,在步骤503的过程中将用作公钥的公共函数h或C传送到验证器A。
在加密步骤505的过程中,验证器A的计算模块PROCA然后借助于基本公共函数h来将要传送的数据x加密为已加密数据c′,分开地借助于高级公共函数C来将该要传送的数据x加密为已加密数据c。
在加密步骤507的过程中,然后向查验器B传送高级已加密数据c或者基本已加密数据c′。
最后,在解密步骤509期间,借助于由查验器B保留的秘密密钥来对由查验器B接收的已加密数据进行解密。在基本加密的情况下,借助于函数f、L和E中的至少一个、根据上文中呈现的解密实施例之一来对基本已加密数据c′进行解密。在高级加密的情况下,借助于函数f、L和E中的至少一个连同函数T、根据上文中呈现的解密实施例之一来对已加密数据c进行解密。
可有利地扩展图5B所图示的已加密传送的方法,以便利用验证器A来执行查验器B的鉴别。实际上,期望鉴别它自己的查验器B必须能够向验证器A证明它的身份。通过使用如结合图5B描述的已加密传送的方法,验证器A与基本已加密数据c′分开地,向查验器B传送高级已加密数据C。查验器B然后借助于它所保留的秘密密钥来对所接收的已加密数据c、c′进行解密。在专用于鉴别的步骤中,查验器B向验证器A发送如此解密的数据x。验证器A然后确定查验器B的身份,因为仅仅查验器B能够解密对于它的关注所加密的数据x。

Claims (14)

1.一种用于在电子硬件组件中对至少一个数值数据执行密码任务的方法,所述方法包括至少部分使用密码函数的步骤,所述密码函数包括基本加密函数(h),所述基本加密函数是通过如下两个函数之间的相加来获得的:
- 从纠错编码函数(L)与第一函数(f)的组合中推导出的中间函数(g),
- 以及第二函数(E),
其中,所述中间函数(g)和所述第二函数(E)具有相同的展开式。
2.如权利要求1所述的用于执行密码任务的方法,其特征在于,所述密码函数包括通过隐藏函数(T)与所述基本加密函数(h)的组合而获得的改进的加密函数(C)。
3.如权利要求1所述的用于执行密码任务的方法,其特征在于,所述第一函数(f)是次数df大于或等于二的多项式函数,并且第二函数(E)是次数dE等于或大于二的多项式函数。
4.如权利要求1所述的用于执行密码任务的方法,其特征在于,所述第一多项式函数(f)的次数df和所述第二多项式函数(E)的次数dE具有相同的值。
5.如权利要求1所述的用于执行密码任务的方法,其特征在于,所述第二函数(E)包括多个线性函数的相乘。
6.如权利要求1所述的用于执行密码任务的方法,其中所述密码任务包含数据(x)的加密,其特征在于,所述使用的步骤是借助于所述密码函数来将数据(x)加密为已加密数据(c、c’)的步骤。
7.如权利要求1所述的用于执行密码任务的方法,其中所述密码任务包含已加密数据(c、c’)的解密,其特征在于,所述至少部分使用的步骤包括如下步骤:
- 通过与编码函数(L)相关联的解码函数(L-1)来将所述已加密数据(c、c’)解码(203、203')为中间数据(y');以及
- 向所述中间数据(y')应用(205、205')第一函数(f)的逆函数,以便获得已解密数据(x)。
8.如权利要求1所述的用于执行密码任务的方法,其中所述任务包含已加密数据(c、c’)的解密,其特征在于,所述至少部分使用的步骤包括如下步骤:
- 通过向要解密的数据(c、c’)应用与编码函数(L)相关联的解码函数(L-1)来获得(303)中间数据(y、e);
- 向所述中间数据(e)应用(305)第二函数(E)的逆函数,以便获得已解密数据(x')。
9.如权利要求1所述的用于执行密码任务的方法,其中所述任务包含已加密数据c'的解密,其特征在于,它包括如下步骤:
- 通过向已加密数据c'应用与编码函数相关联的解码函数(L-1)来确定(403)多个潜在的元素对(y(i)、e(i));
- 从所述多个潜在对之中选择(405)新的元素对(y(i)、e(i));
- 通过向所选择的潜在对的第二元素(e(i))应用第二函数(E)的逆函数来计算(407)候选数据(x'(i));
- 通过向候选数据(x'(i))应用第一函数(f)来计算(409)中间数据(y'(i));
- 比较(411)所选择的对的第一元素(y(i))与所述中间数据(y'(i));
- 如果所述第一元素(y(i))和所述中间数据(y'(i))相同,则基于候选数据(x')来确定(413)已解密数据(x);
- 如果所述第一元素(y(i))和所述中间数据(y'(i))不同,则返回到用于从所述多个潜在对之中选择新的元素对(y(i)、e(i))的步骤(405)。
10.如权利要求7至9之一所述的用于执行密码任务的方法,其中所述密码函数包括通过隐藏函数(T)与所述基本加密函数(h)的组合而获得的改进的加密函数(C),并且其特征在于,该方法包括:向改进的已加密数据(c)应用隐藏函数(T)的逆函数、以便获得要解密的基本已加密数据(c')的预备步骤(201、301、401)。
11.如权利要求7至9之一所述的用于执行密码任务的方法,其中所述任务包含通过第一实体(A)来鉴别由第二实体(B)发送的已加密消息。
12.一种用于生成非对称密码学公钥的方法,包括如下步骤:
- 组合第一函数(f)与纠错编码函数(L),以便获得中间函数(g);以及
- 相加第二函数(E)和所述中间函数(g),以便获得能用作公钥的基本公共加密函数(h),
其中,所述中间函数(g)和所述第二函数(E)具有相同的展开式。
13.一种用于构造高级非对称密码学公钥的方法,其特征在于,所述方法包括:组合隐藏函数(T)与通过如权利要求12所述的生成方法所生成的基本公共加密函数的步骤。
14.一种密码装置,包括计算模块(PROCA、PROCB),其特征在于,所述计算模块能够实现如权利要求1至13之一所述的方法。
CN201080023765.7A 2009-03-31 2010-03-26 用于在电子组件中执行密码任务的方法 Active CN102449951B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0952054 2009-03-31
FR0952054 2009-03-31
PCT/FR2010/050561 WO2010112739A1 (fr) 2009-03-31 2010-03-26 Procede pour effectuer une tache cryptographique dans un composant electronique

Publications (2)

Publication Number Publication Date
CN102449951A CN102449951A (zh) 2012-05-09
CN102449951B true CN102449951B (zh) 2015-09-23

Family

ID=41531735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080023765.7A Active CN102449951B (zh) 2009-03-31 2010-03-26 用于在电子组件中执行密码任务的方法

Country Status (4)

Country Link
US (1) US8913741B2 (zh)
EP (1) EP2415199B1 (zh)
CN (1) CN102449951B (zh)
WO (1) WO2010112739A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10256970B2 (en) * 2013-12-20 2019-04-09 Konnklijke Philips N.V. Secure data transformations
SG10201405852QA (en) 2014-09-18 2016-04-28 Huawei Internat Pte Ltd Encryption function and decryption function generating method, encryption and decryption method and related apparatuses
US10268829B2 (en) 2017-08-11 2019-04-23 Dragonchain, Inc. Security systems and methods based on cryptographic utility token inventory tenure
WO2019033074A1 (en) 2017-08-11 2019-02-14 Dragonchain, Inc. SYSTEMS AND METHODS OF INTERACTION WITH DISTRIBUTED REGISTERS
US10282741B2 (en) 2017-09-05 2019-05-07 StormX, Inc. Taskset-participant-configurable batch content transfer systems and methods
US10922309B2 (en) 2018-11-19 2021-02-16 Dragonchain, Inc. Distributed ledger interaction system and methods
US11303462B2 (en) 2018-11-19 2022-04-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Unequally powered cryptography using physical unclonable functions
FR3093203A1 (fr) 2019-02-22 2020-08-28 Proton World International N.V. Procédé d'authentification
TWI829924B (zh) 2019-05-05 2024-01-21 喬爾S 馬克斯 容易設置的隧道形式的動物陷阱

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0823331A (ja) * 1994-07-07 1996-01-23 Murata Mach Ltd 暗号化通信方法及び装置
JPH1165439A (ja) * 1996-08-09 1999-03-05 Nippon Telegr & Teleph Corp <Ntt> N進表現暗号による通信および認証方法、ならびにそれらの装置、およびn進表現暗号による通信および認証プログラムを格納した記憶媒体
JP2001282103A (ja) * 2000-01-25 2001-10-12 Murata Mach Ltd 暗号化方法
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
JP3606569B2 (ja) * 2001-03-09 2005-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 復号回路、該復号回路を用いる復号装置、復号方法および半導体デバイス
AU2003211981B8 (en) * 2002-02-20 2009-06-25 Sony Corporation Data recording medium, data recording method and apparatus, data reproducing method and apparatus, data transmitting method, and data receiving method
US7197527B2 (en) * 2002-10-17 2007-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Efficient arithmetic in finite fields of odd characteristic on binary hardware
KR100561846B1 (ko) * 2003-10-08 2006-03-16 삼성전자주식회사 가중된 비밀 공유 및 복원 방법
DE102005031611B4 (de) * 2005-07-06 2007-11-22 Infineon Technologies Ag Nachweis einer Veränderung der Daten eines Datensatzes
US7840178B2 (en) * 2005-07-12 2010-11-23 Martin E. Hellman FM broadcast system competitive with satellite radio
US8752032B2 (en) * 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
GB2453367A (en) * 2007-10-04 2009-04-08 Univ Newcastle Cryptographic processing using isomorphic mappings of Galois fields
JP2009116183A (ja) * 2007-11-08 2009-05-28 Toshiba Corp 暗号装置、復号装置、鍵生成装置及びプログラム
US8144864B2 (en) * 2007-12-28 2012-03-27 Intel Corporation Method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems
US8532289B2 (en) * 2010-08-16 2013-09-10 International Business Machines Corporation Fast computation of a single coefficient in an inverse polynomial

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A.Menezes等.Chapter 8: Public-Key Encryption.《Handbook of Applied Cryptography》.CRC Press,1996,第284页第1段. *
Aline Gouget等.Probabilistic Multivariate Cryptography.《Progress in Cryptology-VIETCRYPT 2006》.2007,第8-9页. *
Jintai Ding.A New Variant of the Matsumoto-Imai Cryptosystem through Perturbation.《Public Key Cryptography-PKC 2004》.2004,第308页第1段至第311页第2段. *

Also Published As

Publication number Publication date
US8913741B2 (en) 2014-12-16
WO2010112739A9 (fr) 2011-11-17
US20120020476A1 (en) 2012-01-26
WO2010112739A1 (fr) 2010-10-07
EP2415199A1 (fr) 2012-02-08
EP2415199B1 (fr) 2017-10-18
CN102449951A (zh) 2012-05-09

Similar Documents

Publication Publication Date Title
CN102449951B (zh) 用于在电子组件中执行密码任务的方法
JP7554493B2 (ja) 閾ボールトを生成する、コンピュータにより実施される方法
CA2652084C (en) A method and apparatus to provide authentication and privacy with low complexity devices
JP4216475B2 (ja) 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
US20200106600A1 (en) Progressive key encryption algorithm
JP3675494B2 (ja) 確認装置によって少なくとも1つの識別装置を認証する方法および装置
JP6366595B2 (ja) 耐グリッチ性暗号離散対数ベースの署名のための方法及びシステム
US20120294442A1 (en) Joint encryption of data
Kuznetsov et al. Code-based electronic digital signature
CN109547209B (zh) 一种两方sm2数字签名生成方法
Bai et al. Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card
CN101321058B (zh) 一种用于编码和译码数字消息的方法和系统
US20140082361A1 (en) Data encryption
US6904150B1 (en) Cryptographic method and system for double encryption of messages
CN110545169A (zh) 基于非对称密钥池和隐式证书的区块链方法和系统
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
CN111970130B (zh) 量子区块链建立方法及系统
CN117195306A (zh) 基于多方能源数据隐私计算的恶意参与行为检出方法
Koroglu et al. Can There Be a Two Way Hash Function?
RU2417410C2 (ru) Способ хранения и использования криптографического ключа
CN101321059B (zh) 一种用于编码和译码数字消息的方法和系统
Simmons Symmetric and asymmetric encryption
Kaminaga et al. Crashing modulus attack on modular squaring for rabin cryptosystem
Zhu et al. A Novel Smart-Card Based Authentication Scheme Using Proactive Secret Sharing
Harvin HANDBOOK OF CRYPTOGRAPHY

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: France

Applicant after: France Telecom

Address before: France

Applicant before: France Telecom

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: FRANCE TELECOM TO: ORANGE CORP.

ASS Succession or assignment of patent right

Owner name: KONINKLIKE PHILIPS ELECTRONICS N. V.

Free format text: FORMER OWNER: ORANGE CORP.

Effective date: 20150401

TA01 Transfer of patent application right

Effective date of registration: 20150401

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: France

Applicant before: France Telecom

C14 Grant of patent or utility model
GR01 Patent grant