CN101542431A - 给定种子产生任意号码的方法 - Google Patents
给定种子产生任意号码的方法 Download PDFInfo
- Publication number
- CN101542431A CN101542431A CNA2007800438851A CN200780043885A CN101542431A CN 101542431 A CN101542431 A CN 101542431A CN A2007800438851 A CNA2007800438851 A CN A2007800438851A CN 200780043885 A CN200780043885 A CN 200780043885A CN 101542431 A CN101542431 A CN 101542431A
- Authority
- CN
- China
- Prior art keywords
- pseudo
- response
- inquiry
- seed
- physical token
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Storage Device Security (AREA)
- Lock And Its Accessories (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Saccharide Compounds (AREA)
- Peptides Or Proteins (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
Abstract
本发明提供一种在给定种子时产生任意号码的方法,其特征在于:向物理令牌提供从种子导出的询问,从物理令牌接收初始响应,将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应,以及使用伪随机号码产生器来产生任意号码,该产生器使用该稳定的响应作为该产生器的种子。优选地,一个或多个这些伪随机置换被用作Feistel分块密码中的一个或多个循环函数。所产生的任意号码也可以用来创建加密密钥。
Description
背景技术
在许多加密系统中,需要使用任意选择号码。一种情况是产生加密密钥。优选是真实随机的号码源,但是这种源通常一次只提供有限数量的随机比特,或者使用起来非常昂贵和麻烦。另一种便宜且简单的使用就是使用伪随机号码产生器,给定一个被称为种子的输入,该伪随机号码产生器提供任意号码序列。该序列中的号码对于标准统计测试来说看起来是随机的。使用相同的种子导致相同序列被再一次产生。
越难预测序列中的下一个或前一个号码,那么伪随机号码产生器就被认为越安全。最强大的一种伪随机号码产生器被称为加密安全伪随机号码产生器。这些产生器使用来自高质量源(诸如基于硬件的随机号码产生器)的熵来产生非常难预测的序列。但是,这些类型的产生器具有特有的缺点:因为无法输入固定的种子,它们的输出不可再现。
伪随机号码产生器可以用来避免必须存储或传送加密密钥,该加密密钥通常比用于伪随机号码产生器的种子长得多。如果相同伪随机号码产生器使用相同的种子,那么可以获得相同的任意号码序列。
该方法的固有缺点在于,如果用于产生密钥的种子被暴露,那么密钥以及由此所有使用该密钥加密的消息可以被恢复。因此,使种子保密是非常重要的要求。(当然,一旦已经产生密钥,就可以删除种子,但是这仅仅把问题转移到如何使密钥保密上面。)
因此,需要一种使用伪随机号码产生器产生任意号码的方法,其中不必保密种子,而给定种子和伪随机号码产生器本身,伪随机号码产生器的输出不能被再现。
发明内容
因此,本发明有利地提供一种给定种子产生任意号码的方法,其特征在于:
向物理令牌提供从种子导出的询问(challenge),
从物理令牌接收初始响应,
将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应,以及
使用伪随机号码产生器来产生任意号码,该产生器使用该稳定的响应作为该产生器的种子。
这里的术语“物理令牌”表示实现物理随机或不可复制功能(PUF)的令牌或物体。该功能易于评估,但是很难表征、建模或再现。物理令牌通常是复杂的物理系统,包括许多随机分布的分量。当使用合适的询问来探测时,管理物理令牌和询问之间相互作用(例如,在无序介质中的多个散射波)的复杂物理学将对每个单独的询问带来看起来随机的输出或响应。该物理令牌的复杂的小范围结构使其很难产生一个物理的副本。
从令牌接收的响应易受到噪声或扰动的影响,引起对于相同询问的响应的不同。这种采集噪声可以有许多原因,例如:令牌/检测器未对准,或者环境影响(例如温度、湿度和振动)。对于本发明的目的,这并不总是问题:越不可预测,那么产生的任意号码的质量就越好。
对于本发明,很重要的是,呈现给相同令牌的相同询问产生了相同的稳定响应。这需要对采集噪声进行补偿。提供该补偿的一种方法就是为物理令牌的各个询问/响应对产生相应的帮助数据项目。给定特定的询问,帮助数据可以被构建,与测量的响应组合以便提供冗余。在本实施例中,该冗余与对特定询问接收的响应组合,确保对于相同的询问获得相同的响应。
因为使用了帮助数据,相同的询问将提供相同的响应。通过向令牌提供从种子导出的询问,可实现使用相同的种子将导致来自令牌的相同响应。随后,该响应被用于初始化伪随机号码产生器。
在本发明中,种子不必保密。令牌的唯一属性使得,如果没有令牌就不可能预测或计算对于特定询问的响应。这意味着,给定种子和伪随机号码产生器本身,伪随机号码产生器的输出不能被再现,因为一个关键的组件,即物理令牌,是将种子变成初始化伪随机号码产生器的响应所必须的。
基于令牌的随机号码产生本身是已知的,例如可以从因特网http://www.csg.csail.mit.edu/pubs/memos/Memo-481/Memo-481.pdf上的MIT CSAIL CSG Technical Memo 481获得。该论文描述了硬件随机号码产生器的实现,该硬件随机号码产生器的基本物理系统是基于物理随机函数的。
但是,这与本发明并不相同。仅仅使用令牌来产生随机号码序列缺乏一个关键因素,即相同的询问将提供相同的响应,允许在需要特定序列重建的情况下使用所产生的任意号码。实际上,该论文的教义与本发明的不同之处在于,该论文将PRNG呈现为受主要安全缺点所累,该缺点通过使用硬件随机号码产生器而被克服。
共同未决的专利申请WO 2006/067739(代理号PH001838)提供了一种导出用于加密或验证在第一和第二节点之间发送的数据的密钥的方法,该方法包括从物理不可复制功能的测量来确定典型值;产生随机号码;以及将典型值与随机号码结合以便提供加密密钥。该文档并未公开使用伪随机号码产生器,更没有提及使用来自PUF的稳定响应作为产生器的种子来产生任意号码。
在一个实施例中,本方法还包括从产生的任意号码构建伪随机置换(permutation)。这样的置换可以有利地被用作Feistel分块密码(block cipher)中的循环函数(round function),虽然这种置换的其他应用也是可以的。几个Feistel分块密码使用多个各自的循环函数,这意味着相应数量的伪随机置换将被构建。例如,DES分块密码使用16轮循环(round)。
另一个例子参见在R.Anderson和E.Biham的“Two Practicaland Provably Secure Block Ciphers:BEAR and LION”,Proceedingsof Third International Workshop on Fast Software Encryption,Lecture Notes in Computer Science 1039 p113-120(1996)中描述的LIONESS分块密码。
从M.Luby和C.Rackoff,“How to construct pseudorandompermutations from pseudorandom functions”,SIAM Journal onComputing vol.17,no.2,pp.373-386(1998)本身可获知将任意号码变换成伪随机置换。该论文还公开了这样的置换如何可以在Feistel分块密码中使用为循环函数。但是Luby和Rackoff没有在任何地方公开或暗示权利要求1的方法可以用来创建伪随机置换的构造的输入。
在另一个实施例中,本方法还包括接收n+m个比特的输入,从输入中使用n个比特作为询问,并将输入中剩余m个比特与从物理令牌中接收的响应进行组合。该组合运算优选地使用异或(XOR)运算来实现。这是Feistel置换最常见的形式。
在另一个实施例中,本方法还包括使用所产生的任意号码来创建加密密钥。该实施例的优点在于,加密密钥现在只能在给定种子和物理令牌时重建,其中该物理令牌被询问以便产生响应,该响应会导致所产生的任意号码。这提供了相对于传统方法而言显著的优点,传统方法中从伪随机号码产生器应用中产生的密钥(或是用于初始化该产生器的种子)必须保密。因为令牌是物理物体,因此比数字数据(例如密钥)更容易保护免受未授权访问。
因此,本发明的另一个方面就是使用物理令牌来产生任意号码的用途,以及使用物理令牌来创建加密密钥的用途。
本发明还提供一种产生Feistel分块密码的方法,包括:
向物理令牌提供询问,
从该物理令牌接收初始响应,
将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应,以及
从该稳定响应构建伪随机置换,以及
使用该伪随机置换作为Feistel分块密码中的循环函数。
这避免了对PRNG的需要,虽然其确实要求响应本身包含足够多的比特来构建置换。
附图说明
本发明的这些和其他方面将通过参考附图中示出的示例实施例来阐述并变得显而易见,其中:
图1示意性地示出了一种给定种子时产生任意号码的系统;
图2示意性地示出了基于CPUF的伪随机置换的实施例;和
图3示出了一种数据处理系统,被配置来提供对加密数据的访问,其中CPUF被用作解密密钥的基础。
在整个附图中,相同的附图标记表示类似或相应的特征。在附图中显示的一些特征通常是由软件实现的,因而表示软件实体,例如软件模块或对象。
具体实施方式
图1示意性地示出了在给定种子时产生任意号码的系统100。系统100包括伪随机号码产生器或PRNG 101,其产生任意号码作为输出。PRNG本身是已知的。PRNG的普通类型是线性叠合产生器、滞后Fibonacci产生器、线性反馈移位寄存器和广义反馈移位寄存器。最近的伪随机算法的例子包括Blum Blum Shub、Fortuna和Mersennetwister。PRNG的一个扩展处理例如可以在由Menezes、Van Oorschot和Vanstone所著的Handbook of Applied Cryptography,CRC PressOctober 1996,ISBN 0-8493-8523-7的第5章中得到。
通常来说,PRNG产生满足许多统计测试的任意号码序列。因此,该序列类似真实的随机序列,但是由于该序列是由确定性过程产生的,因此其实际上并不是随机的。为了创建特定序列,PRNG必须使用图1中示出为输入S的某个“种子”来初始化。如果相同的种子被输入到PRNG,那么将输出相同的任意号码序列。
所产生的序列可以用于任何加密或其他伪随机序列有用的应用中。其中一个应用就是利用所产生的任意号码来创建加密密钥。用于诸如DES或AES之类的算法的密钥需要一定数量的任意选择的比特,例如对于DES而言是56个比特,对于AES而言是128、192或256个比特。使用PRNG来产生这些比特是常见的选择,尤其是对于临时密钥,诸如在许多安全通信信道中使用的会话密钥。
另一个有利的应用是使用该序列来构建伪随机置换即PRP,其然后可以被用作分块密码的一部分,例如作为Feistel分块密码的循环函数。
分块密码是一个置换:F:{0,1}n+m->{0,1}n+m,其通过{0,1}k中的一个密钥K来参数化。该密钥空间的大小(以比特为单位)被用作密码FK的安全量规。前向置换FK被称为加密,反向置换FK -1被称为解密。从数学的观点来看,如果没有黑盒子攻击(即,仅仅访问密码的输入和输出,{0,1}m+n中的x,和{0,1}m+n中的输出FK(x))能够确定{0,1}k中的加密密钥K,这种方式相对于蛮干(brute force)(即尝试所有2k个可能密钥)是有优势的,那么分块密码FK是安全的。在分块密码设计中的一个范例是Kerckhoffs准则,其声明所有的安全必须驻留在密钥K中,而不在所讨论算法的总体结构中。这意味着优选地,精确置换FK应当被当做秘密的,而总体结构可以是众人皆知的信息。通常使用的分块密码包括DES和AES分块密码。
Luby和Rackoff在他们上述论文中描述了从任何伪随机函数产生器{fi.}简单构建伪随机置换产生器Pi:{0,1}n+m->{0,1}n+m。这允许基于密码的内部分量fi的某种“好”属性的安全分块密码。该构建的主要特征如下:如果对于随机挑选的函数fi和{0,1}n中的串x,攻击者不能区别{0,1}m中的fi(x)和{0,1}m中的随机串,那么函数{fi},fi:{0,1}n->{0,1}m是伪随机函数族(PRF)。令{0,1}n中的xl,xr和{0,1}n+m中的xl&xr表示x1和xr的串联,并且+表示{0,1}n的两个元素的异或或(xor)。置换Pi,Feistel置换被定义为:
Pi(xl&xr)=xr&[fi(xr)+xl] (1)
Luby-Rackoff密码包括许多Feistel置换的迭代。在以下描述的实施例中,4轮循环Feistel网络由以下定义来使用:
FK(xl&xr)=P4(P3(P2(P1(xr&xr)))) (2)
在等式(2)中,密钥密码K包括4个伪随机随机函数f1,f2,f3和f4,密码空间2k包括对于这些函数来说许多可能的选择。在该情况下,假设f1,f2,f3和f4相同的不可区别的属性,任何对手都不可区分FK(xl&xr)与来自{0,1}n+m的随机元素。
如上所述,用作输入的给定种子S可以用于再现相应的任意号码序列。这意味着,如果攻击者知道PRNG和种子S,那么他就可以恢复例如从该序列中产生的密钥。为了避免此事,本发明提出使用物理令牌120向来自物理令牌的询问提供稳定化的响应作为用于PRNG的种子。这种向询问提供稳定化的响应的令牌120有时被称为受控PUF或CPUF。
物理随机(不可复制)功能(PUF)是物理系统,该系统易于评估但难以表征、建模或再现。PUF是使用一些物理随机过程制造的系统,这样这些PUF与它们的输入以复杂的方式互相作用以便产生确定性的但看起来随机的输出。PUF的例子公开在:
1.R.Pappu,B.Recht,J.Taylor,N.Gershenfeld,“Physical One-Way Functions”,Science vol.297,pp.2026,(2002)
2.P.Tuyls,B.Skoric,S.Stallinga,A.H.Akkermans,W.Ophey,“Information-Theoretic Security Analysis ofPhysical Unclonable Functions”,Financial Cryptography FC’05,LNCS 3570,Springer-Verlag pp.141(2005)
3.B.Skoric,P.Tuyls W.Ophey,“Robust key extractionfrom Physical Unclonable Functions”,Applied Cryptographyand Network Security ACNS 2005,LNCS 3531,pp.407-422(2005)
4.P.Tuyls,B.Skoric,G.J.Schrijen,R.Wolters,J.vanGeloven,N.Verhaegh,H.Kretschmann,“Read-proof hardwarefrom protective coatings”,CHES 2006 to appear(2006)
5.B.Gassend,D.Clarke,M.van Dijk,S.Devadas,“Silicon Physical Random Functions”,9th ACM Conf.onComputer and Communications Security(2002)
6.P.Tuyls,B.Skoric,“Secret Key Generation fromClassical Physics”,Book Chapter,Hardware TechnologyDrivers for Ambient Intelligence,Kluwer(2005)
PUF可以基于的几个物理系统目前是已知的。主要类型是光学PUF(参见参考1),涂层PUF(参考4),硅PUF(参考5)和声学PUF s(参考6)。实际上,具有以下属性的任何物理系统可以被用作为PUF,如果其具有以下属性:
·便宜且容易制造并包括随机化的制造过程
·表征或建模是不切实际的
·大的输入/输出空间
PUFp使用这样的方法来从询问c产生响应r(即r=p(c)):因为PUF的随机性以及在PUF中交互的物理复杂性r不能从c中恢复,原因在于:
·PUF本身很难表征,也就是说即使使用最好测量设备,也不能以足够的精确度来获得关于PUF内部结构的所有细节,或者这样做的成本昂贵地令人望而却步。
·即使这些细节能够以某种方式获得,那么构建PUF的输入行为的数学模型也是非常难以计算的,如果不是完全不切实际的话。
虽然本发明可应用于所有类型的PUF,比如这里考虑将光学PUF的特定实例作为所描述概念的具体实例。光学PUF包括传输材料,该传输材料包括随机分布的散射粒子。这里的随机性是由斑点图案的唯一性和不可预知性来提供的,该斑点图案是从变形光学介质中的激光的多个散射而产生的(参考2)。对于固定波长的入射光,输入是入射角度、焦距、掩模图案或任何其他波阵面中可再现的改变。输出是产生的斑点图案。即使给定所有散射的准确细节,仍然非常难恢复特定的斑点图案。
受控制PUF(CPUF)是输出被稳定化的PUF。也就是说,对CPUF的给定询问将产生相同的响应。由于普通PUF的唯一性和不可预测性,对PUF呈现的相同询问可以产生(略微)不同的结果。这通常涉及应用帮助数据和/或错误校正,以及潜在地PUF响应数据的一些简单后处理,以便提高PUF在加密方面的“随机性”属性。
为了产生可再现的PUF响应,有两种通常的方法确保响应的整体性。
在第一个方法中,PUF初始地通过登记阶段,其中为相应的询问产生许多初始响应。对于每一个初始响应,产生将补偿对于给定询问的响应中的变化的帮助数据。然后,该帮助数据就起到对PUF响应错误纠正的功能以便确保稳定响应。
在第二个方法中,如果呈现了关于PUF物理属性的足够数据,那么PUF就能够迅速产生其自己的帮助数据。这包括存储以及PUF的一些物理知识。
有关PUF以及稳定化PUF响应的帮助数据的构建的更多信息可以参考以上给出的文献。
CPUF 120根据如下所述被用于本发明。某个询问C被提供给CPUF120。产生器121将询问C变换成合适的信号(例如,光束),以便吸引来自物理物体122的响应。该初始响应由接收机123测量。接收机123还获得帮助数据W,并将来自物体122的初始响应组合,以便从初始响应产生稳定响应。然后,该稳定响应作为种子S输出。
基于受控PUF的伪随机置换的实施例如图2示意性示出。输入(假设为m+n比特长),首先被分裂成左侧m个比特和右侧n个比特。右侧的n个比特被转换成用于CPUF 120的询问。CPUF 120使用单独获得的帮助数据w来提供稳定的响应。该响应作为种子被提供给PRNG101,以便产生输出,在本实施例中,该输出也是m个比特长。
然后,该输出与输入左手侧的原始的m个比特组合。该组合优选地使用XOR运算来完成。然后右手侧和左手侧被交换,以便产生置换的输出。
然后,为了创建Feistel密码,一个接一个地执行多个这些伪随机置换(优选地至少4个)。
系统100可以被实现为一种需要产生任意序列的设备,诸如个人计算机、移动电话或机顶盒。在这样的设备中,CPUF 120或物体122优选地被实现为可移动的组件。这提高了设备的安全性:如果没有物体122,就不可能再生特定的序列,即使询问C和帮助数据W是已知的。
在本发明的可替换实施例中,伪随机置换是直接从来自CPUF120的稳定响应中构建的。这避免了对PRNG 101的需要,虽然其确实需要响应自身包含足够的比特来构建置换。CPUF 120可以被询问多次,以便提供足够数量的比特用于构建置换。然后,该伪随机置换就可以被利用为Feistel分块密码中的一个或多个循环函数,如上所述。
图3示意性地显示了数据处理系统300,诸如个人计算机、移动电话或机顶盒,被配置来提供对电子数据的访问。该数据可以被存储在内部存储介质301(例如,硬盘或固态存储器)中,可以被提供在外部存储介质302(例如DVD盘)上,或者可以使用接收机303从外部源接收(例如通过从互联网或移动网络下载的方式)。
由于数据被加密,因此需要解密模块304来解密该数据。然后由处理模块305处理该数据。该数据可以是任何类型的数据,这样处理类型取决于数据类型。例如,该数据可以是视听数据,然后其在显示屏310上和/或通过扬声器311呈现。
与解密密钥必须存储在系统300内或者传送到系统300的系统相比,系统300包括密钥产生模块310,该模块310包括系统100。该模块310产生解密数据所需要的密钥。
模块310被配备了插槽311,用于插入CPUF 120。在操作过程中,解密模块305通知模块310需要该解密密钥并且指示要使用哪个询问和哪个帮助数据。然后,用户将CPUF 120插入到插槽311。CPUF120使用所提供的数据被询问,使用所提供的帮助数据稳定化初始输出,并且该稳定输出被提供给PRNG 101以便产生任意号码序列,该号码序列被返回给解密模块以便充当解密密钥。如果没有CPUF 120,那么模块310就不能恢复解密数据所需要的密钥。
询问数据和帮助数据也可以被存储在系统300中,当其进入系统时可以被提供数据,或者可以下载或以其它方式获得。询问和可应用的帮助数据可以与明文形式的电子数据相关联一起被存储。例如,存储介质302可以在独立的区域或位置提供询问和帮助数据。该数据也可以被提供在数字许可证或权利物体中,该物体还指示与电子数据相关联的使用规则。数字许可证或权利物体被用于数字权利管理和条件访问的领域中。
因此,有利地,物体122现在被用作物理密钥来解密电子数据。无论谁拥有物体122且知道正确的询问和帮助数据,都可以使用正确的种子来初始化PRNG 101以便产生位于加密密钥基础的任意号码序列。但是,如果没有物体122,那么就不能获得正确的种子以及正确的序列。注意到这取消了以电子格式存储密钥和与密钥相关的数据的要求,该要求会降低使用该密钥的设备的安全要求。
应当注意到上述实施例示出而不是限制本发明,并且本领域技术人员应当能够设计许多可替换实施例,而不背离所附权利要求的范围。例如,CPUF的某些类别可以以这种方式构建,两个或更多CPUF根据给定的相同输入产生相同的稳定响应。当使用这种类型的CPUF时,两个或更多CPUF就都起到密钥的作用。任意号码序列可以直接用作密钥,或者可以使用进一步的处理将序列转换成密钥。
在权利要求中,括号中的任何参考标记都不应该理解为限制权利要求。词语“包括”并不排除除了权利要求中列出的其他元件或步骤的存在。元件前面的词语“一个”并不排除多个这样元件的存在。本发明可以通过包括几个独立元件的硬件的方式实现,或者通过合适编程的计算机来实现。
在列出几个装置的设备权利要求中,其中一些装置可以由一个或相同的硬件项来实现。仅仅某些措施在彼此不同的从属权利要求中阐述这个事实并不表示这些措施的组合不能有利的被使用。
Claims (11)
1.一种在给定种子时产生任意号码的方法,其特征在于:
向物理令牌提供从种子导出的询问,
从物理令牌接收初始响应,
将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应,以及
使用伪随机号码产生器来产生任意号码,该产生器使用该稳定的响应作为该产生器的种子。
2.根据权利要求1的方法,还包括从所产生的任意号码构建伪随机置换。
3.根据权利要求2的方法,还包括利用所述伪随机置换作为Feistel分块密码中的循环函数。
4.根据权利要求2或3的方法,其中,多个伪随机置换被构建和被利用作为在Feistel分块密码中各自的多个循环函数。
5.根据权利要求1的方法,包括利用所产生的任意号码来创建加密密钥。
6.物理令牌用于使用伪随机号码产生器产生任意号码的用途的使用,该伪随机号码产生器使用已经用帮助数据稳定化的对来自物理令牌的询问的响应作为该产生器的种子。
7.用于通过使用伪随机号码产生器产生任意号码来创建加密密钥的用途的物理令牌的使用,该产生器使用已经用帮助数据稳定化的对来自物理令牌的询问的响应作为该产生器的种子,并且从所产生的任意号码来创建加密密钥。
8.一种在给定种子时产生任意号码的系统,其特征在于:
用于向物理令牌提供从种子导出的询问的装置,
用于从物理令牌接收初始响应的装置,
用于将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应的装置,以及
用于使用伪随机号码产生器来产生任意号码的装置,该产生器使用该稳定的响应作为该产生器的种子。
9.一种产生Feistel分块密码的方法,包括:
向物理令牌提供询问,
从该物理令牌接收初始响应,
将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应,
从该稳定响应构建伪随机置换,以及
使用该伪随机置换作为Feistel分块密码中的循环函数。
10.根据权利要求9的方法,其中,许多伪随机置换被构建和被利用作为Feistel分块密码中各自的循环函数。
11.一种产生Feistel分块密码的系统,包括:
用于向物理令牌提供询问的装置,
用于从该物理令牌接收初始响应的装置,
用于将初始响应和与询问相关联的帮助数据组合以便产生稳定的响应的装置,
用于从该稳定响应构建伪随机置换的装置,以及
用于使用该伪随机置换作为Feistel分块密码中的循环函数的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06124866 | 2006-11-28 | ||
EP06124866.2 | 2006-11-28 | ||
PCT/IB2007/054784 WO2008065596A1 (en) | 2006-11-28 | 2007-11-26 | A method of generating arbitrary numbers given a seed |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101542431A true CN101542431A (zh) | 2009-09-23 |
CN101542431B CN101542431B (zh) | 2011-11-23 |
Family
ID=39144526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800438851A Active CN101542431B (zh) | 2006-11-28 | 2007-11-26 | 在给定种子时产生Feistel分块密码的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8594326B2 (zh) |
EP (1) | EP2089794B1 (zh) |
JP (1) | JP5291628B2 (zh) |
CN (1) | CN101542431B (zh) |
AT (1) | ATE459912T1 (zh) |
DE (1) | DE602007005166D1 (zh) |
WO (1) | WO2008065596A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019802B2 (en) * | 2005-08-24 | 2011-09-13 | Qualcomm Incorporated | Cryptographically secure pseudo-random number generator |
US8626656B2 (en) * | 2010-04-28 | 2014-01-07 | Ing Direct N.V. | System and method for securing payment instruments |
US9465582B1 (en) * | 2010-11-18 | 2016-10-11 | The Boeing Company | Significant random number generator |
US8682948B2 (en) * | 2011-01-06 | 2014-03-25 | Microsoft Corporation | Scalable random number generation |
US8700916B2 (en) * | 2011-12-02 | 2014-04-15 | Cisco Technology, Inc. | Utilizing physically unclonable functions to derive device specific keying material for protection of information |
US10079678B2 (en) * | 2012-07-24 | 2018-09-18 | Intel Corporation | Providing access to encrypted data |
KR101373576B1 (ko) * | 2012-12-26 | 2014-03-12 | 고려대학교 산학협력단 | Des 암호화 시스템 |
US9411975B2 (en) | 2014-03-31 | 2016-08-09 | Intel Corporation | Methods and apparatus to securely share data |
US10013363B2 (en) | 2015-02-09 | 2018-07-03 | Honeywell International Inc. | Encryption using entropy-based key derivation |
US10708073B2 (en) | 2016-11-08 | 2020-07-07 | Honeywell International Inc. | Configuration based cryptographic key generation |
KR101920190B1 (ko) * | 2016-11-22 | 2019-02-08 | 한국인터넷진흥원 | 임의의 ip 생성 방법 및 그 장치 |
EP3340216B1 (en) * | 2016-12-23 | 2020-01-29 | Secure-IC SAS | Secret key generation using a high reliability physically unclonable function |
EP3562092A1 (en) * | 2018-04-26 | 2019-10-30 | Thales Dis Design Services Sas | Method for generating on-board a cryptographic key using a physically unclonable function |
US11321459B2 (en) | 2018-12-27 | 2022-05-03 | Intel Corporation | Method, system and apparatus for error correction coding embedded in physically unclonable function arrays |
CN111756525B (zh) * | 2019-03-26 | 2023-01-17 | 北京普安信科技有限公司 | 一种传送高质量密钥的方法、服务器、终端及系统 |
TWI793429B (zh) | 2019-07-25 | 2023-02-21 | 熵碼科技股份有限公司 | 加密金鑰生成器及傳輸系統 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5909494A (en) * | 1997-02-14 | 1999-06-01 | At&T Corp. | System and method for constructing a cryptographic pseudo random bit generator |
CA2282051A1 (en) * | 1998-10-20 | 2000-04-20 | Lucent Technologies, Inc. | Efficient block cipher method |
US7840803B2 (en) * | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
US20090153841A1 (en) * | 2004-08-23 | 2009-06-18 | Wil Ophey | Optical scanning device |
EP1887460A3 (en) * | 2004-10-15 | 2008-06-04 | Nxp B.V. | Integrated circuit with a true random number generator |
WO2006043185A1 (en) * | 2004-10-18 | 2006-04-27 | Koninklijke Philips Electronics N.V. | Secure sensor chip |
JP2008526078A (ja) | 2004-12-22 | 2008-07-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 鍵生成、及び認証の承認に関する方法及び装置 |
-
2007
- 2007-11-26 JP JP2009537751A patent/JP5291628B2/ja active Active
- 2007-11-26 DE DE602007005166T patent/DE602007005166D1/de active Active
- 2007-11-26 US US12/515,814 patent/US8594326B2/en active Active
- 2007-11-26 CN CN2007800438851A patent/CN101542431B/zh active Active
- 2007-11-26 EP EP07849250A patent/EP2089794B1/en active Active
- 2007-11-26 WO PCT/IB2007/054784 patent/WO2008065596A1/en active Application Filing
- 2007-11-26 AT AT07849250T patent/ATE459912T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2008065596A1 (en) | 2008-06-05 |
US20100054466A1 (en) | 2010-03-04 |
DE602007005166D1 (de) | 2010-04-15 |
JP2010511186A (ja) | 2010-04-08 |
ATE459912T1 (de) | 2010-03-15 |
CN101542431B (zh) | 2011-11-23 |
JP5291628B2 (ja) | 2013-09-18 |
EP2089794B1 (en) | 2010-03-03 |
EP2089794A1 (en) | 2009-08-19 |
US8594326B2 (en) | 2013-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101542431B (zh) | 在给定种子时产生Feistel分块密码的方法和系统 | |
EP1768299B1 (en) | Encryption method, cryptogram decoding method, encryptor, cryptogram decoder, transmission/reception system, and communication system | |
Paul et al. | RC4 stream cipher and its variants | |
CN101682612B (zh) | 受控的功能激活 | |
US9191198B2 (en) | Method and device using one-time pad data | |
AU2008327506B2 (en) | Method and system for encryption of data | |
CN100555363C (zh) | 加密方法、密码解码方法、加密器、密码解码器、发送/接收系统和通信系统 | |
US11349668B2 (en) | Encryption device and decryption device | |
KR100813954B1 (ko) | 암호화 장치 및 암호화 방법 | |
US20070195952A1 (en) | Method And System For Computational Transformation | |
JP5198539B2 (ja) | 記憶装置、アクセス装置およびプログラム | |
Zaibi et al. | Efficient and secure chaotic S‐Box for wireless sensor network | |
JP2007114494A (ja) | 秘匿計算方法及び装置 | |
Aloufi et al. | Computing blindfolded on data homomorphically encrypted under multiple keys: An extended survey | |
JP2021528925A (ja) | ヘルパーデータのみを使用する相関型ロバスト認証技術 | |
Acharya et al. | A novel image encryption based on feedback carry shift register and blockchain for secure communication | |
GB2427333A (en) | Encryption using a combination of first and second One-Time Pad (OTP) data | |
Pudi et al. | Cyber security protocol for secure traffic monitoring systems using puf-based key management | |
Pillai et al. | The analysis of PQ sequences generated from continued fractions for use as pseudorandom sequences in cryptographic applications | |
Kumar et al. | New signal security system for multimedia data transmission using genetic algorithms | |
Chernenko et al. | Encryption Method for Systems with Limited Computing Resources | |
Kumari | Performance Analysis of Stream Ciphers Based on Hash Function Using LFSR | |
ILIYASU | IMPROVED 2-LEVEL DATA SECURITY APPROACH FOR UBER TRANSPORT MANAGEMENT SYSTEM (UTMS) | |
Ghosal et al. | One time codes | |
Khattab et al. | RBS Security Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |