CN102857337A - 为提高安全性的置换数据变换 - Google Patents

为提高安全性的置换数据变换 Download PDF

Info

Publication number
CN102857337A
CN102857337A CN2012102836305A CN201210283630A CN102857337A CN 102857337 A CN102857337 A CN 102857337A CN 2012102836305 A CN2012102836305 A CN 2012102836305A CN 201210283630 A CN201210283630 A CN 201210283630A CN 102857337 A CN102857337 A CN 102857337A
Authority
CN
China
Prior art keywords
result
master key
key
bit
numeral
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.)
Pending
Application number
CN2012102836305A
Other languages
English (en)
Inventor
伊凡·布杰勒·戴姆格德
托本·普莱德·佩得森
文森特·瑞吉门
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.)
CMLA LLC
Original Assignee
CMLA LLC
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
Priority claimed from US10/918,717 external-priority patent/US8077861B2/en
Priority claimed from US10/918,718 external-priority patent/US7577250B2/en
Priority claimed from US10/918,103 external-priority patent/US7564970B2/en
Application filed by CMLA LLC filed Critical CMLA LLC
Publication of CN102857337A publication Critical patent/CN102857337A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]
    • 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/06Cryptographic 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

一种数据变换,其基于数据输入中的一些比特来置换该数据输入中的另外一些比特。另一种数据变换,其将数据输入的一段自乘至另一段的一个函数的幂次,此幂次与一预先定义的模数的函数互素。随后此模数被应用于此结果,并且变换的数据被汇编。在一种密钥导出应用中,主密钥的一段被打乱。自该主密钥的另一段导出两个数字。通用散列函数应用于该打乱的结果,从中选择比特作为导出密钥。在另一个实施方案中,编码的计数器与该主密钥的段组合。随后此结果被打乱,从中选择比特作为导出密钥。

Description

为提高安全性的置换数据变换
本申请是申请日为2005年8月9日、申请号为200580034608.5(国际申请号为PCT/US2005/028316)、名称为“为提高安全性的置换数据变换”的发明专利申请的分案申请。
技术领域
本发明涉及数据安全,特别涉及为提高安全性的置换数据变换。
背景技术
几千年来,人们发现有必要进行保密。但对于历史的大部分时期,保密技术发展的很缓慢。据推测只为Julius Caesar自己使用的凯撒移位密码包括取出一个字母并通过字母表将其向前移动以隐藏消息。这样,“A”变成了“D”,“B”变成了“E”,以此类推。虽然通常认为这种加密算法是一个很弱的加密,但直到最近的几个世纪,几乎没开发出更好的加密算法。
在两次世界大战中,加密成为强力研究的焦点。在开发敌人无法破译的码以及在研究如何读懂敌人的加密信件这两个方面花费了很多力气。设计出了机械设备以帮助加密。这些机器中最著名的一个是德国的恩尼格玛(Enigma)机器,虽然恩尼格玛决不是那个时代唯一的机械加密机器。
计算机的问世大大地改变了加密使用的状况。不再需要复杂的机器或数小时的手工劳动,计算机能够以高速加密和解密信息且成本很低。对计算机依据的数学的理解也引入了新的加密算法。迪菲(Diffie)和赫尔曼(Hellman)的工作导致了一种利用指数算术模素数(exponential arithmeticmodulo primes)来交换密钥的方式,并依赖于这样的事实,即计算给出公共信息的共享密钥在计算上是不可行的。流行的RSA算法(以其发明者R.Rivest、A.Shamir和L.Adleman命名)依赖的事实是,将大数分解为因式同样在计算上不能用来解密被加密的数据。迪菲和赫尔曼的工作以及RSA算法可以在理论上被破译,但破译这些算法依赖于解决待解决的数学问题。(顺便说明,RSA算法也是最早的公钥(public-key)密码系统之一,它利用与加密不同的密钥来解密。这使得公开分配一个密钥而不丧失安全性成为可能)。
然而,没有一种加密算法有无限的寿命跨度。例如,DES(数据加密标准)最初于1976年发布。政府最初估计其寿命为10年。DES持续了远长于最初估计的寿命跨度的时间,但由于其相对短的密钥,DES被认为短于理想寿命。由此AES(高级加密标准)取代了DES作为政府标准,但DES仍被广泛使用。有许多对DES的改进,但这些改进不能保证DES永远安全。最终,DES将通常被认为是不安全的。
仍旧需要一种方法来加强现有加密算法的安全性。
发明内容
在一个实施方案中,本发明是用于置换数据变换的方法和装置。数据被分割成两段。第一段中的比特控制着置换函数对第二段中的比特组的应用。变换的数据包括该第一段,和该第二段的置换的组。
在第二个实施方案中,本发明是用于指数数据变换的方法和装置。数据被分割成两段。将第二段自乘(raise)到第一段的函数的幂次(power)。随后将一模数应用于此结果。变换的数据包括该第一段,和按该模数取模的余数。
在第三个实施方案中,本发明是用于从主密钥执行密钥导出的方法和装置。在一个实施方案中,主密钥的一部分被打乱(hash)。从该主密钥的另一部分中得到两个数字。将使用这两个数字的通用散列函数应用于所述打乱的结果,从中选择比特作为导出密钥。
在第四个实施方案中,将使用编码的计数器的通用散列函数应用到该主密钥的一些部分上,并组合所得结果。组合的结果随后被打乱,从中选择比特作为导出密钥。
参考所附图形,本发明的上述及其他特征、目的和优点将自下面的详细描述中变得更加明显。
附图说明
图1显示了自主密钥生成导出密钥的安全散列算法的一般实现(implementation)。
图2显示了图1的安全散列算法(secure hash algorithm)的典型操作。
图3显示了通用散列算法(universal hash algorithm)的典型操作。
图4显示了按照本发明的一个实施方案的将图1的安全散列算法和通用散列算法相结合以生成更安全的导出密钥的不同方式。
图5显示了按照本发明的一个实施方案的服务器和能够执行数据变换、密钥生成、密钥包装和数据加密的设备。
图6显示了按照本发明的一个实施方案的用于使用数据变换器与密钥包装器、密钥导出器或加密函数的结合来提高安全性的数据安全设备。
图7A-7B显示了按照本发明的一个实施方案的使用图6的数据安全设备的流程图。
图8显示了按照本发明的一个实施方案的图5和6的数据变换器的详细情况。
图9显示了按照本发明的另一个实施方案的图5和6的数据变换器的详细情况。
图10A-10C显示了按照本发明的一个实施方案的使用图8的数据变换器的流程图。
图11显示了按照本发明的一个实施方案的使用图9的数据变换器的流程图。
图12显示了按照本发明的一个实施方案的图5和6的密钥导出功能部件(key derivation function)的细节。
图13显示了按照本发明的另一个实施方案的图5和6的密钥导出功能部件的细节。
图14显示了按照本发明的一个实施方案的使用图12的密钥导出功能部件的流程图。
图15显示了按照本发明的一个实施方案的使用图13的密钥导出功能部件的流程图。
图16显示了按照本发明的一个实施方案的在图5的数据安全设备中使用密钥导出功能部件的流程图。
具体实施方式
图1显示了自主密钥生成导出密钥的安全散列算法的一般实现。总体构思是将主密钥105输入至安全散列算法110。安全散列算法的一个例子是SHA-1(安全散列算法1)。结果是导出密钥115-1。安全散列算法110可以被多次使用。依赖于安全散列算法110的实现,可以经修改或不经修改地重复使用主密钥105作为至安全散列算法110的输入。例如,如果安全散列算法110使用一个时钟控制其输出,则主密钥105可以不经修改地被使用以生成导出密钥115-2和115-3。另外,主密钥105可以以某种方式与计数器组合以充分修改主密钥105从而自导出密钥115-1区分出导出密钥115-2和115-3。如果适当地实现安全散列算法105,则就连主密钥105中小达单个比特的变化也会导致导出密钥115-2和115-3与导出密钥115-1完全不相关。
图2显示了图1的安全散列算法的典型操作。如图所示,散列算法将输入映射到散列值。在图2中,对于某个值n,散列值在0和n之间变化。散列算法的输出可以被称为篮(basket);图2显示了篮205、210、215并以此类推至篮220。
与一般的散列算法(其可以使用任何期望映射以将输入映射到篮),安全散列算法是不可预知的(有时也叫做无碰撞(collision-free)的):知道一个输入产生一个特定输出并不能给出关于如何找到另一个能产生同样输出的输入的任何信息。例如,知道输入“5”映射到篮215并不能帮助我们找到也映射到篮215的任何其他输入值。事实上,对一些特定的散列算法,可以没有映射到篮215的其他输入。这正是使安全散列算法110“安全”的原因:没有简单的方法来找到映射到期望输出的另一个输入。找到映射到特定输出的另一个输入的唯一方式是试验不同的输入,以期望找到映射到期望输出的另一个值。
安全散列算法的缺点是,篮可能不能都被均等地(equally)映射。换句话说,映射到篮215的输入可能只有一个,但映射到篮205的输入可能有100个。且如上所述,一些篮可能没有映射到它们的输入。
通用散列算法提供了安全散列算法缺失的分布特征。如图3所示,通用散列算法305也将输入映射到篮310、315、320直至325。但与图2的安全散列算法不同,通用散列算法305对这些篮均匀(evenly)分配其输入。这样,篮310以与篮315、320、325等一样的频率被映射,并依此类推。
通用散列算法的缺点是,通常容易找到映射到同一个篮的其他输入。例如,考虑这样的通用散列算法,其通过选择与输入的最后一个数位(digit)对应的篮来映射到10个篮,编号从0到9。容易看到,这一散列算法对所有篮均匀分配其输出。但也容易看到如何找到另一个映射到同一篮的输入作为给定输入。例如,1、11、21、31等等都映射到篮315。
因此,显然,安全散列算法和通用散列算法都有优点和缺点。从安全的角度看,最好的解决方式是以某种方式结合安全散列算法和通用散列算法的优点。图4显示了按照本发明的一个实施方案,图1-2的安全散列算法和图3的通用散列算法可以如何结合以生成更安全的导出密钥。在序列405,主密钥105首先传递至安全散列算法110。随后安全散列算法110的结果用作至通用散列算法305的输入,并且自此结果可生成导出密钥115-1。
尽管序列405显示了安全散列算法110在通用散列算法305之前被使用,序列410则颠倒这一顺序。因此,主密钥105用作至通用散列算法305的输入。随后通用散列算法305的结果用作至安全散列算法110的输入,自此结果可生成导出密钥115-1。
安全散列算法110和通用散列算法305可以以任何期望形式来实现。例如,安全散列算法110和通用散列算法305可以以任何种类的只读存储器(RAM)、以固件,或作为存储在存储器中的软件来实现,这些是安全散列算法110和通用散列算法305以通用处理器来实现的几个例子。实现还可以包括专用设备:例如,处理器可以被特殊设计以实现安全散列算法110和通用散列算法305。因此,作为另一个例子,可以设计一个计算器来实现安全散列算法110或通用散列算法305。本领域技术人员会认识到可以实现安全散列算法110和通用散列算法305的其他方式。
图5显示了按照本发明的一个实施方案的服务器和能够执行数据变换、密钥生成、密钥包装和数据加密的设备。在图5中显示了服务器505。服务器505包括数据变换器510、密钥导出功能部件515、密钥包装功能部件520、和加密功能部件525。数据变换器510负责执行数据变换。正如参考图8-9、10A-10C和11在下文所讨论的,当本来就不安全的情况下,数据变换通过打乱数据来增加编码数据的复杂度,因而使密码分析更困难。例如,数据变换能够掩饰存在于被编码的数据中而不存在于已变换的数据中的模式。
密钥导出功能部件515负责导出密钥以用于加密数据。虽然任何密钥都可用于加密数据,但一个特定的密钥用得越多,此密钥就越可能用密码分析来确定。因此,一些系统依靠主密钥来生成导出密钥,随后使用导出密钥来加密数据。正如常常期望的,可以生成新的导出密钥;仅利用导出密钥加密的任何数据对用新的导出密钥加密的信息的破解没有任何价值。现有的密钥导出功能部件是存在的;在下文将参考图12-13和15-16来描述三个新的密钥导出功能部件。
密钥包装功能部件520负责包装用于传输的密钥。密钥包装通常通过加密用于传输的密钥来完成。例如,RSA可用于加密(即包装)密钥。此时经充分保护的密钥即使是通过不安全的连接也可以被传输至其他机器,在此该密钥可以被解包(unwrap)(解密)并用于数据加密/解密。
常常,包装的密钥是与私钥(private key)(或对称)密码系统一起使用的密钥,其被用公钥(或不对称)密码系统包装。私钥密码系统使用相同的密钥来加密和解密,这与使用不同的密钥来加密和解密的公钥密码系统相反。例如,DES和AES是私钥密码系统;RSA是公钥密码系统。虽然公钥密码系统使安全地分发密钥(不用担心密钥被第三方截获并用于解密秘密信息)成为可能,但与私钥密码系统相比,公钥密码系统常常实现起来较慢并导致较长的消息。显然,为了使用公钥密码系统来包装密钥,服务器505需要知道包装的密钥待传递至的设备的公钥。但本领域技术人员应认识到,可使用任何加密算法来包装密钥,且待包装的密钥可用于任何类型的密码系统。
加密功能部件525用于加密数据。通常,使用使用密钥包装功能部件520包装的密钥来加密数据,尽管本领域技术人员应认识到可使用任何密钥来加密数据,而该数据可以是任何期望被加密的数据,并且可使用任何期望的加密功能部件。
图5还显示了按照本发明的一个实施方案的能够执行数据变换、密钥包装和数据加密的设备530。尽管设备530看上去像个人数字助理(PDA),但本领域技术人员应认识到,设备530,以及服务器505,可以是使用安全算法的任何设备。因此,例如,设备530可以是与服务器505(其可以是一台本质上不是服务器的普通计算机)交换文件的一台计算机(例如台式计算机或笔记本计算机)。或者,设备530可以是数字介质设备:例如,向使用者呈现数字内容,该内容由服务器505提供给设备530。替代地,设备530可以接收来自任何合法源头的内容,服务器505根据该内容来指定对设备530授予的权力。或者,设备530可以是软件,以实现存储在与通用机器(诸如计算机)一起使用的一些介质中的一些功能。在此变体中,设备530之所以成为图5所示的系统的一部分,是因为它较少地依赖于设备530的硬件,而更多地依赖于由设备530执行的软件。本领域技术人员应认识到,该软件可以实现任何期望的功能(functionality),而且该软件可以存储在任何合适的介质——诸如软盘、任何种类的压缩盘(CD)或数字视频盘(DVD,有时也叫数字多功能盘)、磁带介质、或通用串行总线(USB)钥匙——上,这里只指出一些较流行的可能性。或者,设备530可以是蜂窝电话并且服务器505可以是基站,其中该蜂窝电话和该基站以加密的方式通信。本领域技术人员应认识到设备530和服务器505的其他变体,还应认识到服务器505和设备530的通信方式可以是任何形式的通信信道:例如,有线、无线,或任何其他通信形式。
设备530与图5中的服务器505的相似之处在于,包括数据变换器510、密钥包装功能部件520和加密功能部件525。注意,设备530不包括密钥导出功能部件515,这与图5中的服务器505不同。这是因为密钥导出通常只在服务器505上是需要的。假设有一种与另一个设备通信的方式,则只有一个设备需要生成导出密钥。当然,如果没有办法安全传递导出密钥但是两个设备都能准确生成相同的导出密钥,则设备530可包括密钥导出功能部件515(虽然设备530则可能不需要密钥包装功能部件520)。
图6显示了按照本发明的一个实施方案的数据安全设备,其用于使用数据变换器与密钥包装器、密钥导出器或加密功能部件的结合来提高安全性。数据安全设备605可以是图5的服务器505或设备530的一部分,可根据需要进行改动添加或去除部件。在数据安全设备605中,输入端口610负责接收数据。该数据可以是主密钥(自该主密钥生成导出密钥)、待包装的密钥或待加密的数据等等。分割器615负责把数据分割成块。正如参考图12-13和14-16在下文讨论的,有时这些功能部件将数据变换应用于该数据的多个部分;分割器615将该数据拆成具有期望大小的块,以使数据变换器510可以应用于每一块。数据变换器510负责执行数据变换,这在下文将参考图12-13和14-16进一步讨论。组合器(combiner)620负责在数据变换后将数据块再组合到一起,用于合适的安全功能部件的应用。可使用的各种安全功能部件包括密钥导出功能部件515、密钥包装功能部件520或加密功能部件525。最后,在变换和/或应用安全功能部件之后,输出端口625输出数据。
值得注意的是,虽然通常分割器615将数据拆成符合数据变换算法的大小的块,但这并不是必须的。因此,分割器615可以将数据拆成比至数据变换器510的期望输入小或大的块。如果分割器615将数据拆成比数据变换器510期望的小的块,则该数据可以被添凑(pad)使其足够大;如果分割器615将数据拆成比数据变换器510期望的大的块,则数据变换器510可以仅将数据变换应用到该数据中的该数据变换器需要的数目的比特。例如,如果如图10的实施方案中所描述的那样来实现数据变换器510,则数据变换器510作用于8字节的输入。如果数据变换器510接收多于8字节的数据,则数据变换器510可以仅应用到该输入的8个字节。这可以是该数据中的任何8个字节:例如,最初的8字节,最后的8字节,或任何其他期望的组合。
值得注意的还有,任何数据都可以被变换。因而,待变换的数据可以是主密钥,其中变换的主密钥待用于生成导出密钥。或者,该数据可以是在传输之前待包装的导出密钥。或者,该数据可以是待使用加密算法的实现来加密的数据。本领域技术人员应认识到可以变换的其他类型的数据。
图7A-7B显示了按照本发明的一个实施方案的使用图6的数据安全设备的流程图。在图7A中,在框705,数据被分割成块。在框710,使用数据变换对每个块进行变换。每个块可以按照期望被独立地进行数据变换或不变换;换言之,一些块可以被变换,而另一些不变换。在框715,这些块可以被重新组装。如虚线720所示,框705-715是可选的,如果不需要可以跳过。
在图7B中,该数据安全设备可以按不同的方式被使用。在框725,密钥包装算法可以应用于数据。在框730,密钥导出算法可以应用于数据。而在框730,数据加密算法可以应用于数据。
图8显示了按照本发明的一个实施方案的图5和6的数据变换器的详细情况。在图8所示的数据变换器510的实施方案中,数据变换器510通过使用置换函数来置换比特组来操作。数据变换器510包括:接收待变换数据的输入端口805、分割器810、添凑器(padder)815、置换器820,和输出变换的数据的输出端口825。分割器810负责将输入数据分割成用于应用置换函数的比特组。事实上,分割器810通过将数据分成两段来开始。第一段包括用于控制置换函数在比特组上的应用的比特,这些比特是从第二段划分出来的。在一个实施方案中,该数据包括64个比特;第一段包括8个比特,而第二段包括8个7比特组。但本领域技术人员应认识到,该数据可以是任何长度的,且该数据可以分割成任何期望长度的组,即使不同的组长度不同。最后,如果个体(individual)组总是要进行置换,则第一段(其包括控制着置换组的应用的比特)可以省略。
如果数据变换器510支持接收不可预知大小的数据(而不是假定数据总是固定大小),则分割器810可能不能适当地把该数据分割成比特组。可使用添凑器815用额外的比特添凑该数据,以使该数据具有合适的长度以被适当地分割。
在一个实施方案中,置换函数的应用由第一段的比特来控制:如果第一段中的相应比特被置位(set),则使用特定的置换函数来置换比特组。例如,如果相应的比特的值为1,则使用合适的置换函数来置换相应的组;如果相应的比特的值为0,则不置换相应的组。替代地,如果相应的比特的值为0,则相应的比特组可以被视为已使用恒等置换函数(identitypermutation function)进行了置换。置换函数也可以被索引;如果置换函数的数目匹配第二段中的比特组的数目(因此也匹配第一段中的比特的数目),则单个索引可识别三个相应的单元(element):第一段中的一个比特、第二段中的一个比特组,和待应用于这个比特组的一个置换函数。
置换器820负责控制第二段的比特组的置换。在一个实施方案中,置换器820根据下面的表1所示的函数进行置换,虽然本领域技术人员应认识到可使用任何置换函数。
表1
  函数   (abcdefg的)置换
  P1   faebdgc
  P2   gfdabce
  P3   cgbfaed
  P4   ecagfdb
  P5   defcgba
  P6   bdgecaf
  P7   ecagfdb
  P8   cgbfaed
表1所示的置换有一些有趣的特征。首先,每个置换函数是置换函数P1的幂次。这样,P2=P1○P1,P3=P2○P1(=P1○P1○P1),等等。因为P6○P1将再次导致P1,所以P7和P8被选择以重复先前的P1的幂次。这意味着数据变换器510只需要知道一个置换函数的实现;其余置换函数可得自于该基本置换函数。其次,表1的置换未在该数据中引入类似于在诸如RAS、DES、AES、SHA-1等加密函数中发现的任何结构。
因为置换函数是可逆的,所以由应用使用表1的置换函数而得到的数据变换是容易地可反转的(reversible)。表2显示的置换函数为表1的置换函数的逆(inverses)。
表2
  函数   (abcdefg的)置换
  P1 -1   bdgecaf
  P2 -1   defcgba
  P3 -1   ecagfdb
  P4 -1   cgbfaed
  P5 -1   gfdabce
  P6 -1   faebdgc
  P7 -1   cgbfaed
  P8 -1   ecagfdb
这样,为了反转应用于表1的置换函数的数据变换,需要做的只是使用表2的置换函数来应用第二数据变换。为了使此反转变换成为可能,输出端口825连同置换的组一起直接输出第一段的比特;否则,变换的数据的接收器将不知道哪个比特组已被置换。
就像表1的置换函数一样,表2中的所有置换函数可得自于单个基本函数:在此情况下是P6 -1。因而,P5 -1=P6 -1○P6 -1,P4 -1=P5 -1○P6 -1(=P6 -1○P6 -1○P6 -1),等等。
图9显示了按照本发明的另一个实施方案的图5和6的数据变换器的详细情况。在图9中,输入端口905和输出端口910的操作类似于图8中的数据变换器510。但图9中的数据变换器510并不使用置换函数来置换数据,而是通过对数据计算指数置换来操作:此计算由计算器915来进行。在一个实施方案中,数据变换器510作用于3字节长的数据输入。第一段用于计算一幂次,最后两个字节自乘至该幂次。随后对结果按一模数取模。例如,一个实施方案将数据变换计算为Y=((B+1)(2A+1)mod 65537)-1,其中A是该数据输入的第一个字节,B是该数据输入的最后两个字节。于是变换的数据包括A和Y,并且为3字节长。但本领域技术人员应认识到,该输入可以有不同的长度,且可应用不同的指数置换函数。
以上所示的指数置换函数有一些优点。首先,抽象代数显示了,当指数与模数(减1)互素时,该函数循环于1和该模数之间的所有可能值,这意味着指数置换函数是一个置换。通过选择65537作为素数,比65537小1的是65536,其为2的幂次。因此,不论A为何值,(2A+1)都是奇数,因此与65536互素。其次,如果A是0,则数据输出是不变的。最后,就像图8的置换数据变换器一样,图9的数据变换器510的结构使用了在诸如RSA、DES、AES、SHA-1等加密算法中没有的结构。
如果数据变换器510支持接收不可预知大小的数据(而非假定数据总是固定大小),则分割器920可能不能将该数据分割成合适大小的段。就像图8的数据变换器中的添凑器815一样,添凑器925可用于以额外的比特来添凑该数据,以使该数据具有合适的长度以被适当地分割。
就像图8的置换数据变换器一样,图9的数据变换器510是可逆的。为了使该数据变换的反转成为可能,输出端口910连同Y一起输出不变的A。然后,为了反转该指数置换,计算器915计算2A+1按65536(即65537-1)取模的逆。如果此逆叫e,则反转的指数置换为((Y+1)emod 65537)-1。此计算的结果恢复了原始字节B。这样,通过应用第二数据变换,改变数据变换器的指数,可以容易地反转指数置换。
既然图8和9的设备已经表示出来,就可以理解它们的使用方法。图10A-10C显示了按照本发明的一个实施方案使用图8的数据变换器的流程图。在图10A中,在框1005接收数据。在框1010,该数据被分割成两段(假定比特组的置换由第一段中的比特来控制)。在框1015,数据变换器检查第二数据段是否能被均匀分割成组。如果不能,则在框1020,该数据被添凑以支持将第二段分割成大小均匀的组。(这假定该数据变换器试图将该数据输入分割成大小均匀的组;如果该数据变换器不需要将该输入数据分割成大小均匀的组,则可省略框1015和1020。)
在框1025(图10B),第二段被分割成比特组。虽然框1025描述了第二段被分割成大小相等的组,但如上所述,如果数据变换器支持,这些组也可以被分割成大小不等的组。在框1030,每个组被与第一段中的一个比特关联。在框1035,定义一基本置换函数。在框1040,将其他置换函数定义为该基本置换函数的幂次。(再次地,不要求置换是基本置换函数的幂次;每个置换函数可以与其他置换函数不相关,在此情况下可改动/省略框1035和1040。)在框1045,索引置换函数。
在框1050(图10C),数据变换器检查第一段(它控制着置换函数对第二段中的比特组的应用)中是否有比特尚待被检查。如果有未检查的比特,则在框1055,数据变换器检查该比特是否被置位。如果该比特被置位,则在框1060,由该比特索引的置换函数被识别,并且在框1065,将识别的置换应用到关联的置换组。然后控制返回到框1050以检查第一段中是否还有任何未检查的比特。在第一段中的所有比特都被检查之后,在框1070,数据变换器自第一段和置换的比特组来构建数据变换。
图11显示了按照本发明的一个实施方案的使用图9的数据变换器的流程图。在框1105,数据变换器接收数据。在框1110,数据变换器将该数据分割成两段。在框1115,第一段用于构建与所选模数互素的幂次。在框1120,将第二段自乘至所计算出的幂次。在框1125,通过对结果按所述模数取模来计算余数。最后,在框1130,自第一段和该余数来构建数据变换。
如以上参考图5所述,现有的密钥导出功能部件是存在的。然而如以上参考图4所述,现有的密钥导出功能部件不能兼提供安全散列函数和通用散列函数二者的优点。图12显示了一种密钥导出功能部件的细节,它结合了安全散列函数和通用散列函数二者的优点。在图12中,密钥导出功能部件515包括输入端口1205和输出端口1210,它们分别用于提供至该密钥导出功能部件的输入和所输出的导出密钥。密钥导出功能部件515还包括分割器1215、组合器1220,散列装置(hash)1225、判定器1230、计算器1235和比特选择器1240。
分割器1215将主密钥分割成两部分。组合器将主密钥的第一部分与一个计数器组合,该计数器可以是输入数据的一部分。将主密钥与计数器组合的一种方式是将主密钥的第一部分与计数器接合(concatenate),该计数器可以是任意大小(如4字节)。此接合可以以任一次序执行:即,主密钥的第一部分或计数器都可在该组合的前部。随后该组合的结果被使用散列函数1225——其可以是安全散列函数——打乱。(在此实施方案中,散列函数1225代替了图4的序列405中的安全散列算法110。)
判定器1230用于自主密钥的第二部分确定两个数字。在一个实施方案中,这两个数字,a和b,被确定为主密钥的第二部分的最初和最后32字节,按素数p取模。以此方式选择a和b要求主密钥具有足够的长度使得主密钥的第二部分能有64字节长。但本领域技术人员应认识到,主密钥不是必须有这么长。例如,如果计算a和b按p取模充分地改变了a和b的比特,则可以以这样的方式选择a和b:即它们的原始比特在主密钥的第二部分内重叠。
对该素数的一个特定选择可以是p192=2192-264-1,虽然本领域技术人员应认识到也可选择其他素数。随后计算器1235可实施通用散列函数ax+bmod p,其中x是散列装置1225的结果。(此通用散列函数代替了图4的序列405中的通用散列算法305)。最后,比特选择器1240为导出密钥自该通用散列函数的结果选择比特,随后这些比特可以被输出。例如,比特选择器1240可选择该通用散列函数的结果的最低有效比特(the leastsignificant bits)作为导出密钥。
图13显示了按照本发明的另一个实施方案的图5和6的密钥导出功能部件的详细情况。与图12所示的本发明的实施方案(其按照图4的序列405来实现密钥导出功能部件)相反,图13的密钥导出功能部件515并不在安全散列算法之后应用通用散列算法。作为替代,图13所示的本发明的实施方案对至安全散列算法的输入应用线性映射。
就像图12的密钥导出功能部件515一样,图13的密钥导出功能部件515包括输入端口1305和输出端口1310,它们分别接收主密钥作为输入并输出导出密钥。图13的密钥导出功能部件515还包括分割器1315、编码器1320、组合器1325、散列装置1330和比特选择器1335。
就像图12的分割器1215一样,分割器1315将主密钥分割成两部分。随后编码器1320对一计数器进行编码。编码器1320可以以任何期望的方式操作。例如,编码器1320可以通过重复该计数器以将其延展至主密钥的第一部分的长度来操作。因此,例如,如果主密钥的第一部分是64字节长的并且该计数器是用4字节表示的,则编码器1320能够重复这些4字节16次以将该计数器延展至64字节长。随后组合器1325可以将编码的计数器与主密钥的每个部分分别结合。例如,组合器1325可以在比特级将主密钥的这些部分与编码的计数器组合。一个实施方案使用XOR二进制函数(binary function)来将主密钥的这些部分与编码的计数器组合。但本领域技术人员应认识到,组合器1325可以使用任何按位二进制函数(bitwise binary function)——或事实上任何函数——来将主密钥的这些部分与编码的计数器组合。随后组合器1325将主密钥的这两部分重新组合在一起(在与编码的计数器组合之后):例如,这两部分可以接合在一起(但本领域技术人员应认识到,组合器1325可以以其他方式重新组合主密钥的这两部分)。组合器1325还可以将主密钥的重新组合的部分与编码的计数器再一次接合。
散列装置1330取组合器1325的输出并将其打乱。散列装置1330可以是安全散列函数。就像图12中的比特选择器1240一样,比特选择器1335随后可自散列装置1330的结果选择比特作为导出密钥。
既然图12和13的设备已经表示出来,就可以理解它们的使用方法。图14显示了按照本发明的一个实施方案的使用图12的密钥导出功能部件的流程图。在框1405,主密钥被分割成段。在框1410,第一段与编码的计数器组合。如以上参考图12所述,此组合可以是第一段与编码的计数器的接合。在框1415,组合的第一段被打乱。
在框1420,自第二段确定两个数字。如以上参考图12所述,可以相对于一模数来确定这两个数字。在框1425,使用所确定的这两个数字和该模数来定义通用散列函数。在框1430,该散列的结果应用于该通用散列函数。在框1435,自该通用散列的结果选择比特作为导出密钥。
图15显示了按照本发明的一个实施方案的使用图13的密钥导出功能部件的流程图。在框1505,主密钥被分割成段。在框1510,每个段与编码的计数器组合。如以上参考图13所述,这可以通过将XOR比特函数应用于各自带有编码的计数器的每一段来实现。在框1515,组合的块被重新组合,并且(如以上参考图13所述)可以与编码的计数器再次组合。在框1520,修改的主密钥被打乱,并且在框1525,自该打乱的结果选择比特作为导出密钥。
图12-15所示的密钥导出功能部件只是两个例子。也可以使用其他将安全散列算法与通用散列算法的优点结合的密钥导出功能部件。图16显示了按照本发明的一个实施方案的用于图5的数据安全设备中的另一个密钥导出功能部件的流程图。在框1605,主密钥被分割成段。在框1610,使用数据变换来变换这些段。因为这些段通常比数据变换器能够使用的大,所以只使用这些段的子集:例如,只使用数据变换需要的最初那些字节。在框1615,变换的段被组合,并与编码的计数器组合:例如,这些段与编码的计数器可以接合在一起。在框1620,该结果被打乱,并且在框1625,自该打乱的结果选择比特作为导出密钥。
虽然图12-13的设备和图14-16的流程图显示了自主密钥生成单个导出密钥,但值得说明的是,本发明的实施方案可以容易地被适应于生成重复的导出密钥。这些额外的导出密钥可以按多种方式生成。例如,图14-16的流程图都包括计数器。对于每个期望的额外导出密钥,该计数器可以累加。因而,为了导出第一密钥,该计数器可使用值1,为了导出第二密钥,该计数器可使用值2,依此类推。
在另一个变体中,并不使用图12的比特选择器1240或图13的比特选择器1335来选择比特用于导出密钥,而是一次生成足够多的结果以为所有导出密钥自组合的结果中选择比特。例如,假定期望u个密钥,每个k比特长,并进一步假定图12-13的设备和/或图14-16的流程图的结果在比特选择前产生l个比特。如果密钥导出功能部件被应用了m次,使得m*l≥u*k,则可以自m*l个结果比特中同时选择u个导出密钥。例如,m*l个结果比特可以都接合在一起;第一个密钥可以被选作最初k个比特,第二个密钥可以被选作次k个比特,依此类推直至所有u个密钥都被选择。
下面的讨论是为了提供对可以实施本发明的一些方面的合适机器的简要的总体描述。通常,该机器包括一条系统总线,附接至它的有:处理器、存储器(诸如随机存取存储器(RAM)、只读存储器(ROM)或其他状态保存介质)、存储设备、视频接口和输入/输出接口端口。该机器可以至少部分地通过以下方式被控制:通过来自传统输入设备(诸如键盘、鼠标等)的输入,以及通过从另一个机器接收的指示,与虚拟现实(VR)环境、生物测定反馈或其他输入信号交互。在此使用的术语“机器”旨在广泛地包括单个机器或由一起工作的机器或设备通信连接而成的系统。机器的实例包括计算设备(诸如个人计算机、工作站、服务器、便携式计算机、手提设备、电话、书写板(tablet)等等),以及运输设备(诸如个人或公共运输设备,例如汽车、火车、出租车等等)。
该机器可包括嵌入式控制器,诸如可编程或不可编程逻辑设备或阵列、专用集成电路、嵌入式计算机、智能卡及类似物。该机器可以利用一个或多个连接抵达一个或多个远程机器,诸如通过网络接口、调制解调器或其他通信连接。机器可以借助于物理和/或逻辑网络(诸如企业内部网(intranet)、互联网、局域网、广域网等等)互连。本领域技术人员应认识到,网络通信可以利用多种有线和/或无线的短程或长程载体和协议,包括射频(RF)、卫星、微波、IEEE(美国电气及电子工程师学会)802.11、蓝牙、光学、红外、电缆、激光等等。
可以参考或结合关联数据(包括函数、进程、数据结构、应用程序等等)来描述本发明,上述内容当被机器访问时使机器执行任务或定义抽象数据类型或低级硬件语境。关联数据可存储在如易失性和/或非易失性存储器(例如RAM、ROM等)中,或存储在其他存储设备及其关联存储介质(包括硬盘、软盘、光存储器、磁带、闪存、内存条、数字视频盘、生物存储器等等)中。关联数据也可以以包(packets)、串行数据、并行数据、传播信号等等形式在传输环境(包括物理和/或逻辑网络)上传送,而且关联数据可以以压缩的或加密的形式被使用。关联数据可用在分布式环境中,并被本地或远程地存储以用于机器访问。
虽然已参考列举出的实施方案描述并说明了本发明的原理,但应认识到,列举出的实施方案可以在设置和细节上进行改动,而不偏离本发明的这些原则。并且虽然上面的讨论集中在特定的实施方式,但也可预期其他配置。尤其是,尽管在此使用了诸如“在一个实施方案中”或类似的表述,这些表述指通常参考实施方案可能性,而不旨在将本发明限制于特定的实施方案的配置。这里使用的这些表述可以指的是相同或不同的实施方案,这些实施方案可与其他实施方案组合。
因而,鉴于在此描述的实施方案的广泛多样的变化,此详细描述和所附材料仅仅旨在是说明性的,而不应被视为对本发明的范围的限制。因此,所要求保护的是所有这些改动,只要它们落入下述权利要求及其等同物的范围和精神内。

Claims (79)

1.一种设备,包括:
一输入端口,用于接收主密钥;
一通用散列算法的实现;
一散列算法的实现;
使用所述通用散列算法的实现和所述散列算法的实现自所述主密钥生成导出密钥的装置;和
一输出端口,用于输出所述导出密钥。
2.如权利要求1所述的设备,其中所述通用散列算法的实现包括:
一分割器,用于将所述主密钥分割成第一段和第二段;
一重复器,用于重复一计数器以作为较长的比特模式来形成编码的计数器;
一第一按位二进制函数的实现,其对所述第一段和所述编码的计数器起作用以产生第一结果;
一第二按位二进制函数的实现,其对所述第二段和所述编码的计数器起作用以产生第二结果;和
一组合器,用于将所述第一结果、所述第二结果和所述编码的计数器组合以产生所述结果。
3.如权利要求1所述的设备,其中:
所述设备进一步包括一分割器,用于将所述主密钥分割成第一段和第二段;
所述散列算法的实现包括:
一组合器,用于将所述第一段与一计数器组合以产生修改的第一段;和
使用所述散列算法的实现来将所述修改的第一段打乱成散列值的装置;和
所述通用散列算法的实现包括:
一判定器,用于自所述第二段确定第一数字和第二数字;
一计算器,其包括数学公式的实现,以使用所述散列值、所述第一数字和所述第二数字来计算结果;和
一比特选择器,用于从所述结果中选择一组比特作为导出密钥。
4.如权利要求1所述的设备,其中所述用于生成的装置包括:
使用所述通用散列算法的实现用所述主密钥来产生结果的装置;和
使用所述散列算法的实现用所述结果和一计数器来产生所述导出密钥的装置。
5.如权利要求4所述的设备,其中所述通用散列算法的实现包括:
一分割器,用于将所述主密钥分割成第一段和第二段;
一重复器,用于重复所述计数器以作为较长的比特模式来形成编码的计数器;
一第一按位二进制函数的实现,其对所述第一段和所述编码的计数器起作用以产生第一结果;
一第二按位二进制函数的实现,其对所述第二段和所述编码的计数器起作用以产生第二结果;和
一组合器,用于将所述第一结果、所述第二结果和所述编码的计数器组合以产生结果。
6.如权利要求1所述的设备,其中所述用于生成的装置包括:
使用所述散列算法的实现用所述主密钥和一计数器来产生结果的装置;和
使用所述通用散列算法的实现用所述结果来产生所述导出密钥的装置。
7.如权利要求6所述的设备,其中:
所述设备进一步包括一分割器,用于将所述主密钥分割成第一段和第二段;
所述使用所述散列算法的实现的装置包括:
一组合器,用于将所述第一段与所述计数器组合以产生修改的第一段;和
使用所述散列算法的实现来将所述修改的第一段打乱成散列值的装置;和
所述使用所述通用散列算法的实现的装置包括:
一判定器,用于自所述第二段确定第一数字和第二数字;
一计算器,其包括数学公式的实现,以使用所述散列值、所述第一数字和所述第二数字来计算第二结果;和
一比特选择器,用于从所述第二结果中选择一组比特作为导出密钥。
8.一种设备,包括:
一输入端口,用于接收主密钥;
一第一计算器,用于实现通用散列算法;
一第二计算器,用于实现散列算法;
一密钥导出器,用于使用所述第一计算器和所述第二计算器自所述主密钥生成导出密钥;和
一输出端口,用于输出所述导出密钥。
9.如权利要求8所述的设备,其中所述密钥导出器包括:
一分割器,用于将所述主密钥分割成第一段和第二段;
一重复器,用于重复一计数器以作为较长的比特模式来形成编码的计数器;
一第三计算器,用于实现第一按位二进制函数,其对所述第一段和所述编码的计数器起作用以产生第一结果;
一第四计算器,用于实现第二按位二进制函数,其对所述第二段和所述编码的计数器起作用以产生第二结果;
一组合器,用于将所述第一结果、所述第二结果和所述编码的计数器组合以产生所述结果。
10.如权利要求8所述的设备,其中:
所述设备进一步包括一分割器,用于将所述主密钥分割成第一段和第二段;
所述第二计算器包括:
一组合器,用于将所述第一段与一计数器组合以产生修改的第一段;和
一第五计算器,用于实现所述散列算法,以将所述修改的第一段打乱成散列值;和
所述第一计算器包括:
一判定器,用于自所述第二段确定第一数字和第二数字;
一第六计算器,用于实现数学公式,以使用所述散列值、所述第一数字和所述第二数字来计算结果;和
一比特选择器,用于从所述结果中选择一组比特作为导出密钥。
11.如权利要求8所述的设备,其中所述密钥导出器包括:
一第三计算器,用于用所述主密钥来实现所述通用散列算法以产生结果;和
一第四计算器,用于用所述结果和一计数器来实现所述散列算法以产生所述导出密钥。
12.如权利要求11所述的设备,其中所述第一计算器包括:
一分割器,用于将所述主密钥分割成第一段和第二段;
一重复器,用于重复所述计数器以作为较长的比特模式来形成编码的计数器;
一第五计算器,用于实现第一按位二进制函数,其对所述第一段和所述编码的计数器起作用以产生第一结果;
一第六计算器,用于实现第二按位二进制函数,其对所述第二段和所述编码的计数器起作用以产生第二结果;
一组合器,用于将所述第一结果、所述第二结果和所述编码的计数器组合以产生所述结果。
13.如权利要求8所述的设备,其中所述密钥导出器包括:
一第三计算器,用于用所述主密钥和一计数器来实现所述散列算法以产生结果;和
一第四计算器,用于用所述结果来实现所述通用散列算法以产生所述导出密钥。
14.如权利要求13所述的设备,其中:
所述设备进一步包括一分割器,用于将所述主密钥分割成第一段和第二段;
所述第三计算器包括:
一组合器,用于将所述第一段与所述计数器组合以产生修改的第一段;和
一第三计算器,用于实现所述散列算法,以将所述修改的第一段打乱成散列值;和
所述第四计算器包括:
一判定器,用于自所述第二段确定第一数字和第二数字;
一第五计算器,包括数学公式的实现,以使用所述散列值、所述第一数字和所述第二数字来计算第二结果;和
一比特选择器,用于从所述第二结果中选择一组比特作为导出密钥。
15.一种设备,包括:
一输入端口,用于接收主密钥;
一分割器,用于将所述主密钥分割成第一段和第二段;
一接合器,用于将所述第一段和一计数器接合以产生修改的第一段;
一散列装置,用于将所述修改的第一段打乱成散列值;
一判定器,用于自所述第二段确定第一数字和第二数字;
一计算器,包括数学公式的实现,以使用所述散列值、所述第一数字和所述第二数字来计算结果;和
一比特选择器,用于从所述结果中选择一组比特作为导出密钥。
16.如权利要求15所述的设备,进一步包括一输出端口,用于输出所述导出密钥。
17.如权利要求15所述的设备,其中所述计算器包括:
第一功能部件的实现,用于计算所述散列值和所述第一数字的乘积;
第二功能部件的实现,用于计算所述乘积和所述第二数字的和;和
第三功能部件的实现,用于计算对所述和按一模数取模的所述结果。
18.如权利要求17所述的设备,其中所述判定器起作用以按所述模数取模来确定所述第一数字和所述第二数字。
19.如权利要求17所述的设备,其中所述第三功能部件的实现包括计算对所述和按一素数模数取模的所述结果。
20.如权利要求15所述的设备,其中所述比特选择器起作用以从所述结果中选择一组最低有效比特作为所述导出密钥。
21.一种数据安全设备,包括:
一密钥导出器,包括:
一输入端口,用于接收主密钥;
一分割器,用于将所述主密钥分割成第一段和第二段;
一接合器,用于将所述第一段和一计数器接合以产生修改的第一段;
一散列装置,用于将所述修改的第一段打乱成散列值;
一判定器,用于从对所述第二段按一模数取模来确定第一数字和第二数字;
一计算器,包括数学公式的实现,以使用所述散列值、所述第一数字和所述第二数字来计算结果;和
一比特选择器,用于从所述结果中选择一组比特作为导出密钥;和
一加密器,用于使用所述导出密钥来加密数据。
22.如权利要求21所述的数据安全设备,进一步包括一数据变换器。
23.如权利要求22所述的数据安全设备,其中所述数据变换器起作用以将原始主密钥变换为所述主密钥。
24.如权利要求22所述的数据安全设备,其中所述数据变换器起作用以将所述导出密钥变换为变换的导出密钥。
25.如权利要求21所述的数据安全设备,其中所述计算器包括:
第一功能部件的实现,用于计算所述散列值和所述第一数字的乘积;
第二功能部件的实现,用于计算所述乘积和所述第二数字的和;和
第三功能部件的实现,用于从对所述和按所述模数取模来计算所述结果。
26.如权利要求25所述的数据安全设备,其中所述第三功能部件的实现包括从对所述和按一素数模数取模来计算所述结果。
27.一种用于进行密钥导出的方法,包括:
打乱主密钥以产生散列值;
自所述主密钥确定第一数字和第二数字;
计算所述散列值、所述第一数字和所述第二数字的通用散列函数,以产生结果;和
从所述结果中的比特中选择导出密钥。
28.如权利要求27所述的方法,其中:
所述方法进一步包括,将所述主密钥分割成第一段和第二段;
打乱主密钥包括,打乱所述第一段以产生所述散列值;和
确定第一数字和第二数字包括,自所述第二段确定所述第一数字和所述第二数字。
29.如权利要求28所述的方法,其中:
所述方法进一步包括,确定一计数器;和
打乱所述第一段包括,将所述第一段和所述计数器组合。
30.如权利要求27所述的方法,其中确定第一数字和第二数字包括:
自所述主密钥导出第三数字和第四数字;
以对所述第三数字按一模数取模的方式来计算所述第一数字;及
以对所述第四数字按所述模数取模的方式来计算所述第二数字。
31.如权利要求27所述的方法,其中计算通用散列函数包括:
计算所述第一数字和所述散列值的乘积;
计算所述乘积和所述第二数字的和;和
以对所述和按一模数取模的方式来计算所述结果。
32.如权利要求31所述的方法,其中计算所述结果包括,以对所述和按一素数除子取模的方式来计算所述结果。
33.如权利要求31所述的方法,其中选择导出密钥包括,从所述结果中的一组最低有效比特中选择所述导出密钥。
34.一种用于加密导出密钥的方法,包括:
生成所述导出密钥,包括:
将所述主密钥分割成第一段和第二段;
打乱所述第一段以产生散列值;
自所述第二段确定第一数字和第二数字;
计算所述第一数字和所述散列值的乘积;
计算所述乘积和所述第二数字的和;和
以对所述和按一模数取模的方式来计算结果;和
从所述结果中的比特中选择所述导出密钥;和
使用所述导出密钥来加密数据。
35.如权利要求34所述的方法,进一步包括,在生成所述导出密钥之前应用数据变换于所述主密钥。
36.如权利要求35所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
将所述第四段中的比特组织成多个组,组的数目等于所述第三段中的比特的数目;每个组有相同数目的比特;
将每个所述组与所述第三段中的一个比特关联;
按照所述第三段中的关联的比特,应用置换函数于至少一个所述组;和
自所述第三段和所述置换的组构建变换的主密钥。
37.如权利要求35所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
作为所述第三段的函数来计算一幂次,所述幂次与第二模数的函数互素;
计算将所述第四段的函数自乘至所述幂次的结果;
以对所述结果按所述第二模数取模的方式来计算指数置换;和
自所述第三段和所计算出的指数置换构建变换的主密钥。
38.如权利要求34所述的方法,进一步包括对所述导出密钥应用数据变换。
39.如权利要求38所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
将所述第四段中的比特组织成多个组,组的数目等于所述第三段中的比特的数目;每个组有相同数目的比特;
将每个所述组与所述第三段中的一个比特关联;
按照所述第三段中的关联的比特,应用置换函数于至少一个所述组;和
自所述第三段和所述置换的组构建变换的主密钥。
40.如权利要求38所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
作为所述第三段的函数来计算一幂次,所述幂次与第二模数的函数互素;
计算将所述第四段的函数自乘至所述幂次的结果;
以对所述结果按所述第二模数取模的方式来计算指数置换;和
自所述第三段和所计算出的指数置换构建变换的主密钥。
41.如权利要求34所述的方法,进一步包括加密所述导出密钥。
42.如权利要求41所述的方法,进一步包括传输加密的导出密钥。
43.如权利要求34所述的方法,其进一步包括传输加密的数据。
44.如权利要求34所述的方法,其中:
所述方法进一步包括,确定一计数器;和
打乱所述第一段包括,将所述第一段和所述计数器组合。
45.如权利要求34所述的方法,其中确定第一数字和第二数字包括:
自所述第二段导出第三数字和第四数字;
以对所述第三数字按一模数取模的方式来计算所述第一数字;
以对所述第四数字按所述模数取模的方式来计算所述第二数字。
46.如权利要求34所述的方法,其中选择导出密钥包括,从所述结果中的一组最低有效比特中选择所述导出密钥。
47.一种设备,包括:
一输入端口,用于接收主密钥;
一组合器,用于将所述主密钥和一值组合以产生修改的主密钥;
一散列装置,用于将所述修改的主密钥打乱成散列值;和
一比特选择器,用于从所述散列值中选择一组比特作为导出密钥。
48.如权利要求47所述的设备,其中:
所述设备进一步包括一重复器,用于重复所述值以作为较长的比特模式来形成编码的值;和
所述组合器起作用以将所述主密钥和所述编码的值组合来产生修改的主密钥。
49.如权利要求48所述的设备,其中:
所述组合器包括一分割器,用于将所述主密钥分割成第一段和第二段;和
所述组合器起作用以将所述编码的值、所述第一段和所述第二段组合来产生修改的主密钥。
50.如权利要求49所述的设备,其中所述组合器进一步包括:
第一按位二进制函数的实现,其对所述第一段和所述编码的值起作用以产生第一结果;
第二按位二进制函数的实现,其对所述第二段和所述编码的值起作用以产生第二结果;和
一子组合器,用于将所述第一结果和所述第二结果组合以产生所述修改的主密钥。
51.如权利要求50所述的设备,其中所述子组合器包括一接合器,用于将所述第一结果和所述第二结果接合来产生所述修改的主密钥。
52.如权利要求47所述的设备,其中所述比特选择器起作用以从所述散列值中选择一组最低有效比特作为所述导出密钥。
53.如权利要求47所述的设备,其中所述组合器起作用以将所述主密钥和一计数器组合来产生所述修改的主密钥。
54.一种数据安全设备,包括:
一密钥导出器,包括:
一输入端口,用于接收主密钥;
一分割器,用于将所述主密钥分割成第一段和第二段;
一重复器,用于重复一值以作为较长的比特模式来形成编码的值;
第一按位二进制函数的实现,其对所述第一段和所述编码的值起作用以产生第一结果;
第二按位二进制函数的实现,其对所述第二段和所述编码的值起作用以产生第二结果;和
一组合器,用于将所述第一结果、所述第二结果和所述编码的值组合来产生所述修改的主密钥;
一散列装置,用于将所述修改的主密钥打乱成散列值;和
一比特选择器,用于从所述结果中选择一组比特作为导出密钥;和
一加密器,用于使用所述导出密钥来加密数据。
55.如权利要求54所述的数据安全设备,进一步包括一数据变换器。
56.如权利要求55所述的数据安全设备,其中所述数据变换器起作用以将原始主密钥变换为所述主密钥。
57.如权利要求55所述的数据安全设备,其中所述数据变换器起作用以将所述导出密钥变换为变换的导出密钥。
58.如权利要求54所述的数据安全设备,其中所述重复器起作用以重复一计数器以作为较长的比特模式来形成所述编码的值。
59.一种用于进行密钥导出的方法,包括:
将一主密钥与一值组合以产生修改的主密钥;
打乱所述修改的主密钥以产生散列值;和
从所述散列值中的比特中选择导出密钥。
60.如权利要求59所述的方法,进一步包括,重复所述值中的一比特模式以形成较长的比特模式。
61.如权利要求59所述的方法,其中将一主密钥与一值组合包括,使用所述主密钥和所述值来计算一按位二进制函数。
62.如权利要求59所述的方法,其中将一主密钥与一值组合包括:
将所述主密钥分割成第一段和第二段;
将所述第一段与所述值组合以产生第一结果;
将所述第二段与所述值组合以产生第二结果;和
将所述第一结果和所述第二结果组合以产生所述修改的主密钥。
63.如权利要求62所述的方法,其中将所述第一结果和所述第二结果组合包括,将所述第一结果和所述第二结果接合以产生所述修改的主密钥。
64.如权利要求59所述的方法,其中选择导出密钥包括,从所述散列值中的一组最低有效比特中选择所述导出密钥。
65.如权利要求59所述的方法,其中将一主密钥与一值组合以产生修改的主密钥包括,将所述主密钥与一计数器组合以产生所述修改的主密钥。
66.一种用于加密导出密钥的方法,包括:
将一主密钥与一值组合以产生修改的主密钥;
打乱所述修改的主密钥以产生散列值;
从所述散列值中的比特中选择导出密钥;和
使用所述导出密钥来加密数据。
67.如权利要求66所述的方法,进一步包括,在生成所述导出密钥之前应用数据变换于所述主密钥。
68.如权利要求67所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
将所述第四段中的比特组织成多个组,组的数目等于所述第三段中的比特的数目;每个组有相同数目的比特;
将每个所述组与所述第三段中的一个比特关联;
按照所述第三段中的关联的比特,应用置换函数于至少一个所述组;和
自所述第三段和所述置换的组构建所述变换的主密钥。
69.如权利要求67所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
作为所述第三段的函数来计算一幂次,所述幂次与一预先确定的模数的函数互素;
计算将所述第四段的函数自乘至所述幂次的结果;
以对所述结果按所述预先确定的模数取模的方式来计算指数置换;和
自所述第三段和所计算出的指数置换构建所述变换的主密钥。
70.如权利要求66所述的方法,进一步包括,应用数据变换于所述导出密钥。
71.如权利要求70所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
将所述第四段中的比特组织成多个组,组的数目等于所述第三段中的比特的数目;每个组有相同数目的比特;
将每个所述组与所述第三段中的一个比特关联;
按照所述第三段中的关联的比特,应用置换函数于至少一个所述组;和
自所述第三段和所述置换的组构建所述变换的主密钥。
72.如权利要求70所述的方法,其中应用数据变换包括:
将所述主密钥分割成第三段和第四段,所述第三段和所述第四段中的每一个包括至少一个比特;
为所述第三段的函数来计算一幂次,所述幂次与一预先定义的模数的函数互素;
计算将所述第四段的函数自乘至所述幂次的结果;
以对所述结果按所述预先定义的模数取模的方式来计算指数置换;和
自所述第三段和所计算出的指数置换构建所述变换的主密钥。
73.如权利要求66所述的方法,进一步包括加密所述导出密钥。
74.如权利要求73所述的方法,进一步包括传输加密的导出密钥。
75.如权利要求66所述的方法,进一步包括传输加密的数据。
76.如权利要求66所述的方法,其中将一主密钥与一值组合包括:
将所述主密钥分割成第一段和第二段;
将所述第一段与所述值组合以产生第一结果;
将所述第二段与所述值组合以产生第二结果;和
将所述第一结果和所述第二结果组合以产生所述修改的主密钥。
77.如权利要求76所述的方法,其中将所述第一结果和所述第二结果组合包括,将所述第一结果和所述第二结果接合以产生所述修改的主密钥。
78.如权利要求66所述的方法,其中将一主密钥与一值组合包括:
将所述主密钥分割成第一段和第二段;
将所述第一段与所述值组合以产生第一结果;和
将所述第一结果和所述第二段组合以产生所述修改的主密钥。
79.如权利要求66所述的方法,其中将一主密钥与一值组合以产生修改的主密钥包括,将所述主密钥与一计数器组合以产生修改的主密钥。
CN2012102836305A 2004-08-12 2005-08-09 为提高安全性的置换数据变换 Pending CN102857337A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US10/918,717 US8077861B2 (en) 2004-08-12 2004-08-12 Permutation data transform to enhance security
US10/918,717 2004-08-12
US10/918,718 US7577250B2 (en) 2004-08-12 2004-08-12 Key derivation functions to enhance security
US10/918,103 2004-08-12
US10/918,718 2004-08-12
US10/918,103 US7564970B2 (en) 2004-08-12 2004-08-12 Exponential data transform to enhance security

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2005800346085A Division CN101040474B (zh) 2004-08-12 2005-08-09 为提高安全性的置换数据变换

Publications (1)

Publication Number Publication Date
CN102857337A true CN102857337A (zh) 2013-01-02

Family

ID=35968064

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2012102846379A Pending CN102868518A (zh) 2004-08-12 2005-08-09 为提高安全性的置换数据变换
CN2012102836305A Pending CN102857337A (zh) 2004-08-12 2005-08-09 为提高安全性的置换数据变换

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2012102846379A Pending CN102868518A (zh) 2004-08-12 2005-08-09 为提高安全性的置换数据变换

Country Status (12)

Country Link
EP (6) EP2439872B1 (zh)
JP (5) JP4820821B2 (zh)
KR (7) KR101187854B1 (zh)
CN (2) CN102868518A (zh)
AU (3) AU2005277664B2 (zh)
BR (1) BRPI0514256A (zh)
CA (3) CA2576881C (zh)
IL (5) IL181206A (zh)
MA (1) MA28854B1 (zh)
MX (1) MX2007001672A (zh)
NZ (8) NZ603822A (zh)
WO (1) WO2006023334A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571925A (zh) * 2016-10-24 2017-04-19 北京云图科瑞科技有限公司 对区块链系统中的区块进行工作量证明的方法及装置
CN109962776A (zh) * 2017-12-25 2019-07-02 亚旭电脑股份有限公司 加密方法与解密方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013125A1 (en) 2009-07-27 2011-02-03 Storwize Ltd. Method and system for transformation of logical data objects for storage
US8295481B2 (en) 2009-08-31 2012-10-23 International Business Machines Corporation Virtualization of cryptographic keys
EP2487904A1 (en) * 2011-02-10 2012-08-15 Thomson Licensing Method and device for excerpt licensing
EP2605566B1 (en) 2011-12-12 2019-06-12 Sony Corporation System for transmitting a data signal in a network, method, mobile transmitting device and network device
JP6251732B2 (ja) * 2012-05-03 2017-12-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Embmsにおける集中化した鍵管理
US9407434B2 (en) 2013-01-07 2016-08-02 Cisco Technology, Inc. Secrets renewability
KR101282653B1 (ko) * 2013-03-04 2013-07-12 소프트포럼 주식회사 데이터 치환 암호화 장치 및 방법
US10474652B2 (en) * 2013-03-14 2019-11-12 Inpixon Optimizing wide data-type storage and analysis of data in a column store database
JP2014192612A (ja) * 2013-03-26 2014-10-06 Toshiba Corp 生成装置、暗号化装置、復号装置、生成方法、暗号化方法、復号方法およびプログラム
JP6614632B2 (ja) * 2014-12-19 2019-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ビットを選択する所定位置を変更することでハッシュ関数を1つ以上生成することが可能なハッシュ値を計算する方法、並びに、その為のコンピュータ及びコンピュータ・プログラム
WO2017065322A1 (ko) * 2015-10-12 2017-04-20 (주) 이스트몹 보안성이 강화된 p2p파일 전송방법 및 프로그램
JP6441390B2 (ja) * 2017-01-26 2018-12-19 株式会社東芝 生成装置、暗号化装置、復号装置、生成方法、暗号化方法、復号方法およびプログラム
CN109412791B (zh) * 2018-11-29 2019-11-22 北京三快在线科技有限公司 密钥信息处理方法、装置、电子设备及计算机可读介质
DE102019212958B3 (de) 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung von kryptographischen Schlüsseln nach einem Schlüsselableitungsmodell sowie Fahrzeug
EP4162374A1 (en) * 2020-07-23 2023-04-12 Usencryption Inc. Boolean function control gates for securely executing on a public computer code that operates on encrypted data
WO2023067952A1 (ja) * 2021-10-22 2023-04-27 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118827A1 (en) * 1997-09-17 2002-08-29 Luyster Frank C. Block cipher method
CN1380610A (zh) * 2001-04-09 2002-11-20 凤凰技术有限公司 用于计算机装置验证的系统和方法
CN1437738A (zh) * 2000-01-03 2003-08-20 埃菲克塔技术股份有限公司 数据发送和存储的有效且无损耗转换

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4316055A (en) * 1976-12-30 1982-02-16 International Business Machines Corporation Stream/block cipher crytographic system
JPS6410750A (en) * 1987-07-02 1989-01-13 Mitsubishi Electric Corp Block encipherment device
JPH0227389A (ja) * 1988-07-15 1990-01-30 Sony Corp 暗号化方法及び該暗号方法を用いた暗号化装置/復号化装置
US4964164A (en) * 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
JP2862141B2 (ja) * 1989-12-29 1999-02-24 富士通株式会社 慣用暗号を用いた識別番号ベース鍵管理装置
JPH06259012A (ja) * 1993-03-05 1994-09-16 Hitachi Ltd 階層型鍵管理による暗号方法及び情報通信システム
NZ336413A (en) * 1993-12-01 2000-01-28 Rpk Nz Ltd Method of generating random numbers by manipulating electronic pointer with coordinates at points corresponding to time instants being used for selection of points subset and computation of number function
JP3627765B2 (ja) * 1995-06-15 2005-03-09 日本電信電話株式会社 スクランブルにより情報秘匿を行なう通信システムにおける送信装置
EP0768774A3 (en) * 1995-10-16 1999-08-04 Sony Corporation Method and apparatus for data encryption using a key generation hierarchy
JPH09149025A (ja) * 1995-11-24 1997-06-06 Sezon Joho Syst:Kk 暗号通信方法及び暗号通信システム
JPH10171350A (ja) * 1996-12-10 1998-06-26 Hitachi Ltd ハッシュ値生成方法および装置
JP2002508892A (ja) * 1997-03-10 2002-03-19 ガイ・エル・フィールダー 双方向認証および暗号化システム
CA2293684A1 (en) * 1997-03-10 1998-10-15 Paul N. Alito Secure deterministic encryption key generator system and method
JPH10271104A (ja) * 1997-03-24 1998-10-09 Hitachi Inf Syst Ltd 暗号化方法及び復号化方法
JPH11122240A (ja) * 1997-10-17 1999-04-30 Fuji Xerox Co Ltd 復号装置および方法ならびにアクセス資格認証装置および方法
RU2141729C1 (ru) * 1998-01-19 1999-11-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ криптографического преобразования блоков двоичных данных
CA2282051A1 (en) * 1998-10-20 2000-04-20 Lucent Technologies, Inc. Efficient block cipher method
US7743412B1 (en) * 1999-02-26 2010-06-22 Intel Corporation Computer system identification
US6735313B1 (en) * 1999-05-07 2004-05-11 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers
DE69939254D1 (de) * 1999-06-22 2008-09-18 Hitachi Ltd Kryptografisches Gerät und Verfahren
WO2001018807A2 (en) * 1999-09-03 2001-03-15 Koninklijke Philips Electronics N.V. Recovery of a master key from recorded published material
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
JP2002185443A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd 秘密鍵管理方法
EP1425874B1 (en) * 2001-08-13 2010-04-21 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
JP2003143120A (ja) 2001-11-07 2003-05-16 Matsushita Electric Ind Co Ltd データ攪拌回路とデータ攪拌方法
US7464265B2 (en) 2002-05-03 2008-12-09 Microsoft Corporation Methods for iteratively deriving security keys for communications sessions
US6834412B2 (en) * 2002-05-07 2004-12-28 D.P.L. Enterprises, Inc. Mobile air duct vacuum
JP2004072184A (ja) 2002-08-01 2004-03-04 Nippon Hoso Kyokai <Nhk> データ改竄防止装置およびそのプログラム
JP2005309148A (ja) 2004-04-22 2005-11-04 Hitachi Ltd データ変換装置およびデータ変換方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020118827A1 (en) * 1997-09-17 2002-08-29 Luyster Frank C. Block cipher method
CN1437738A (zh) * 2000-01-03 2003-08-20 埃菲克塔技术股份有限公司 数据发送和存储的有效且无损耗转换
CN1380610A (zh) * 2001-04-09 2002-11-20 凤凰技术有限公司 用于计算机装置验证的系统和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571925A (zh) * 2016-10-24 2017-04-19 北京云图科瑞科技有限公司 对区块链系统中的区块进行工作量证明的方法及装置
CN106571925B (zh) * 2016-10-24 2020-07-10 北京云图科瑞科技有限公司 对区块链系统中的区块进行工作量证明的方法及装置
CN109962776A (zh) * 2017-12-25 2019-07-02 亚旭电脑股份有限公司 加密方法与解密方法

Also Published As

Publication number Publication date
IL181206A (en) 2011-11-30
AU2010200320A1 (en) 2010-02-18
NZ585225A (en) 2011-09-30
JP5011264B2 (ja) 2012-08-29
IL181206A0 (en) 2007-07-04
IL211476A0 (en) 2011-05-31
EP2439872A1 (en) 2012-04-11
AU2010200323B2 (en) 2012-12-20
AU2005277664A1 (en) 2006-03-02
EP2487827A3 (en) 2013-03-27
KR20110137840A (ko) 2011-12-23
JP2008510185A (ja) 2008-04-03
CA2576881C (en) 2012-11-20
KR101313869B1 (ko) 2013-10-01
BRPI0514256A (pt) 2008-06-03
AU2005277664B2 (en) 2010-03-04
EP2439872B1 (en) 2016-04-27
CA2780980A1 (en) 2006-03-02
WO2006023334A2 (en) 2006-03-02
KR101248558B1 (ko) 2013-04-03
CN102868518A (zh) 2013-01-09
JP4820821B2 (ja) 2011-11-24
NZ574825A (en) 2010-06-25
NZ592242A (en) 2012-03-30
EP2629449A2 (en) 2013-08-21
KR101366185B1 (ko) 2014-02-24
CA2781070C (en) 2015-06-23
KR101187854B1 (ko) 2012-10-08
KR20070057797A (ko) 2007-06-07
EP1776794A2 (en) 2007-04-25
MX2007001672A (es) 2007-08-02
NZ601025A (en) 2013-04-26
KR20130018979A (ko) 2013-02-25
JP5572610B2 (ja) 2014-08-13
NZ574824A (en) 2010-06-25
JP5323908B2 (ja) 2013-10-23
NZ597909A (en) 2012-07-27
JP2009069844A (ja) 2009-04-02
JP2012023763A (ja) 2012-02-02
KR20130089287A (ko) 2013-08-09
CA2781070A1 (en) 2006-03-02
KR20120098926A (ko) 2012-09-05
KR20130014623A (ko) 2013-02-07
EP2487827A2 (en) 2012-08-15
JP4879951B2 (ja) 2012-02-22
KR20110089379A (ko) 2011-08-05
KR101119933B1 (ko) 2012-03-15
AU2010200323A1 (en) 2010-02-18
CA2576881A1 (en) 2006-03-02
IL211473A (en) 2013-09-30
EP2629450A2 (en) 2013-08-21
KR101328618B1 (ko) 2013-11-13
MA28854B1 (fr) 2007-09-03
EP2439873A1 (en) 2012-04-11
AU2010200320B2 (en) 2012-12-20
IL211474A (en) 2013-09-30
IL211475A (en) 2013-09-30
IL211475A0 (en) 2011-05-31
JP2009071854A (ja) 2009-04-02
CA2780980C (en) 2014-12-02
WO2006023334A3 (en) 2006-06-01
JP2012023764A (ja) 2012-02-02
IL211473A0 (en) 2011-05-31
IL211476A (en) 2012-10-31
EP1776794A4 (en) 2010-09-22
NZ603822A (en) 2013-07-26
NZ553424A (en) 2009-03-31

Similar Documents

Publication Publication Date Title
CN101040474B (zh) 为提高安全性的置换数据变换
CN102857337A (zh) 为提高安全性的置换数据变换
AU702766B2 (en) A non-deterministic public key encryption system
US8155310B2 (en) Key derivation functions to enhance security
US8180048B2 (en) Method and system for computational transformation
WO2004032098A1 (ja) 疑似乱数発生方法及び疑似乱数発生器
US8090097B2 (en) Device, system and method for cryptographic key exchange
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
Saarinen The BlueJay ultra-lightweight hybrid cryptosystem
RU2411666C1 (ru) Способ шифрования
CN102246456A (zh) 用于对抗对基于循环群的加密的侧通道攻击的系统和方法
US20080069346A1 (en) Device, System and Method for Cryptographic Key Exchange
Alsheikhy et al. Parallelized Multi-Key Multi-Stage Cryptography
Back The RSA Algorithm and PGP

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1176189

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130102

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1176189

Country of ref document: HK