CN1771688A - 用于加密和解密的装置和方法 - Google Patents
用于加密和解密的装置和方法 Download PDFInfo
- Publication number
- CN1771688A CN1771688A CNA038229803A CN03822980A CN1771688A CN 1771688 A CN1771688 A CN 1771688A CN A038229803 A CNA038229803 A CN A038229803A CN 03822980 A CN03822980 A CN 03822980A CN 1771688 A CN1771688 A CN 1771688A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- value
- black list
- track
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 162
- 230000015654 memory Effects 0.000 claims description 54
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000005012 migration Effects 0.000 claims description 9
- 238000013508 migration Methods 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 7
- 230000010387 memory retrieval Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 235000012364 Peperomia pellucida Nutrition 0.000 claims description 3
- 240000007711 Peperomia pellucida Species 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 64
- 230000000875 corresponding effect Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000013478 data encryption standard Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000000712 assembly Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 6
- 230000004087 circulation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100053609 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) YSC84 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 239000011241 protective layer Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供了一种用于加密/解密数据的装置和方法,其包括(a)第一复数个加密表,其中所述加密表中的每个都能够将一个数据值转换成一个加密/解密值,所述数据值对应于一个数据单元,所述加密/解密值对应于一个加密/解密数据单元;(b)第二复数个选择轨迹,其中所述选择轨迹中的每个都包括一系列具有某一图案的值;(c)一个耦合到所述第二复数个选择轨迹的轨迹混合器,其适用于将对应的所述选择轨迹的值加以组合以产生一系列组合值;及(d)一个耦合到所述第一复数个加密表及轨迹混合器的加密/解密模块,其适用于通过根据一系列组合值中的一个组合值来使用选择用于每个数据单元的加密表而将那个数据单元转换成加密/解密数据单元。
Description
本申请案主张以相同发明者之名义于2002年7月27日申请的序号为60/399,092的临时美国专利申请案的权利。
技术领域
本发明涉及密码术及密码系统。更具体而言,本发明涉及一种用于加密和解密数据的装置和方法、一种用于自动设定加密/解密系统的方法和装置、一种通过使用加密/解密方法来鉴定第二装置的方法和装置及一种用于加密/解密系统的伪随机数字生成器。
背景技术
目前,大量的加密方法被应用于各种领域中。密码系统(密码体制)保护数据,尤其保护敏感数据以防止其被非故意的一方窃用、窃听或窃取。密码方法也用于在使用者之间、各种计算机系统之间和使用者与计算机系统之间进行鉴定。理想上,加密过程将原输入数据转换成如果没有恰当密钥便无法读取或解密的加密数据。
可以多种方式对密码体制加以分类,例如,将密码体制分类为对称型密码体制及不对称型密码体制。对称型密码术也称作密钥密码术,其使用单一密钥来对信息进行加密和解密。由于仅有一个密钥,所以需要某种形式的安全的密钥交换(亲自、由信使及类似情况)。非对称型密码术称作公开密钥密码术,其使用一对密钥:一个密钥(公开密钥)用于对诸如消息的数据进行加密,并且另一个密钥(私有密钥)用于对其进行解密。
数据加密标准(DES)是最众所周知的加密算法中的一种,其为使用单个56位密钥的对称型算法。DES利用一个块密码,其中原始数据(“明文”)被分成若干块并且各个块均单独地以多个循环(“迭代”)来处理从而产生加密数据(“密文”)。在流密码中,对位流进行处理,并且其通常比块密码快。
其它常规密码算法和方法包括(例如)通常用于数字签名的消息的密码散列函数、随机数字生成器、一次填充、为一种使用158位密钥的DES安全形式的三重DES(triple DES)、为一种使用128位密钥的块模式密钥加密算法的国际数据加密算法(IDEA)、RC4(广泛使用的对称型密钥算法)及其类似算法。另外,高级加密标准(AES)提供了具有交替的三种密钥长度128位、192位或256位的更强的加密方案。
通常,密码破解者或攻击者都试图找到正确密钥以便利用密码体制或观察敏感信息。密码解密高手通常利用多达成百或上千的计算机来尝试数百万个密钥直到找出正确的密钥。这种尝试每个可能的密钥以试图对密文进行解密的方法被称为蛮力攻击。蛮力攻击通常在如果使用弱密钥或口令的情况下能够成功,但在如果使用长密钥并且如果密钥由呈一个毫无意义的图案的相混合的数字与字符构成的情况下蛮力攻击将变得很困难。系统中的弱点可缩短需要尝试的密钥的数目。此外,存在诸如分析加密算法或找出密码体制中特定图案的很多其它攻击。
由于以计算机为基础的技术的不断进展,看似已攻不可破的安全方法正变得缺乏,例如,56位密钥尺寸的DES对于蛮力攻击而言已不再被认为是安全的。随着计算机性能持续改进,日益需要安全得多的数据传送和存储机制。因此,在从政府安全到个人的在线交易的所有水平上(level)都需要提供一种即使使用数千台巨型计算机仍实际上无法破解的密码体制。
发明内容
本发明提供了一种对数据进行加密/解密的装置。所述装置包括:(a)第一复数个加密表,其中所述加密表中的每个都能够将一个数据值转换成一个加密/解密值,所述数据值对应于一个数据单元,所述加密/解密值对应于一个加密/解密数据单元;(b)第二复数个选择轨迹,其中所述选择轨迹中的每个都包括一系列具有某一图案的值;(c)一个耦合到所述第二复数个选择轨迹的轨迹混合器,其适用于将对应的所述选择轨迹的值加以组合以产生一系列组合值;及(d)一个耦合到所述第一复数个加密表及轨迹混合器的加密/解密模块,其适用于通过根据一系列组合值中的一个组合值来使用选择用于每个数据单元的加密表而将那个数据单元转换成加密/解密数据单元。
根据本发明的一个方面,所述装置进一步包括一个为其所特有的识别码和一个含有所述第一复数个加密表及所述第二复数个选择轨迹以作为与所述识别码相关联的加密/解密文件的第一数据库存储器。所述第一数据库存储器可进一步包括作为加密/解密文件的一组设定参数,其能够修正各个选择轨迹的值并确定各个选择轨迹到其它轨迹的组合方式。
根据本发明的一个方面,所述装置进一步包括第二数据库存储器,其被指定用于存储至少一个不同于第一数据库存储器上的加密/解密文件的第二加密/解密文件,并且第一存储器上的加密/解密文件适用于对用于传输的第二加密/解密文件进行加密或对已加密的第二加密/解密文件进行解密。
本发明提供了一种将原始数据加密/解密为加密/解密数据的方法。所述方法包括:(a)提供第一复数个加密表,其中各个加密表都能够将一个数据值转换成一个加密/解密值,所述数据值对应于一个数据单元,所述加密/解密值对应于一个加密/解密数据单元;(b)提供第二复数个选择轨迹,其中每个选择轨迹都包括一系列具有某一图案的值;(c)将所述选择轨迹的对应值加以组合以产生一系列组合值;(d)根据一系列组合值中的一个对应组合值来选择一个用于每个数据单元的加密表;及(e)通过使用选择用于那个单元的加密表而将各个数据单元转换为加密/解密数据单元。
根据本发明的一个方面,所述方法进一步包括:(f)从数据库存储器中所存储的源文件中选出第二复数个源文件;和(g)从各个所选出的源文件中产生一系列值。所述方法可进一步包括以下两者中的至少一个:(h)通过使用设定参数来修正一系列值中各个值;和(i)选择一个数学运算以用于将各轨迹的值与其它轨迹相组合。
本发明提供了一种将原始数据加密/解密为加密/解密数据的装置。所述装置包括:(a)用于提供第一复数个加密表的构件,其中各个加密表都能够将一个数据值转换成一个加密/解密值,所述数据值对应于一个数据单元,所述加密/解密值对应于一个加密/解密数据单元;(b)用于提供第二复数个选择轨迹的构件,其中每个选择轨迹都包括一系列具有某一图案的值;(c)用于将所述选择轨迹的对应值加以组合以产生一系列组合值的构件;(d)用于根据一系列组合值中的一个对应组合值来选择一个用于每个数据单元的加密表的构件;及(e)用于通过使用选择用于那个单元的加密表而将各个数据单元转换为加密/解密数据单元的构件。
根据本发明的一个方面,所述装置进一步包括:(f)用于从数据库存储器中所存储的源文件中选出第二复数个源文件的构件;和(g)用于从各个所选出的源文件中产生一系列值的构件。所述装置可进一步包括以下四者中的至少一个:(h)用于通过使用设定参数来修正一系列值中各个值的构件;和(i)用于选择一个数学运算以用于将各轨迹的值与其它轨迹相组合的构件。所述装置可进一步包括以下两者中的至少一个:(j)用于选择单元的数据长度的构件;和(k)用于使选择构件与转换构件同步操作的构件。
根据本发明的一个方面,所述第一复数个加密表包括适用于将数据值转换成加密/解密值的第一加密表和适用于将数据值转换成加密/解密值的第二加密表,其中各个第二加密表都能够将通过一个对应的第一加密表而被加密/解密的加密/解密值逆转换为原始数据值,各个第一加密表都能够将通过一个对应的第二加密表而被加密/解密的加密/解密数据值逆转换为原始数据值。
根据本发明的一个方面,第一复数个加密表中的各个都与一个表格单元地址(tables location address)相关联,并且所述装置进一步包括用于将所述第二加密表与从对应第一加密表的表格单元地址具有一个预定量偏移的所述表格单元地址相关联的构件。用于选择加密表的构件可包括:(d1)如果将对数据进行加密,那么使用一系列组合值来选择加密表的构件;和(d2)如果将对数据进行解密,那么使用一系列具有预定偏移的组合值来选择加密表的构件。用于选择加密表的构件可包括:(d3)如果将传输数据,那么使用一系列组合值来选择加密表的构件;和(d4)如果将接收数据,那么使用一系列具有预定偏移的组合值来选择加密表的构件。或者,所述装置可包括用于在各个第一加密表与相对应的第二加密表之间提供一对一的关联的构件。
根据本发明的一个方面,所述装置进一步包括用于将一系列组合值中的一个组合值与一个表格单元地址相关联的构件和用于选择一个与所述表格单元地址相关联的加密表的构件。
本发明提供了一种在第二装置上自动地设立加密器/解密器的装置和方法,所述第二装置包括一个为其所特有的识别码和一个与所述识别码相关联的设立文件。所述设立文件能够对数据进行加密/解密。所述装置包括:用于从第二装置接收识别码的构件、用于从含有设立文件的数据库存储器中检索与识别码相关联的设立文件的构件、用于从复数个加密表中选出一组加密表的构件、用于从复数个选择轨迹中选出一组选择轨迹的构件(其中各个选择轨迹都包括一系列具有通过使用一个源文件而产生的某一图案的值)、用于从复数个设定参数中选出一组设定参数的构件、用于将一组加密表、一组选择轨迹和一组设定参数与识别码相关联的构件、用于通过使用设立文件对一组加密表、一组选择轨迹和一组设定参数进行加密的构件和用于将经加密的一组加密表、经加密的一组选择轨迹和经加密的一组设定参数传输到第二装置的构件。所述方法包括以下步骤:(a)从所述装置接收识别码;(b)从含有设立文件的数据库存储器中检索与识别码相关联的设立文件;(c)从复数个加密表中选出一组加密表;(d)从复数个选择轨迹中选出一组选择轨迹,其中各个选择轨迹都包括一系列具有通过使用一个源文件而产生的某一图案的值;(e)从复数个设定参数中选出一组设定参数;(f)将一组加密表、一组选择轨迹和一组设定参数与识别码相关联;(g)通过使用所述设立文件来对一组加密表、一组选择轨迹和一组设定参数进行加密;和(h)将经加密的一组加密表、经加密的一组选择轨迹和经加密的一组设定参数传输到第二装置。
本发明提供了一种鉴定第二装置的装置和方法,所述第二装置具有一个为其所特有的识别码和一个与所述识别码相关联的设立文件,其中所述设立文件能够对数据进行加密/解密。所述装置包括:用于从第二装置接收识别码的构件、用于从含有设立文件的数据库存储器中检索一个与识别码相关联的设立文件的构件、用于生成一序列的值并将所述序列传输到第二装置的构件、用于通过使用检索到的设立文件来对所述序列进行加密的构件、用于从经加密的序列来计算第一检查和的构件、用于从第二装置接收第二检查和的构件(所述第二检查和在第二装置处通过使用其设立文件而从经加密的序列中计算得来)、用于确定第二检查和是否与第一检查和匹配的构件和如果第二检查和与第一检查和相匹配那么用于鉴定第二装置的构件。所述方法包括如下步骤:(a)从第二装置中接收识别码;(b)从含有设立文件的数据库存储器中检索与识别码相关联的设立文件;(c)生成一序列的值且将所述序列传输到第二装置;(d)通过使用经检索到的设立文件来对所述序列进行加密;(e)从经加密的序列来计算第一检查和;(f)从第二装置接收第二检查和,其中所述第二检查和在第二装置处通过使用其设立文件而从经加密的序列中计算得来;(g)确定第二检查和是否与第一检查和匹配;和(h)如果第二检查和与第一检查和相匹配那么鉴定第二装置。
本发明的一个方面提供了一种可由机器来读取的程序存储设备,其有形地体现了可由所述机器来执行的指令程序,从而执行一种用于将原始数据加密/解密为加密/解密数据的方法,其中所述方法包括如下步骤:(a)提供第一复数个加密表,其中各个加密表都能够将一个数据值转换成一个加密/解密值,所述数据值对应于一个数据单元,所述加密/解密值对应于一个加密/解密数据单元;(b)提供第二复数个选择轨迹,其中每个选择轨迹都包括一系列具有某一图案的值;(c)将所述选择轨迹的对应值加以组合以产生一系列组合值;(d)根据一系列组合值中的一个对应组合值来选择一个用于每个数据单元的加密表;及(e)通过使用选择用于那个单元的加密表而将各个数据单元转换为加密/解密数据单元。
本发明的一个方面又提供了一种可由机器来读取的程序存储设备,其有形地体现了可由所述机器来执行的指令程序,从而执行一种在一个装置上自动地设立加密器/解密器的方法,所述装置包括一个为其所特有的识别码和一个与所述识别码相关联的设立文件,所述设立文件能够对数据进行加密/解密,其中所述方法包括以下步骤:(a)从所述装置接收识别码;(b)从含有设立文件的数据库存储器中检索与识别码相关联的设立文件;(c)从复数个加密表中选出一组加密表;(d)从复数个选择轨迹中选出一组选择轨迹,其中各个选择轨迹都包括一系列具有通过使用一个源文件而产生的某一图案的值;(e)从复数个设定参数中选出一组设定参数;(f)将一组加密表、一组选择轨迹和一组设定参数与识别码相关联;(g)通过使用设立文件对一组加密表、一组选择轨迹和一组设定参数进行加密;和(h)将经加密的一组加密表、经加密的一组选择轨迹和经加密的一组设定参数传输到所述装置。
本发明的一个方面进一步提供了一种可由机器来读取的程序存储设备,其有形地体现了可由所述机器来执行的指令程序,从而执行一种用于鉴定一个装置的方法,所述装置具有一个为其所特有的识别码和与所述识别码相关联的设立文件,所述设立文件能够对数据进行加密/解密;其中所述方法包括如下步骤:(a)从所述装置接收识别码;(b)从含有设立文件的数据库存储器中检索与识别码相关联的设立文件;(c)生成一序列的值并将所述序列传输到所述装置;(d)通过使用经检索到的设立文件来对序列进行加密;(e)从经加密的序列计算出第一检查和;(f)从所述装置中接收第二检查和,所述第二检查和在所述装置处通过使用其设立文件而从一个经加密的序列中计算得来;(g)确定第二检查和与第一检查和是否匹配;和(h)如果第二检查和与第一检查和相匹配那么鉴定所述装置。
本发明提供了一种伪随机数字生成器,其包括(a)一个适用于生成复数个选择轨迹的选择轨迹生成器,其中各个选择轨迹都包括一系列具有通过使用一个相对应的源文件而产生的某一图案的值;和(b)一个耦合到所述选择轨迹生成器的轨迹混合器,其适用于将所述选择轨迹的对应值加以组合以产生一系列组合值。所述选择轨迹生成器可包括:一个用于存储复数个源文件的存储器;和一个耦合到所述存储器的轨迹图案管理器(track patternmanager),其适用于从一个选出的源文件中生成一系列值。所述轨迹图案管理器可进一步适用于通过使用设定参数来修正一系列值中的各个值,和/或选择数学运算以用于将各个轨迹的值与其它轨迹相组合。
附图说明
被并入本文中并构成了此说明书的一部分的附图说明了本发明的一个或多个实施例,并且连同下文的详细描述用于解释本发明的原则和实施情况。
图1为示意性地说明适合于实施本发明若干方面的计算机系统的方框图。
图2为示意性地说明用于根据本发明的一个实施例来对数据进行加密/解密的装置的图。
图3A为示意性地说明根据本发明的一个实施例的用于8位单元数据大小的加密表(单一表)的一个实例以解释加密表结构的图。
图3B为示意性地说明根据本发明的一个实施例的用于加密/解密的8位单元数据大小的加密表的一个实例的图。
图3C为示意性地说明根据本发明的一个实施例的用于加密/解密的8位单元数据大小的加密表的一个实例的图。
图4A为展示根据本发明的一个实施例用作一个源文件的音频噪音文件片断的原始十六进制数据的图。
图4B为展示根据本发明的一个实施例用作一个源文件的梯度图形文件片断的原始十六进制数据的图。
图5为示意性地说明根据本发明的一个实施例的选择轨迹的一个实例的图,其中以图形表示一系列值。
图6为示意性地说明根据本发明的一个实施例的用于加密表和选择轨迹的设定屏幕的一个实例的图。
图7为示意性地说明根据本发明的一个实施例的由轨迹混合器来混合选择轨迹的过程的图。
图8为示意性地说明根据本发明的一个实施例的一种将输入(原始)数据加密/解密成加密/解密数据的方法的图。
图9A为示意性地说明根据本发明的一个实施例的加密操作的过程流程图。图9B为示意性地说明根据本发明的一个实施例的解密操作的过程流程图。
图10为示意性地说明根据本发明的一个实施例的加密和解密过程的一个实例的图。
图11A为示意性地说明根据本发明的一个实施例在加密(传输)过程和解密(接收)过程期间在一个补充性加密表库中的加密表选择功能的一个实例的图。
图11B为展示用于加密(传输)过程和解密(接收)过程(左框)中的加密表之间的关系和图11A所示的补充性加密表库中的补充性行单元(右框)之间的关系的图。
图12A为示意性地说明根据本发明的一个实施例在加密(传输)过程和解密过程期间在经重定向的加密表库中加密表选择功能的一个实例的图。
图12B为展示用于加密(传输)过程和解密(接收)过程(左框)中所使用的加密表之间的关系和在图12A所示的经重定向的行单元(右框)之间的关系的图。
图13为示意性地说明根据本发明的一个实施例用于在一个装置上自动地设立一个加密器/解密器的系统的图。
图14为示意性地说明根据本发明的一个实施例用于设立文件和会话文件的备份系统的图。
图15为示意性地说明根据本发明的一个实施例的一种用于鉴定一个装置的方法的图。
具体实施方式
本文在一种用于加密和解密的装置和方法的上下文中描述了本发明的实施例。那些所属领域技术人员将了解:本发明随后的细节描述仅仅具有说明性而并非旨在以任何方式来限定本发明。本发明的其它实施例将很容易使那些受益于这个揭示内容的专业人士想起它们。现将详细参考如附图中所说明的本发明的实施过程。在整个图式和下述详细描述中,将使用相同的参考标记以指示相同或类似的部件。
为了清晰的目的,并非对实施过程的所有的例行特征都进行展示并描述。当然,应了解,在开发任何此类实际实施过程中,必须作出许多对实施过程而言为特定的决策以达到开发者的特定目的,例如与应用相关和商业相关的限制的顺应性,并且这些特定目的将随实施过程不同和随开发者不同而发生变化。此外,应了解:如此的开发工作可能是十分复杂并且耗时的,但是不管怎样,对于受益于此揭示内容的所属领域技术人员来说将为一项常规工程事业。
根据本发明的一个实施例,组件、过程步骤和/或数据结构可通过使用各种类型的操作系统(OS)、计算平台、固件、计算机程序、计算机语言和/或通用机器来实施。所述方法可作为运行于处理电路上的编程过程来运行。处理电路可采取处理器和操作系统的许多组合的形式或采取独立设备的形式。所述过程可实施为由此硬件、单独的硬件或其任何组合所执行的指令。软件可被存储在可被机器读取的一个程序存储设备中。
此外,所属领域技术人员应了解:在不脱离本文所揭示的发明性概念的范畴和精神的前提下,同样可以使用具有不太通用的性质的设备,诸如硬连线设备、现场可编程逻辑设备(FPLD),包括现场可编程门阵列(FPGA)和复杂可编程逻辑设备(CPLD)、特殊应用集成电路(ASIC)或类似设备。
根据本发明的一个实施例,所述方法可以在数据处理计算机上实施,诸如个人计算机、工作站计算机、大型计算机或运行诸如以下OS的高性能服务器:可以从Sun Microsystem Inc.of Palo Alto,California购得的Solaris;可以从Microsoft Corporation of Redmond,Washington购得的Microsoft、WindowsXP和Windows2000;或可以从大量厂家购得的诸如Linux的Unix操作系统的各种版本。所述方法可同样在一个多处理器系统上实施,或在包括诸如下述各种外围设备的计算环境中实施:输入设备、输出设备、显示器、指示设备、存储器、存储设备、用于将数据传送到处理器并从处理器传送数据的媒体接口和其类似设备。另外,如此的计算机系统或计算环境可被局部地网络连接或处于因特网中。
在本发明的上下文中,术语“网络”包括:局域网(LAN)、广域网(WAN)、因特网、有线电视系统、电话系统、无线电信系统、光纤网络、ATM网络、帧中继网络、卫星通信系统和其类似网络。此类网络在此项技术中已经众所周知的,且因此在本文中不再进一步描述。
图1描绘了适合于实施本发明的若干方面的计算机系统100的方框图。如图1所示,所述计算机系统100包括总线102,它将诸如以下主要子系统互连:中央处理器104、系统存储器106(通常为RAM)、输入/输出(I/O)控制器108、诸如经由显示适配器112相连接的显示屏幕110的外部设备、串行端口114和116、键盘118、固定磁盘驱动器120、可操作地接收软盘124的软磁盘机122和可操作地接收CD-ROM 128的CD-ROM播放器126。可连接许多其它设备,诸如经由串行端口114而连接的指示设备130(例如,鼠标)和经由串行端口116而连接的调制解调器132。所述调制解调器132可提供经由电话链路而到远程服务器的直接连接或经由POP(存在点)而到因特网的直接连接。或者,网络接口适配器134可用于通过使用任何为所属领域技术人员所熟知的网络接口系统(例如,Ethernet、xDSL、AppleTalkTM)来对接到局域网或广域网。
可以类似方式连接许多其它设备或子系统(未图示)。同样,如下文所述,没有必要存在图1中所展示的所有设备以实践本发明。另外,所述设备和子系统可以不同于图1所示方式的方式互连。诸如图1所示的计算机系统的操作在所属领域中是已知的,并且在此申请案中不再详细论述,从而不至于使本论述过于复杂化。用来实施本发明的代码被可操作地配置于系统存储器106中或存储于诸如固定磁盘120、软盘124或CD-ROM 128的存储媒体上。
图2示意性地说明了根据本发明的一个实施例用于加密/解密数据的装置20。在此说明书中,加密/解密通常意思是执行加密和解密。然而,所述术语同样包括仅执行加密或仅执行解密的情形。如图2所示,装置20包括:第一复数个加密表22、第二复数个选择轨迹24、轨迹混合器26和加密/解密模块(加密器/解密器)28。装置20适用于接收输入数据30并输出加密/解密数据32。如果输入数据30为原始数据(或明文),那么装置20对输入数据30进行加密并输出加密数据(或密文)32。如果输入数据30为加密数据(或密文),那么装置20对输入数据30进行解密并输出解密数据(或明文)32。
输入数据30可存储在一个存储器上的文件中并被读入装置20中以进行加密或解密。输入数据30也可以是实时传输的数据流,例如,在实时通信中传输的音频或视频数据。类似地,加密/解密数据32可被存储于一个存储器中或作为数据流而在实时通信中被传输。
各个加密表22都能够将一个数据值转换成一个加密/解密值。所述数据值对应于一个输入数据单元30并且所述加密/解密值对应于一个加密/解密数据单元32。意即,装置20通过某一数据单元(即一定量的数据位)来处理输入数据30。例如,可使用四(4)位、八(8)位或十六(16)位。然而,例如,对于音频或视频数据文件来说,单元数据大小可以是从一位到一个长串的数据位的任何大小。装置20也可以包括一个数据步长选择器(未图示)来选择用于数据单元的位长。缺省值可设定为8位(一个字节)。
各个选择轨迹24都包括一系列具有某一图案的值。轨迹混合器26被耦合到选择轨迹24并将复数个选择轨迹中的对应值加以组合以产生一系列组合值34。加密/解密模块28被耦合到加密表22和轨迹混合器26。加密/解密模块28通过根据一系列组合值34中的一个组合值而使用选择用于各个输入数据单元30的加密表来将那个输入数据单元30转换成加密/解密数据单元32。
如图2所示,加密/解密模块28可包括表选择器36,其根据一系列组合值34中的当前组合值而从加密表22中选择一个加密表。此外,装置20可进一步包括选择轨迹生成器38,其从复数个源文件40中生成第二复数个选择轨迹24。
根据本发明的一个实施例,加密表是一含有单元数据的所有可能值中的每一值以便提供从数据值到加密/解密值的一对一转换的一种情况的数据表。例如,所有可能的值都由行和列的栅格(即,排列为一个矩阵)来表示。图3A说明了加密表(“单一”加密表)50的实例,呈现所述加密表以解释加密表的结构。加密表50将各个8位数据值转换成数据值本身(单一转换)并且因而并不用于加密。如图3A所示,行位置52表示1字节(8位)输入数据的第一半字节(MSB 4位)并且列位置54表示其第二半字节(LSB4位)。所述值以十六进制记数法(0、1、……F)表示。一个由行和列位置所指定的矩阵单元含有行列数据值的加密值。由于加密表50提供单一转换(即,未加密),所以各个单元含有原始数据值本身。
图3B和图3C分别说明了加密表60和70,其实际上将输入数据值转换成加密/解密数据值。虽然矩阵单元含有相同的一组可能的256个值(00、01、……、FF),但是其位置被打乱并重新排列于各个加密表中。理论上,存在256!(=256×255×254×…×2×1)个加密表以用于此一字节转换(包括单一表)。所要数量的加密表是从可能的加密表中选出以便形成一组加密表。一组或一群所选出的加密表被称作一个加密表库。优选地,在各个加密表中,尽可能多的数据值被转换成一个不同于原始数据值的加密值。同,优选地,加密表库中的加密表以相似方式尽可能彼此唯一。所述加密表可具有任何大小。例如,加密表库的大小可以是如上文所述的256或512、1024、2048、4096或类似的大小。另外,加密表并非仅限于实际表格式,而是可使用任何格式,只要能够提供输入数据值到加密值的一对一转换即可。此外,一个加密表库中可包括任何数量的加密表,并且可以定制加密表库的大小。缺省的库大小可为256个表。
根据本发明的一个实施例,加密表库中的各个加密表都具有一个表格单元地址,并且通过使用加密表的表格单元地址来指定和/或选定所述加密表。例如,此表格单元地址可以是加密表库中的一个单元,或存储所述加密表的特定存储器的存储器地址。加密表库中的加密表可被编号,并且表号码可用于选择所述加密表。
根据本发明的一个实施例,选择轨迹生成器38(图2)如下生成选择轨迹。复数个源文件40可以是存储于存储器中并用于产生选择轨迹的任何数据或文件。源文件40包括音频文件(例如,噪音文件)、图形文件(例如,梯度文件)、口令(任何长度和任何数字的口令)、波形和其调制、数学函数(例如,周期函数)、波形查找表和其类似物。源文件40亦可包括在使用时被插接的诸如通用串列总线(USB)存储器设备的硬件密钥。图4A和图4B说明了源文件40的实例。图4A展示了音频噪音文件的片断的原始十六进制数据,并且图4B展示了梯度图形文件的片断的原始十六进制数据。在所述两种数据中,在每一行上的文件地址是最左边的一列,随后为以十六进制记数法所示的16字节数据。另外,选择轨迹可由诸如作为实时源的数学调制器或振荡器的纯软件模块来生成。任何能够生成某一图案的软件模块均可使用,并且任何合成技术同样都可用于任何数量的选择轨迹。
源文件中所含有的数据通过使用软件模块(例如,轨迹图案管理器)而被转化成相对应的一系列值。任何数量的源文件都可用于产生所要数量的选择轨迹。当源文件中的数据被转化成一系列值时,可选择各个值的位数(混合器步长)。这个位数可用于为各个输入数据单元选择加密表的过程中。例如,如果混合器步长为8位并且存在三个选择轨迹,那么从各个选择轨迹中取出8位值并且将三个8位值组合成一个组合值。所述组合值可超过8位并且如果需要可进行缓冲而不会削波。同样,由于(例如)用以组合所述值的数学运算包括减法,所以组合值可为负值。
此外,应注意:混合器步长独立于被用来将输入数据加密/解密的输入数据单元的大小(数据步长)。例如,在音频数据情形中,输入数据可由32位或64位字来处理,并且(在组合之后)使用各个选择轨迹的8位以选择一个加密表从而对32位(或64位)输入数据进行加密。所述混合器步长并不限于8位,而是任何位数都可用于混合器步长,例如,4位、8位、16位和其类似位数。如上文8位情形中所描述,如果混合器步长是n位,那么一系列值中的各个值(选择轨迹值)都具有n位。
在所述一系列选择轨迹值被组合时,其可通过使用某些设定参数而得到修正。在产生一系列值的过程中,设定各种参数和根据所述设定参数来修正所述值都可以实时地执行(与加密/解密过程同时进行)并同样可以预先处理并存储为数据文件。
所述设定参数可指定如何从对应的源文件中产生所述一系列值。例如,这些设定参数包括:值偏移、步偏移(step offset)、循环长度和其类似参数。值偏移是指被加至各个选择轨迹值的值或从各个选择轨迹值被减去的值。步偏移指定一系列值与其它系列的轨迹选择值相组合的陈述点。例如,如果设定步偏移,那么所述一系列值并非从对应源文件的起始处开始,而是从某个步进点(由步偏移来指示)开始进一步到源数据中。如果循环长度大于零,那么其是指对应的源数据返回到起始点或返回到步偏移的过程步骤的数目。如果源数据与循环长度不一样长,那么所述循环将于源数据到达其末端时开始。另外,对于各个选择轨迹来说,将设定诸如加法、减法、乘法的数学运算以指定如何将选择轨迹的值与其它轨迹的值加以组合。
图5说明了根据本发明的一个实施例的选择轨迹80-88的实例,其中以图形表示一系列值。在各个选择轨迹中,展示了64个过程步骤的值,并且各个条的高度对应于所述值。在选择轨迹86中,在第32步(即,循环长度为32)之后,梯度图案返回到其起始位置。其它选择轨迹80-84和86具有大于64步的循环长度并且因而“循环返回”点并未展示于图5中。
图6示意性地说明了根据本发明的一个实施例用于加密表和选择轨迹的设置屏幕200的一个实例。如图6所示,将输入数据和加密/解密数据的单位数据长度被设定为数据步长202。将选择轨迹中值的数据长度设定为混合器步长204。设置屏幕200同样展示了加密表的大小(表大小206)和加密表库的大小(库大小208)。五个选择轨迹210-218(Hotz加密表选择轨迹1-5)展示为具有源文件类型(文件类型)、相对应源文件的简单描述和设定参数(值偏移、步偏移、循环长度)。例如,选择轨迹212为被存储为数据文件的正弦波,并且选择轨迹216实时地从一个软件模块(斜坡振荡器)中(而并非从所存储的数据文件中)生成。另外,所述选择轨迹与其它选择轨迹组合的方式由诸如“相加值”、“相减值”和“相乘值”的数学运算来指定。设置屏幕200可用作用户界面以手动地设定或编辑用于装置20的这些组件和文件。然而,这些设定可通过使用任何类型的伪随机值生成器而自动地从设定参数的集合中选出。应注意:设置屏幕200和其中的参数值是以实例的方式呈现并且其并非旨在以任何方式穷尽或限制本发明。
轨迹混合器26将从各个选择轨迹中得到的一个值加以组合,并且只要需要便可为每一步产生一个组合值以对输入数据进行加密/解密。在各个过程步骤处(即,输入数据的各单位长度)产生新的加密表选择,并且使用一系列组合值中的一个组合值从而为当前处理的输入数据单元选择其中一个加密表。当处理下一个输入数据单元时,使用一系列组合值中的下一个组合值以选择下一个加密表从而处理此下一个单元。即,在此意义上,加密表的选择(表选择步骤)与输入数据的加密/解密(数据处理步骤)同步进行。
从轨迹混合器26中可获得的可能的组合值的数量(即,可能的表选择的数量)可大于加密表库中加密表22的实际数量。可能的选择的数量可以与选择轨迹的数量乘以(可能步长值+可能偏移值)乘以用于将选择轨迹加以组合的数学运算的任何其它可能的数量一样大。然而,可能的组合值可以加密表库的大小(即,加密表的数量)来回绕,以使得任何组合值都与其中一个选择表相关联。例如,可在正方向和负方向上回绕组合值以将实际数量的加密表容纳于加密表库中。如果使用256个表,(例如)利用以零为基础的编号系统(即,加密表(0)到(255)),那么当组合值(258)正向回绕时,其可选择加密表(2);当组合值(-10)负向回绕时,其可选择加密表(246);当选择值(512)正向回绕时,其可选择加密表(0),和类似情况。使用回绕过程,任何组合值都与其中一个加密表或其表格单元地址相关联。
可使用一个以上的加密表库,并且(如果需要)所述加密表库可以在表选择步骤和加密/解密步骤中以同步方式转换或改变。此类加密表库改变可通过对同步步骤加注时间标记而以实时通信方式自动地执行。此类库变化的信息可作为一种可在加密/解密过程期间使用的自动化功能而保存并可与数据流同步发送并实时传输。
图7示意性地说明了根据本发明的一个实施例通过轨迹混合器26来混合或组合选择轨迹的过程。图7的下部分作为一个说明性实例展示了以与图5类似的方式而呈图形表示的选择轨迹220-226。在此实例中,选择轨迹220-226分别使用音频噪音文件、音频波文件、调制源和循环口令而产生。图7的上部分展示了用于前16个过程步骤(第一步240与第十六步242之间)的选择轨迹220-226的实际值的对应系列230-236。上部分第一行表示加密表选择步骤(ETS)250。
如图7所示,在各步骤处,选择轨迹230-236的对应值被组合成一个组合值(混合值),以使得产生一系列组合值252。在此实例中,所述组合值是对应选择轨迹值的总和。如果加密表库具有256个加密表,那么某些组合值将超出加密表的数量。因而,如上文所述,这些超出的值将被回绕为正或负。各个加密表库可包括关于如何产生表格选择回绕的信息。
图8示意性地说明了根据本发明的一个实施例的一种用于将输入(原始)数据加密/解密成加密/解密数据的方法。首先,为加密/解密过程(300)而选择加密表、选择轨迹和用于选择轨迹和轨迹混合器的其它设定参数。例如,诸如图6中所说明的设置屏幕200的加密/解密会话编辑器(软件工具)可用于进行此选择。在本文中,“加密/解密会话”意思是通过使用特定的一组必要组件(诸如,加密表库、选择轨迹)和其设定而为给定的输入数据所执行的加密/解密操作。下一步,选择(302)将被加密/解密的输入数据(例如,某些文件或数据流源),并也为加密/解密过程(304)选择操作模式。例如,为加密或解密的过程选择实时处理、单向传输、多向或双向传输。接着,执行(306)所选择的过程。
图9A示意性地说明了根据本发明的一个实施例的加密操作的过程流程。此加密过程可通过使用上述装置20或任何用于实施装置20的程序模块来执行。在各过程步骤中,获取原始数据310的单位长度。例如,由所述单元从一个文件中读取原始数据,或数据流被实时地从一个数据源(诸如待传输的音频/声音消息)接收并被所述单元获取。单位长度为(例如)被数据步长(在此情形中为8位)中所指定的位数分解的一个字节。
如上文所述,通过使用选择轨迹312和轨迹混合器314而产生一系列组合值并且将所述组合值用于从加密表库318中选出一个加密表(316)。如上文所述,通过使用当前选择的加密表,将原始数据加密(320)并将加密数据322输出。在这个加密过程中,获取输入数据单元与选择加密表同步进行并且为各个原始数据单元选择一个新的加密表(324)。
图9B示意性地说明了根据本发明的一个实施例的解密操作过程流程。此解密过程可以通过使用上述装置20或使用任何用于实施装置20的程序模块来执行。在各个过程步骤中,获取加密数据330的单位长度。例如,由所述单元从一个文件中读取加密数据,或数据流以实时传输或通信的方式被接收并被所述单元获取。所述单位长度为(例如)被数据步长(在此情形中为8位)中所指定的位数分解的一个字节。
如上文所述,通过使用选择轨迹332和轨迹混合器334来产生一系列组合值并且将所述组合值用于从加密表库338中选取一个加密表(336)。如上文所述,通过使用当前选择的加密表,对加密数据进行解密(340)并将原始数据342输出。然而,在解密过程中,加密值出现在加密表的矩阵单元中,并且对应的原始值被单元的行-列位置获取。即,在一个字节的数据大小的情形中,行位置表示原始数据的第一半个字节,并且列位置表示原始数据的第二半个字节。因而,在使用基础加密表库的这个实施例中,解密操作需要为加密值搜索矩阵单元。然而,如下文所述,可对加密表库进行构造以优化处理速度。在这个解密过程中,获取加密数据单元与选择加密表同步进行并且为各个加密数据单元选择一个新的加密表(344)。
图9A所述的加密过程和图9B所述的解密过程可独立地执行或在双向通信或交易中同时执行。
图10示意性地说明了根据本发明的一个实施例的加密和解密过程的一个实例。在此实例中,单位数据长度(步长)为4位(为一个的半字节)。如图10所示,以二进制(bin)和十六进制(Hex)表示输入数据,并且对于各个过程步骤(ETS)而言,以列形式呈现加密表。将原始数据串(ADD747)350加密成加密数据串(1B44A)352。通过使用与在对应加密步骤中使用的相同加密表,将加密数据串(1B44A)352解密成原始数据(ADD747)354。
如上述实施例中所述,将完全相同的加密表库用于加密和解密操作(基本加密表库)。然而,如果将相同的加密表库用于解密,那么因为需要搜索与加密值匹配的单元值,所以解密过程需要稍微更长的处理时间(但是其仍旧很快)。因而,为优化使用基本加密表库的处理速度,根据本发明的一个实施例允许加密/解密过程逆向运作(逆向选项)。即,可通过以“逆向”方式使用用于解密过程(即,为原始数据值搜索矩阵单元值并从行列位置获取加密值)(参见图9B)的加密表来执行加密过程,且反之亦然。因而,加密装置或解密装置的更快操作确实可使涉及搜索操作处理变得稍微更强烈些。如果某些数据以加密格式而被存储,并且当对于相同装置来说对数据进行检索或读取时需要解密过程,那么可使用此逆向选项以允许通过使用基本加密表库来更快地检索数据。
根据本发明的一个实施例,加密表库包括可提供彼此的逆转换(逆查找)的两组加密表(补充性加密表库)。所述加密表库包括都适用于将数据值转换成加密/解密值的第一加密表(第一组)和第二加密表(第二组)。所述第一加密表中的每一者在第二组中都具有其对应物,并且对应的第二加密表能够将被对应的第一加密表加密/解密的加密/解密值逆向转换成原始数据值。类似地,所述第一加密表中的每一者都能够将被对应的第二加密表加密/解密的加密/解密数据值逆向转换成原始数据值。
例如,在图3B所示的加密表60中,行列地址(对应于输入数据值)B5(hex)具有值92(hex)。因而,其对应的加密表在行列地址92(hex)处具有值B5(hex)以便提供逆向查找表。类似地,加密表60的行列地址4E(hex)具有值6D(hex)并因而对应的加密表在行列地址6D(hex)处具有值4E(hex)。这种类型的加密表库具有很多优点,因为相同的加密表可用于以相同方式所进行的加密和解密(不需要搜索操作)并且仅有的额外内务操作为可应用于加密或解密过程的表格单元地址的偏移。
因而,根据本发明的此实施例,第一和第二加密表中的每一者都与表格单元地址(例如,加密表库单元)相关联,并且第二加密表使表格单元地址从对应的第一加密表的表格单元地址产生一预定偏移。此偏移等于加密表库中的加密表数量除以2。例如,如果在加密表库中存在256个加密表,那么偏移值为126。因而,如果使用加密表#10(或十进制的表格单元地址10)来对原始数据进行加密,那么使用加密表#136(或十进制的表格单元地址136)来执行对数据的解密。这个过程通过回绕(当将组合值与表格选择地址相关联时)而将偏移值加到表格单元地址来完成,即,如果在库中存在256个加密表,那么通过在256(如果加密表被编码为1-256)后回绕回至1或在255后回绕回至0(如果加密表被编码为0-255)而将128加到那个地址。
在实时通信(单向或双向)中的数据流的情形中,相对端上的装置可使用相对的偏移程序。即,例如,如果发送器装置在其加密过程中偏移加密表选择,那么接收器装置在其解密过程中将不会偏移。类似地,如果发送器装置在其加密过程中并未偏移加密表选择,那么接收器装置将在其解密过程中偏移加密表选择。即,通信装置中仅有一者需要使用所述偏移。
如上文所述,根据本发明的一个实施例,这些加密表组的单元被以如下方式排列于加密表库中:将逆向表格置于加密表库中的第二半中,其对于加密表库中第一半中的其非逆向对应物来说精确地位于相对单元中。为了简单的目的,通过使用具有64个单元的加密表库来解释在此类型的加密表库内的加密表单元。
图11A示意性地说明了根据本发明的一个实施例在加密(传输)操作400和解密(接收)操作402期间通过使用一个补充性加密表库的加密表选择功能的一个实例。所述64个表格单元(1A、IB……8H)由处于对应行列地址(表格单元地址)处的矩阵单元来表示。加密表由其表格单元地址(即单元位置)来识别并选择。加密表库的第二半(行5-8)涂有阴影。
行1、列A-H(即,地址1A到1H)上的加密表分别在行5、列A-H(即,地址5A到5H)上具有其逆向对应物。类似地,行2、列A-H(即,地址2A到2H)上的加密表分别在行6、列A-H(即,地址6A到6H)上具有其逆向对应物,行3、列A-H(即,地址3A到3H)上的加密表分别在行7、列A-H(即,地址7A到7H)上具有其逆向对应物,并且行4、列A-H(即,地址4A到4H)上的加密表分别在行8、列A-H(即,地址8A到8H)上具有其逆向对应物。
例如,当在发送操作(加密操作400中的事件1)中通过使用加密表2A(所述加密表正由其地址来识别)而对一个输入数据单元进行加密时,在使用相同加密表库的接收操作(解密操作402中的事件1)中通过使用加密表6A而对加密数据进行解密。图11B说明了对于事件1-8来说用于加密操作的加密表和用于解密操作的加密表之间的关系(左框),并且同样展示了补充性行单元之间的关系(右框)。
使用此类加密表库(补充性表库)和表格单元查找方法,可将完全相同的加密表库用于加密和解密过程,而无需在加密表中进行任何搜索过程。
图12A和图12B示意性地说明了本发明的另一个类似于图11A和11B的实施例。在图11A和11B中的上述实施例(补充性加密表库)中,通过从数据的加密过程中所使用的加密表产生的预定偏移来获取用于解密过程的加密表(逆向表)。在此实施例中,加密表库同样包括第一加密表和相同数量的对应的第二加密表(即,第一加密表的逆向表)。然而,只要任何加密表在相同的加密表库中都具有其对应的逆向表,那么所述逆向表便可置于加密表库中的任何单元/地址处。这个加密表排列同样允许相同的若干组表处于传输/加密端和接收/解密端上,但需要两个额外的与加密表库中所含有的加密表具有相同大小的查找表。将一个额外的查找表用于传输/加密过程,并且将另一个用于接收/解密过程,并且各个查找表都提供了到对应逆向表格单元上的映射(或重定向)。
图12A示意性地说明了在加密(传输)操作404和解密(接收)操作406期间使用重定向的加密表库的加密表选择功能的简单实例,其中逆向表位于不同行中的相同列处(即,行重定向)。图12B说明了对于事件1-8而言在加密操作中使用的加密表和在解密操作中使用的加密表之间的关系(左框),并且同样展示了用于图12A中所示的重定向加密表库的重定向行单元之间的关系(右框)。在实际应用中,设置逆向表可为单个单元的重定向,而不是行重定向。还应注意,可将重定向映射应用于任何类型的表且并不限于具有逆向查找设定的表。
根据本发明的一个实施例,可提供两组表库,一组表库用于加密且另一组表库用于解密。即,第一加密表库包括适用于将原始数据值转换成加密值的加密表,且第二表库包括适用于将加密值转换成原始数据值的加密表。所述第一加密表库为全组加密表,且仅用于加密或仅用于传输加密数据。所述第二加密表库也为第一加密表库的全组逆向表,且对应的逆向表位于与第一加密表库中的非逆向加密表完全相同的地址。每个逆向表都可以如上所述相同的方式从给定加密表获得。通过提供专用于解密过程的另一个加密表库,排除了在解密侧中的搜索过程,且因而可与加密过程一样快的速度来执行解密过程。这个方法允许进行最快的查找,但是要求在执行相反的加密/解密过程时应使用完整的逆向表库。
通过使用上述设定屏幕200(图6)也可选择加密表库最优化的类型。另外,可为数字签名的数据(使用散列函数)或未签名的数据而变换上文论述的加密表和其它查找表,以适合用于实施本发明的装置或软件模块。
根据本发明的一个实施例,可在加密/解密操作之前来预处理轨迹混合器26、选择轨迹生成器38的一或多个操作和设定各种参数的其它操作。可根据本发明的应用来选择这些预处理选项。例如,可预处理一或多个操作,诸如选择所述复数个源文件、产生每个选择轨迹的一系列值、修改所述选择轨迹值、选择一个数学运算和组合对应的值,且可将所得数据存储在存储器中。另外,如果需要,也可预处理诸如设定值偏移、步偏移、文件片断检索的功能。此预处理提供了甚至更快的加密/解密性能。
根据本发明的一个实施例,可将在加密/解密过程中使用的所述组件、文件和其它数据与信息分类成各种文件。例如,“会话文件”可包括用以完全重建一个加密/解密会话所必需的(且足够的)所有组件。例如,会话文件包括加密表库、所有选择轨迹和其设定参数。会话文件不包括用于产生选择轨迹的任何源文件。然而,为了额外的安全性目的,可排除任何设定参数。“会话主文件”可包括用以完全重建一个加密/解密会话所必需的所有组件和在所述过程中使用的任何组件。例如,会话主文件包括加密表库、所有选择轨迹与其设定参数和所有源文件。另外,“会话包”可包括与会话主文件相同的组件,除了为额外的安全目的而被忽略的任何设定参数之外。“加密表库”包括一群加密表,例如256、512、1024、2048或4096个加密表。如上文所述,加密表库还可包括如何发生表选择回绕的选项。“轨迹包”可包括用以完全重建一组选择轨迹所必需的一切,包括任何源文件,但是为了额外的安全目的,可使任何设定值维持空的状态。“单个表”包括单个加密表,例如,256字节阵列。“表选择器轨迹”为非常小的文件,其包括用于复制选择轨迹的所有值、设定参数和数据描述。在保存运算期间,可提供一些选项以包括这个数据的任何或所有部分,并且视情况可将任何与这个选择轨迹相关联的文件添加到轨迹包。
另外,如果需要,可使用十六进制编辑器,其显示十六进制编辑窗口中的文件以用于观察、编辑和保存所编辑的文件。所述十六进制编辑器窗口将文件显示为地址列、接着为16字节的十六进制(基数16)数据且接着为右边的列,其展示与所述行的16字节的十六进制数据相等的对应的ASCII字符。如果需要,可编辑十六进制或ASCII,并保存已编辑的文件。对于选择轨迹的图形表示来说,还可使用波形编辑器。如果需要,所述波形编辑器在图形式波形窗口中显示文件(选择轨迹)以用于观察、编辑和保存已编辑的文件。文件的地址(过程步骤)为水平轴。低地址为向左且高地址为向右。在垂直轴上展示数据的每一步的值。低值在底部,而高值在顶部。步长可为8位、16位、24位、32位或其类似位数。通常使用8位或16位。如果需要,可使用大量绘图工具来编辑文件并保存已编辑的文件。
图13示意性地说明了根据本发明的一个实施例在装置502上自动地设立加密器/解密器的系统500。所述系统500可为蜂窝电话系统、无线或有线局域网(LAN)、共享文件服务器系统(下载和/或上载文件)、实况广播系统、IP语音传输和采用实时数据传送的任何系统。装置502能够对数据进行加密/解密。如图13中所示,装置502包括为所述装置所特有的识别码504和含有与所述别码相关联的加密/解密文件(设立文件)508的第一数据库存储器506。装置502还可包括第二数据库存储器510,其指定用于存储不同于在第一数据库存储器506上的加密/解密文件(设立文件)的至少一个第二加密/解密文件(会话文件)。
识别码504能够将特殊实体设备或虚拟设备(在软件内创建而成)或程序模块与特定组的加密/解密文件相关联。识别码可以成为任何可响应数字数据或与其相互作用的设备(实体或虚拟)的一部分并与其相关联。装置502包括(但不限于)蜂窝电话与其它通信设备、信用卡、外储设备、诸如通用标准总线(USB)设备的插接设备、防火墙设备、完整计算机系统、电视游戏控制台、娱乐盒、手提式设备、软件模块或存在于计算机上的个别程序和其类似物。
设立文件508包括第一复数个加密表(加密表库)和第二复数个选择轨迹。类似于上述实施例,每个加密表都能将数据值转换成加密/解密值。所述数据值对应于一个数据单元,且所述加密/解密值对应于一个加密/解密数据单元。上述任何加密表库都可用于所述设立文件。每个选择轨迹都包括一系列具有某一图案的值。设立文件508还包括一组能够修改每个选择轨迹的值并确定每个选择轨迹到其它轨迹的组合方式的设定参数。
装置502还包括一个轨迹混合器模块和一个加密/解密模块(未图示)。所述轨迹混合器模块被耦合到第一数据库存储器506(且耦合到第二数据库存储器510),并且其适用于将选择轨迹的对应值组合以产生一系列根据所述参数的组合值。所述加密/解密模块被耦合到第一数据库存储器506(且耦合到第二数据库存储器510)和轨迹混合器模块,并且其适用于通过根据所述系列组合值中的一个组合值而使用选择用于每一数据单元的加密表从而将那个数据单元转换成加密/解密数据单元。
设立文件508适用于对另一个用于传输的加密/解密文件(会话文件)进行加密,或对另一个以加密格式接收的加密/解密文件进行解密。通常,设立文件508含有与会话文件相同的要素和数据类型,且通常用于鉴定并安全地传输其它组的会话文件。在一个具有非常小的存储器的装置上,设立文件508甚至可充当会话文件。在此情况中,所述装置可能不具有用于第二存储器510的存储器空间。一个具有较大存储器的装置可保持复数个会话文件。
请注意,识别码504自身可通过使用选择轨迹和轨迹混合器而产生。因而,为了这个目的,装置502可包括一组少量数据(选择轨迹和/或设定参数),而不是按现状而含有识别码504。用于识别码504的选择轨迹和/或设定参数可为设立文件508的一部分,或可以为与设立文件508相分离的一组数据。以此方式,可以从一组少量的数据(选择轨迹)生成具有任何所要长度(可以很长)的识别码504。
通过使用识别码504和与其相关联的设立文件508,可如下从检验位点512将加密器/解密器自动地设定在装置502上。所述检验位点502可以为能够经由计算机网络(局域网络或远程网络)、经由因特网、经由无线通信或类似网络而与装置502通信的服务器或主计算机。检验位点512保持用于将与检验位点512进行通信的复数个装置(包括装置502和其它装置,例如,装置520和522)的设立文件516。设立文件516与对应装置的识别码相关联。
在自动设立过程中,检验位点512首先接收(例如)来自装置502的识别码504。从一个含有设立文件516的数据库存储器检索与识别码504相关联的设立文件516a。设立文件516a等同于设立文件508。检验位点512通过使用(例如)伪随机数字生成器而自动创建(汇编)用于装置502的会话文件。例如,从复数个加密表(或从母集加密表)中选择一组加密表,以便汇编用于装置502的加密表库。在选择加密表时,源文件40、选择轨迹生成器38和上述轨迹混合器(在图2中的装置20中)可用作伪随机数字生成器。现成的选择轨迹24和轨迹混合器26也可用作伪随机数字生成器。可使用基于一系列组合值来选择加密表的相同方法而创建一子集加密表。
同样,可从复数个选择轨迹中选择一组选择轨迹。母集选择轨迹可能已经存储在数据库中。另外,使用选择轨迹生成器38,并通过以与选择加密表类似的方式来选择源文件40和用于每个轨迹的设定参数来重新生成一组选择轨迹。源文件可从文件、口令、偏移、表和其它数据的程序库中获得。另外,也可以类似的方式自对应母集的参数来选择用于选定的选择轨迹的一组设定参数。请注意,如上所述,可通过使用伪随机数字生成器或通过使用能够执行这些选择过程的特定化工具(软件模块)来完成这些选择过程。
选定组的加密表、选择轨迹和设定参数形成了自动生成的会话文件518a。接着通过使用设立文件516a将会话文件518a加密并将其传输到装置502。会话文件518a也存储在与识别码504相关联的检验位点512中。
装置502接收经加密的会话文件518a、通过使用设立文件508对其进行解密并且将其存储在指定用于存储这个(这些)会话文件的第二数据库存储器510中。
根据本发明的一个实施例,装置502已经具有的某些组件可以用作会话文件518a的一部分。例如,因为装置502具有包括与会话文件相同类型的组件和/或文件的设立文件508,所以所有或一些组件和/或文件也可用作会话文件的一部分。在此情况中,当检验位点512创建会话文件518a时,其也从设立文件516a的组件中选择组件。例如,会话文件518a可使用设立文件516a(即,508)的所有或一些选择轨迹和一或多个额外选择轨迹。以此方式,仅有额外选择轨迹和选择轨迹将使用的标记被加密并作为会话文件518a上的信息而被发送到装置502。在会话文件518a上的信息可包括设立文件的加密表(可为完整的加密表库)将使用的标记和新的一组选择轨迹、使用现有选择轨迹的标记和新的一组设定参数、选择轨迹和设定参数将使用的标记和新的一组加密表,或它们的任意组合。在这个实施例中,装置502不必存储会话文件518a的完整的新的组件,但是其可以利用可能已经存在于系统上的组件。
可以与装置502相同的方式设立其它装置520、522和其类似装置。在其中一个装置502想要以安全的方式与另一个装置520通信的情况中,它们可以经由检验位点512来完成上述目的。例如,如上所述,装置502通过使用其识别码504而启动与检验位点512的通信,且同样要求与装置520的安全通信。如上所述,检验位点512为装置502创建了会话文件518a,并且通过使用设立文件516a将其安全地发送到装置502。检验位点512同样检索与装置520相关联的设立文件516b(即,其识别码524)、通过使用设立文件516b对会话文件518a进行加密并将其发送到装置520。因为装置520中的设立文件526等同于设立文件516b,所以装置520成功地接收并解密经加密的会话文件518a,从而用于与装置502安全通信。以此方式,尽管装置502与装置520具有不同的设立文件,但是其可具有相同的会话文件518a,从而通过所述会话文件518a上述装置可进行安全通信。
如果所指定的存储器510足够大,那么装置502可以维持用以与装置520通信的会话文件518a和(例如)以类似方式由检验位点512创建而成以与另一装置522进行通信的另一会话文件。在蜂窝电话的情形中,可以通过与呼叫号码相关联来存储这些会话文件。
在其中一个装置(例如,装置522)具有一个存储器和足够创建会话文件的计算能力的情形中,装置522可以与检验位点512相同的方式操作,且为了安全通信之目的,装置502可以直接与装置522进行通信。
根据这个实施例,使用识别码和与其相关联的特殊设立文件,可从远程位置安全传输一或多个额外会话文件。甚至在要求诸如AES的方法的传统支撑的系统上,可通过利用上述加密/解密方法来达到向那个系统传输安全密钥码。
图14示意性地说明了根据本发明的一个实施例用于设立文件和会话文件的备份系统。组成与特定识别码相关联的会话文件的各种组件和数据可以存储在任何数目的检验位点处以作为冗余的保护层。例如,如图14中所示,当检验位点542为装置540创建了会话文件544时,整个会话文件544可以被局部地存储在检验位点542处。另外,整个会话文件544或其一部分也可以被存储在一或多个其它检验位点546和548处。例如,用于选择轨迹的设定参数(选择轨迹数据)可以被存储在一或多个不同检验位点处,且原始检验位点542将指示符560存储到其它检验位点以代替选择轨迹数据。另外,为了额外安全的目的,装置540可以接收或维持一个没有选择轨迹数据的会话文件,并在需要时获得选择轨迹数据。可以从原始检验位点542、从贯穿原始检验位点542的其它检验位点、或直接从(一些)其它检验位点获得选择轨迹数据。例如,这些检验位点可经由计算机网络、无线通信、因特网或类似物而从装置540接入。如图14中所示,装置540可具有针对存储必需文件或数据的检验位点的指示符550。
根据本发明的一个实施例,没有单个检验位点来支持整个会话文件544,但是会话位点544可被划分并分布在若干检验位点中,例如,检验位点542、546和548。例如,可以对选择轨迹进行分布,使得第一选择轨迹存储在检验位点542中、第二选择轨迹存储在检验位点546中、第三选择轨迹存储在检验位点548中、第四选择轨迹存储在检验位点542中和其类似情况。可以类似方式来分布诸如加密表库、设定参数、源文件的任何其它组件或文件,或可通过组件而将上述任何其它组件或文件存储在不同检验位点中。另外,通过利用如上述的一些旋转分布方案,可为会话文件544自动地创建这些经分布的备份文件。根据这个实施例,因为其中一个检验位点并不具有完整的会话文件,所以即使一个检验位点受到攻击(虚拟地或实体地)且其信息被窃取,攻击者仍不能重建会话文件来破解代码。另外,当划分并分布会话文件时,可在多个位置中支持会话文件的每个组件以提供冗余,例如在其中一个检验位点由于某些原因而变得不可用的情况中。
另外,根据本发明的一个实施例,可将各种选择轨迹存储为一或多个在线虚拟字符的清单的一部分。因而,组装整个一组选择轨迹要求每个字符满足在虚拟空间中将其组件放置在轨迹混合器上并产生能够作为加密/解密密钥而操作的正确系列的组合值。这个过程提供了一种类型的群安全测量。
图15示意性地说明了根据本发明的一个实施例一种用于鉴定装置601的方法。待鉴定的装置601为(例如)如先前实施例中所描述的装置502,并且其包括蜂窝电话与其它通信设备、信用卡、外储设备、诸如通用标准总线(USB)设备的插接设备、防火墙设备、完整计算机系统、电视游戏控制台、娱乐盒、手提式设备和其类似设备。如上所述,装置601具有为所述装置所特有的识别码和与所述识别码相关联的设立文件618。
如图15中所示,待鉴定的装置601向检验位点603发送其识别码(600)。检验位点603从装置601接收识别码(602)、从含有设立文件604的数据库存储器检索与识别码相关联的设立文件(606)。检验位点603生成一序列的值,并将所述序列传输到装置601(608)。所述序列可以为经任意地或伪随机地选择的数据串。在检验位点603处,通过使用检索到的设立文件612对所述序列进行加密(610),并且从加密序列计算第一检查和(614)。例如,通过添加加密序列的每个字节而获得第一检查和。然而,所述检查和可通过使用任何数学功能而获得,并且也可使用一个以上的检查和。
装置601接收所述序列(616)并通过使用其本身的设立文件618而对序列进行加密(620)。设立文件618和设立文件612都与相同识别码相关联且因而相同。装置601也以与检验位点相同的方式计算一个检查和(第二检查和)(622),并将其发送回检验位点(624)。
检验位点603从装置601接收检查和(626),并确定所接收的检查和是否匹配所计算的检查和(628)。如果两个检查和不匹配,那么装置601未通过鉴定并且可发送错误消息(630)。如果两个检查和匹配,那么鉴定位点603鉴定装置601(632),并保证通信或交易开始(634)。如上文所述,可使用能够通过使用任何数学功能而获得的任何数目的检查和以提供冗余的并且更为安全的检验以及鉴定过程。
可以在诸如上述系统500的各种系统中使用这种鉴定方法。根据这个实施例,因为使用了特定的识别码,所以诸如帐号或口令的敏感信息不经电话线、因特网或其它通信信道传输。因而,本发明的实施例提供了更为安全的交易。
例如,在诸如信用卡交易或银行交易的交易中,所述识别码可以为商人识别码或顾客识别码。在银行业务或信用卡交易中,商人(银行)识别码可存在于地方银行机器上,并且顾客的识别码连同顾客的帐号可以存储在顾客信用卡上。当刷卡时,可以通过在银行机器上使用局部加密设备来读取帐号和识别码。然而,仅识别码被发送到另一方(或诸如银行的主计算机或服务器的检验位点)。在检验位点中,顾客的实际帐号可以通过使用识别码而检索到,并且可竟所述实际帐号用作源文件以创建上文所述的其中一个选择轨迹。另外,顾客的PIN或口令(与识别码相关联)也可用于在检验位点处创建另一个选择轨迹(其也为用于信用卡的原始设立文件的选择轨迹)。以此方式,可检索或重建特定顾客的设立文件以用于加密过程。在其中所述装置(诸如在这个实例中的信用卡)具有非常小的存储器时,设立文件可以用作如上所提及的会话文件。无论如何,仅有检查和被发送回到装置以确认交易。
根据本发明的一个实施例,每个选择轨迹都具有一个密钥长度,可通过所述密钥长度来重现轨迹的某一图案。优选地,一个选择轨迹的密钥长度不同于另一个选择轨迹的密钥长度,或至少一个密钥长度不同于另一个密钥长度。根据本发明的一个实施例,没有一个密钥长度是通过将另一个密钥长度乘以2n或将另一个密钥长度除以2n而获得的,其中n为整数。根据本发明的一个实施例,所述密钥长度中的差异大体上小于所述密钥长度。即,选择轨迹具有类似的(接近的)密钥长度,且它们之间的差异相对较小,举例来说,诸如999、1000、1001的密钥长度。这些密钥长度同样满足上述条件,即不通过将另一个密钥长度乘以2n或将另一个密钥长度除以2n而获得。通常,选择密钥长度,使得所有选择轨迹都具有不同密钥长度。然而,可以添加具有相同密钥长度或相对较小的密钥长度的额外选择轨迹,以用于进一步混合选择轨迹。
根据本发明的一个实施例,如上文所提及,通过组合复数个数据流,可产生非常大的唯一的数据流,其中复数个数据流中的每一者为具有不同长度(即,各个数据图案重现或循环的密钥长度)的无限重复的小数据片断,并且也不是彼此相除或平方。所述唯一的数据流在直到所有个别数据片断都返回到其起点的点处时才重复其自身,且这个点提供了非常长的密钥长度(所获得的密钥长度)。因而,这种加密方法使蛮力攻击或发现所获得的密钥变得不可能。
如上所述,用以选择加密表的一系列组合值从若干选择轨迹中产生,所述选择轨迹由诸如口令或一些音频噪音文件的小型源文件生成。然而,实际上,可使用任何大小的文件。在下列实例和公式中,假设没有一个密钥长度是通过将另一个密钥长度乘以2n或将另一个密钥长度除以2n而获得(换言之,不存在密钥长度之间的倍频程定量),且将结果与通过使用AES技术而获得的可能密钥的数目相比较。
通过使以字节计的每个轨迹的密钥长度乘以以字节计的每个其它轨迹的密钥长度(对于每个轨迹来说),接着再乘以8(每个字节中的位数)而获得通过混合具有不同密钥长度的选择轨迹所产生的所述系列的组合值的环回点(以位计)。结果表示位数(N),其在重复其自身前组成所述系列的组合值。因而,将所获得的密钥的可能组合数目给定为2N。
(实例1)
具有20,000字节、19,999字节、和19,998字节的密钥长度的三个选择轨迹产生N=(20,0000)×(19,999)×(19,998)×8=63,990,400,320,000的所获得的密钥长度。因而,存在用于所获得的密钥的263,990,400,320,000个可能的组合。另外,为了使攻击者知道所获得的密钥长度N本身,攻击者必须知道个别选择轨迹的所有密钥长度,且必须经过可能密钥长度的数以万亿次的组合,并且接着为这些可能的密钥长度的每一者进行数以亿万次的可能的密钥组合。
(实例2)
具有40,000字节、26,680字节、39,875字节和47,860字节的密钥长度的四个选择轨迹产生了N=(40,000)×(26,680)×(39,875)×(47,860)×8=16,293,305,248,000,000,000的所获得的密钥长度。因而,可能的组合数目为216,293,305,248,000,000,000。
(实例3)
具有1,000字节、992字节、975字节和832字节的密钥长度的甚至更小的选择轨迹产生了N=(1,000)×(992)×(975)×(832)×8=6,437,683,200,000的所获得的密钥长度。因而,对于所获得的密钥来说可能的组合数为26,437,683,200,000。
请注意,如果具有等于其中一个现有选择轨迹的密钥长度的额外选择轨迹(例如)添加实例3中具有1,000字节的密钥长度的第五轨迹,那么这个添加过程并不增加可能的组合数,因为相同密钥长度并不能改变系列组合值中的“环回点”。然而,尽管添加具有相等密钥长度的额外选择轨迹或划分另一选择轨迹并不增加针对蛮力攻击的保护,但是这个添加过程作为口令保护或额外的安全组件而仍旧有用,因为其添加了必须存在于混合选择轨迹值(即,系列组合值)中的值以便对数据进行解密,并且因此添加了额外保护层。
还请注意,在实例中所使用的这些数目和密钥长度是经由实例展现并且并非旨在以任何方式详尽描述或具有限制性。然而,优选地,可使用至少三个具有不同密钥长度的选择轨迹。
通过与AES比较,根据本发明的一个实施例的加密/解密系统的强度将得到充分的理解。AES采用三个密钥长度:128、192和256位。密钥的可能组合数仅分别为:2128、2192和2156。在十进制项中,这些数字大约为:对于128位密钥来说为2128≈3.4×1038;对于192位密钥来说为2192≈6.2×1057;和对于256位密钥来说为2256≈1.1×1077。比较而言,DES密钥为56位长,其意思是存在大约7.2×1016可能的DES密钥。
通过将根据本发明的可能密钥组合数中的2的幂数和AES中的幂数进行比较,所属领域技术人员将理解,根据本发明的密码体制实际上不能被任何蛮力攻击所破解。另外,可为每个新的数据单元改变加密表,其可以为一个字节、或一系列字节、或半字节或更少。
此外,请注意,根据本发明,为了破解(通过除了蛮力之外的方法)被密码体制加密的码,攻击者必须具有所有用以重建会话文件的组件和参数。如上所述,这些组件和参数不必存储在相同的地方,并且其中一些组件和参数被预设在装置或设备中且不经由通信信道传输。另外,如果需要,可独立地(个别地或成群地)传输这些组件和参数,或可将这些组件和参数分布于复数个虚拟或真实的实体或团体中使得仅当所有团体都提供其组件时才可以对加密信息进行解密。此外,任何数目的团体都可以共享相同加密/解密方案(即,相同会话文件)。
同样,当数据存储在存储器或任何存储设备中时其可保持加密,并且当所述数据被读取或使用时其能被容易解密。例如,当从存储设备中读取加密数据时,通过经由一个口令类型的屏幕而输入必需的数据或信息从而起始用于加密/解密过程的所有组件和参数,并且在会话期间,加密/解密过程保持主动,直到诸如注销、计时终止或关闭指令的用户定义事件出现为止。
另外,系统时钟(例如,诸如年、月、日、小时和分钟(例如,20030727)的日期信息)可以用作一个选择轨迹以创建受时间限制的密钥。所有或任何部分的系统时钟数据(仅月和日、小时或类似数据)可以用于生成选择轨迹。这个值可以手动或自动预置,并且这个值可以具有应用于其的数学功能(诸如乘法器)。例如,当将系统时钟的日期数据用作选择轨迹时,在某个日期被加密的数据仅能在相同的日期被解密,因为解密操作同样使用正改变的系统时钟(限制条件为系统时钟被同步)。如果将预置日期用于加密,那么解密过程仅在所述预置日期时才有可能进行。类似地,如果将包括确定日期和小时(24小时系统)的时间标记用作选择轨迹,那么加密数据仅可在所述日的一个特定时间期间读取。以此方式,在有限和/或特定时间周期期间,可以使敏感信息变得可读取或可解码。此外,任何类型的计数器也可用作选择轨迹。例如,如果计数器的MSB用作选择轨迹,那么密钥仅在计数器正在计数的事件的有限时间期间有效,例如,存取相同加密文件的数目、加密/解密会话的数目,和其类似数目。
另外,如上所述,因为任何数据的长度(确切地为兆字节数据)都可从若干少量数据(即,选择轨迹)中产生,其中每个数据都具有某一密钥长度,所以当选择轨迹和设定参数的一个特定组合生成特殊数据时,这个加密方法可以用作数据压缩方法。
另外,本发明可通过允许已根据本发明而被加密/解密的数据穿过防火墙或过滤器而用作防火墙系统和/或电子邮件过滤系统的一部分。水印或数字签名也可以并入会话文件和经加密的输出文件中。
虽然已经展示并且描述了本发明的实施例和应用,但是受益于此揭示内容的所属领域技术人员将不难明白,可在不脱离本文的发明性概念的前提下作出比上述所提及的修改更多的修改。因此,本发明仅在附加权利要求书的精神中受到限制。
Claims (75)
1.一种用于加密/解密数据的装置,所述装置包含:
第一复数个加密表,其中所述加密表中的每个都能够将一个数据值转换成一个加密/解密值,所述数据值对应于所述数据的一个单元,所述加密/解密值对应于加密/解密数据的一个单元;
第二复数个选择轨迹,其中所述选择轨迹中的每个都包括一系列具有某一图案的值;
一个耦合到所述第二复数个选择轨迹的轨迹混合器,其适用于将所述选择轨迹的对应值加以组合以产生一系列组合值;和
一个耦合到所述第一复数个加密表与所述轨迹混合器的加密/解密模块,其适用于通过根据所述系列的组合值中的一个组合值而使用选择用于所述数据的每一单元的一个加密表从而将所述单元转换成加密/解密数据的一个单元。
2.根据权利要求1所述的装置,还包含:
一个选择轨迹生成器,其适用于从复数个源文件生成所述第二复数个选择轨迹。
3.根据权利要求1所述的装置,还包含:
一个数据步长选择器,其适用于为所述单元选择一个数据长度。
4.根据权利要求3所述的装置,其中所述数据长度为一个字节。
5.根据权利要求3所述的装置,其中所述数据长度小于一个字节。
6.根据权利要求3所述的装置,其中所述数据长度大于一个字节。
7.根据权利要求1所述的装置,其中所述表选择器和所述加密/解密模块的操作同步进行。
8.根据权利要求1所述的装置,其中所述数据是一个实时传输的数据流。
9.根据权利要求1所述的装置,其中所述加密/解密数据是一个实时传输的数据流。
10.根据权利要求1所述的装置,其中所述第一复数个加密表包括:
第一表库,其包括适用于将一个原始数据值转换成一个加密值的加密表;和
第二表库,其包括适用于将所述加密值转换成所述原始数据值的加密表。
11.根据权利要求1所述的装置,其中所述第一复数个加密表包括:
第一加密表,其适用于将所述数据值转换成所述加密/解密值;和
第二加密表,其适用于将所述数据值转换成所述加密/解密值,其中
所述第二加密表中的每个都能够将被一个对应的第一加密表加密/解密的加密/解密值逆转换成一个原始数据值,所述第一加密表中的每个都能够将被一个对应的第二加密表加密/解密的加密/解密数据值逆转换成一个原始数据值。
12.根据权利要求11所述的装置,其中所述第一复数个加密表中的每个都与表格单元地址相关联,且所述第二加密表使所述表格单元地址从所述对应第一加密表的表格单元地址产生一个预定量的偏移。
13.根据权利要求11所述的装置,其中所述加密/解密模块包括:
一个耦合到所述第一复数个加密表和所述轨迹混合器的表选择器,所述表选择器适用于使所述系列组合值中的一个组合值与一个表格单元地址相关联。
14.根据权利要求13所述的装置,其中所述表选择器还适用于
如果将对所述数据进行加密,那么通过使用所述系列的组合值来选择所述加密表;和
如果将对所述数据进行解密,那么通过使用具有所述预定偏移的所述系列的组合值来选择所述加密表。
15.根据权利要求13所述的装置,其中所述表选择器适用于
如果将传输所述数据,那么通过使用所述系列的组合值来选择所述加密表;和
如果接收所述数据,那么通过使用具有所述预定偏移的所述系列的组合值来选择所述加密表。
16.根据权利要求11所述的装置,还包含:
一个查找表,其提供在所述第一加密表中的每个与所述对应第二加密表之间的一对一的关联。
17.根据权利要求1所述的装置,其中所述加密表能够将每个可能的数据值转换成一个对应的加密/解密值,该加密/解密值也可以是不同于所述原始数据值的所述可能数据值中的一个。
18.根据权利要求1所述的装置,其中所述选择轨迹生成器包括:
一个存储有复数个源文件的存储器;和
一个耦合到所述存储器的轨迹图案管理器,其适用于从一个所选择的源文件生成一系列值。
19.根据权利要求18所述的装置,其中所述轨迹图案管理器还适用于通过使用设定参数来修改所述系列值中的每个。
20.根据权利要求18所述的装置,其中所述轨迹图案管理器还适用于选择一个数学运算以将它用于将每个轨迹的值与其它轨迹组合。
21.根据权利要求1所述的装置,还包含:
一个为所述装置所特有的识别码;和
第一数据库存储器,其含有所述第一复数个加密表和所述第二复数个选择轨迹以作为一个与所述识别码相关联的加密/解密文件。
22.根据权利要求21所述的装置,其中所述第一数据库存储器还包括作为所述加密/解密文件的:
一组设定参数,其能够修改所述选择轨迹中的每个选择轨迹的值并确定每个选择轨迹组合到其它轨迹的方式。
23.根据权利要求21所述的装置,还包含:
一个第二数据库存储器,其指定用于存储至少一个不同于在所述第一数据库存储器上的所述加密/解密文件的第二加密/解密文件。
24.根据权利要求23所述的装置,其中在所述第一存储器上的所述加密/解密文件适用于对用于传输的所述第二加密/解密文件进行加密,或对被加密的所述第二加密/解密文件进行解密。
25.根据权利要求1所述的装置,其中所述选择轨迹中的每个都具有一个密钥长度,所述轨迹的某一图案通过所述密钥长度来重现。
26.根据权利要求25所述的装置,其中一个选择轨迹的密钥长度不同于另一选择轨迹的密钥长度。
27.根据权利要求26所述的装置,其中所述密钥长度没有一个是通过将另一密钥长度乘以2n或将另一密钥长度除以2n而获得的,其中n为一个整数。
28.根据权利要求25所述的装置,其中所述密钥长度中的差异大体上小于所述密钥长度。
29.一种用于将原始数据加密/解密成加密/解密数据的方法,所述方法包含:
提供第一复数个加密表,其中每个加密表都能够将一个数据值转换成一个加密/解密值,所述数据值对应于所述数据的一个单元,所述加密/解密值对应于加密/解密数据的一个单元;
提供第二复数个选择轨迹,其中每个选择轨迹都包括一系列具有某一图案的值;
组合所述选择轨迹的对应值以产生一系列组合值;
根据所述系列的组合值中的一个对应组合值为所述数据的每个单元选择一个加密表;和
通过使用选择用于所述数据的每个单元的所述加密表而将所述单元转换成一个加密/解密数据单元。
30.根据权利要求29所述的方法,还包含:
从存储在一个数据库存储器中的源文件中选择所述第二复数个源文件;和
从所述经选择的源文件中的每个源文件产生一系列值。
31.根据权利要求30所述的方法,还包含:
通过使用设定参数来修改所述系列值中的每个值。
32.根据权利要求31所述的方法,还包含:
选择一个数学运算以将它用于将每个轨迹的值与其它轨迹组合。
33.根据权利要求32所述的方法,还包含:
预处理下列中的至少一个
所述选择所述第二复数个源文件,
所述产生一系列值,
所述修改,
所述选择一个数学运算,和
所述组合对应值;和
在一个数据库存储器中存储下列中的至少一个
从所述经选择的源文件所产生的系列值,
由所述设定参数修改的系列值,和
所述的组合值系列。
34.根据权利要求29所述的方法,还包含:
选择所述单元的一个数据长度。
35.根据权利要求34所述的方法,其中所述数据长度为一个字节。
36.根据权利要求34所述的方法,其中所述数据长度小于一个字节。
37.根据权利要求34所述的方法,其中所述数据长度大于一个字节。
38.根据权利要求29所述的方法,还包含:
使所述选择与所述转换同步。
39.根据权利要求29所述的方法,其中所述数据是一个实时传输的数据流。
40.根据权利要求29所述的方法,其中所述加密/解密数据是一个实时传输的数据流。
41.根据权利要求29所述的方法,其中所述第一复数个加密表包括:
第一表库,其包括适用于将一个原始数据值转换成一个加密值的加密表;和
第二表库,其包括适用于将所述加密值转换成所述原始数据值的加密表。
42.根据权利要求29所述的方法,其中所述第一复数个加密表包括:
第一加密表,其适用于将所述数据值转换成所述加密/解密值;和
第二加密表,其适用于将所述数据值转换成所述加密/解密值,其中
所述第二加密表中的每个都能够将被一个对应的第一加密表加密/解密的所述加密/解密值逆转换成一个原始数据值,所述第一加密表中的每个都能够将被一个对应的第二加密表加密/解密的所述加密/解密数据值逆转换成一个原始数据值。
43.根据权利要求42所述的方法,其中所述第一复数个加密表中的每个都与一个表格单元地址相关联,所述方法还包含:使所述第二加密表与从所述对应的第一加密表的表格单元地址具有一个预定量的偏移的所述表格单元地址相关联。
44.根据权利要求43所述的方法,其中所述选择一个加密表包括:
如果将对所述数据进行加密,那么通过使用所述系列的组合值来选择所述加密表;和
如果将对所述数据进行解密,那么通过使用具有所述预定偏移的所述系列的组合值来选择所述加密表。
45.根据权利要求43所述的方法,其中所述选择一个加密表包括:
如果将传输所述数据,那么通过使用所述系列的组合值来选择所述加密表;和
如果接收所述数据,那么通过使用具有所述预定偏移的所述系列的组合值来选择所述加密表。
46.根据权利要求42所述的方法,还包含:
提供所述第一加密表中的每个与所述对应第二加密表之间的一对一的关联。
47.根据权利要求29所述的方法,其中所述加密表能够将每个可能的数据值转换成一个对应的加密/解密值,该加密/解密值也可以是不同于所述原始数据值的所述可能数据值中的一个。
48.根据权利要求29所述的方法,其中所述选择一个加密表包括:
使所述系列中的一个组合值与一个表格单元地址相关联;
选择一个与所述表格单元地址相关联的加密表。
49.一种用于在一个装置上自动地设立一个加密器/解密器的方法,所述装置包括一个为所述装置所特有的识别码和一个与所述识别码相关联的设立文件,所述设立文件能够对数据进行加密/解密,所述方法包含:
从所述装置接收所述识别码;
从一个含有设立文件的数据库存储器检索与所述识别码相关联的设立文件;
创建一个会话文件,包括
从复数个加密表中选择一组加密表;
从复数个选择轨迹中选择一组选择轨迹,其中所述选择轨迹中的每个都包括一系列具有某一图案的值;和
从复数个设定参数中选择一组设定参数;
使所述会话文件与所述识别码相关联;
通过使用所述设立文件而对所述会话文件的信息进行加密;和向所述装置传输所述会话文件的加密信息。
50.根据权利要求49所述的方法,其中所述会话文件的信息包括:
所述的加密表组;
所述的选择轨迹组;和
所述的设定参数组。
51.根据权利要求49所述的方法,其中所述会话文件的信息包括下列中的至少一个:
将使用哪个加密表的指示;
将使用哪个选择轨迹的指示;和
将使用哪个设定参数的指示。
52.根据权利要求49所述的方法,还包含:
在一个数据库存储器中存储与所述识别码相关联的会话文件的信息。
53.根据权利要求52所述的方法,还包含:
在一个不同单元处的一个第二数据库存储器中存储与所述识别码相关联的所述组的加密表、所述组的选择轨迹和所述组的设定参数中的至少一个。
54.根据权利要求52所述的方法,其中所述第二数据库存储器可经由一个计算机网络而从所述装置存取。
55.根据权利要求49所述的方法,其中所述选择一组选择轨迹包括:
选择一个含有能够产生某一图案的数据的源文件;和
选择一个能够生成某一图案的软件模块。
56.根据权利要求49所述的方法,其中所述选择一组加密表包括:
选择所述设立文件的一组加密表。
57.根据权利要求49所述的方法,其中所述选择一组选择轨迹包括:
选择所述设立文件的至少一个选择轨迹。
58.根据权利要求49所述的方法,其中所述选择一组设定参数包括:
选择所述设立文件的至少一个设定参数。
59.一种用于鉴定一个具有为所述装置所特有的一个识别码和一个与所述识别码相关联的设立文件的装置的方法,所述设立文件能够对数据进行加密/解密,所述方法包含:
从所述装置接收所述识别码;
从一个含有设立文件的数据库存储器检索一个与所述识别码相关联的设立文件;
生成一序列的值并将所述序列传输到所述装置;
使用所述检索到的设立文件对所述序列进行加密;
从所述加密序列计算第一检查和;
从所述装置接收第二检查和,所述第二检查和在所述装置处通过使用其所述设立文件而从一个加密序列计算得到;
确定所述第二检查和是否匹配所述第一检查和;和
如果所述第二检查和匹配所述第一检查和,那么鉴定所述装置。
60.一种用于在第二装置上自动地设立一个加密器/解密器的装置,所述第二装置包括一个为所述第二装置所特有的识别码和一个与所述识别码相关联的设立文件,所述设立文件能够对数据进行加密/解密,所述装置包含:
用于从所述第二装置接收所述识别码的构件;
用于从一个含有设立文件的数据库存储器来检索与所述识别码相关联的设立文件的构件;
用于从复数个加密表中选择一组加密表的构件;
用于从复数个选择轨迹中选择一组选择轨迹的构件,其中所述选择轨迹中的每个都包括一系列具有通过使用一个源文件而产生的某一图案的值;
用于从复数个设定参数中选择一组设定参数的构件;
用于使所述组的加密表、所述组的选择轨迹和所述组的设定参数与所述识别码相关联的构件;
用于通过使用所述设立文件对所述组的加密表、所述组的选择轨迹和所述组的设定参数进行加密的构件;和
用于向所述第二装置传输所述加密组的加密表、所述加密组的选择轨迹和所述加密组的设定参数的构件。
61.根据权利要求60所述的装置,还包含:
用于在一个数据库存储器中存储与所述识别码相关联的所述组的加密表、所述组的选择轨迹和所述组的设定参数的构件。
62.根据权利要求61所述的装置,还包含:
用于在一个不同单元处的第二数据库存储器中存储与所述识别码相关联的所述组的加密表、所述组的选择轨迹和所述组的设定参数中的至少一个的构件。
63.根据权利要求62所述的装置,其中所述第二数据库存储器可经由一个计算机网络从所述第二装置存取。
64.一种用于鉴定一个具有为所述第二装置所特有的一个识别码和一个与所述识别码相关联的设立文件的第二装置的装置,所述设立文件能够对数据进行加密/解密,所述装置包含:
用于从所述第二装置接收所述识别码的构件;
用于从一个含有设立文件的数据库存储器来检索一个与所述识别码相关联的设立文件的构件;
用于生成一序列的值并将所述序列传输到所述第二装置的构件;
用于通过使用所述检索到的设立文件对所述序列进行加密的构件;
用于从所述加密序列来计算第一检查和的构件;
用于从所述第二装置接收第二检查和的构件,所述第二检查和在所述第二装置处通过使用其所述设立文件而从一个加密序列计算得到;
用于确定所述第二检查和是否匹配所述第一检查和的构件;和
用于如果所述第二检查和匹配所述第一检查和那么鉴定所述第二装置的构件。
65.一种可由一个机器来读取的程序存储设备,其有形地体现了可由所述机器来执行的的一个指令程序以执行一种用于将原始数据加密/解密成加密/解密数据的方法,所述方法包含:
提供第一复数个加密表,其中每个加密表都能够将一个数据值转换成一个加密/解密值,所述数据值对应于所述数据的一个单元,所述加密/解密值对应于加密/解密数据的一个单元;
提供第二复数个选择轨迹,其中每个选择轨迹都包括一系列具有通过使用一个对应源文件而产生的某一图案的值;
将所述选择轨迹的对应值加以组合以产生一系列组合值;
根据所述系列的组合值中的一个对应组合值为所述数据的每个单元而选择一个加密表;和
通过使用选择用于所述数据的每个单元的加密表,将所述单元转换成加密/解密数据的一个单元。
66.一种可由一个机器来读取的程序存储设备,其有形地体现了可由所述机器执行的的一个指令程序以执行一种用于在一个装置上自动地设立一个加密器/解密器的方法,所述装置包括一个为所述装置所特有的识别码和一个与所述识别码相关联的设立文件,所述设立文件能够对数据进行加密/解密,所述方法包含:
从所述装置接收所述识别码;
从一个含有设立文件的数据库存储器检索与所述识别码相关联的设立文件;
从复数个加密表中选择一组加密表;
从复数个选择轨迹中选择一组选择轨迹,所述选择轨迹中的每个都包括一系列具有通过使用一个源文件而产生的某一图案的值;
从复数个设定参数中选择一组设定参数;
使所述组的加密表、所述组的选择轨迹和所述组的设定参数与所述识别码相关联;
通过使用所述设立文件对所述组的加密表、所述组的选择轨迹和所述组的设定参数进行加密;和
向所述装置传输所述加密组的加密表、所述加密组的选择轨迹和所述加密组的设定参数。
67.一种可由一个机器读取的程序存储设备,其有形地体现了可由所述机器执行的的一个指令程序以执行一种用于鉴定一个具有为所述装置所特有的一个识别码和一个与所述识别码相关联的设立文件的装置的方法,所述设立文件能够对数据进行加密/解密,所述方法包含:
从所述装置接收所述识别码;
从一个含有设立文件的数据库存储器检索一个与所述识别码相关联的设立文件;
生成一序列的值并将所述序列传输到所述装置;
通过使用所述检索到的设立文件对所述序列进行加密;
从所述加密序列计算第一检查和;
从所述装置接收第二检查和,所述第二检查和在所述装置处通过使用其所述设立文件而从一个加密序列计算得到;
确定所述第二检查和是否匹配所述第一检查和;和
如果所述第二检查和匹配所述第一检查和,那么鉴定所述装置。
68.一种伪随机数字生成器,其包含:
一个适用于生成复数个选择轨迹的选择轨迹生成器,其中每个选择轨迹都包括一系列具有通过使用一个对应源文件而产生的某一图案的值;和
一个耦合到所述选择轨迹生成器的轨迹混合器,其适用于组合所述选择轨迹的对应值以产生一系列组合值。
69.根据权利要求68所述的伪随机数字生成器,其中所述选择轨迹生成器包括:
一个存储有复数个源文件的存储器;和
一个耦合到所述存储器的轨迹图案管理器,其适用于从一个经选择的源文件中生成一系列值。
70.根据权利要求69所述的伪随机数字生成器,其中所述轨迹图案管理器还适用于通过使用设定参数来修改所述系列值中的每个。
71.根据权利要求68所述的伪随机数字生成器,其中所述轨迹图案管理器还适用于选择一个数学运算以将它用于将每个轨迹的值与其它轨迹组合。
72.根据权利要求68所述的伪随机数字生成器,其中所述选择轨迹中的每个都具有一个密钥长度,所述轨迹的某一图案通过所述密钥长度来重现。
73.根据权利要求73所述的伪随机数字生成器,其中所述选择轨迹的密钥长度没有一个等于另一个密钥长度。
74.根据权利要求72所述的伪随机数字生成器,其中所述密钥长度没有一个是通过将另一个密钥长度乘以2n或将另一个密钥长度除以2n而获得的,其中n为一个整数。
75.根据权利要求73所述的伪随机数字生成器,其中所述密钥长度中的差异大体上小于所述密钥长度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39909202P | 2002-07-27 | 2002-07-27 | |
US60/399,092 | 2002-07-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1771688A true CN1771688A (zh) | 2006-05-10 |
Family
ID=31188542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA038229803A Pending CN1771688A (zh) | 2002-07-27 | 2003-07-25 | 用于加密和解密的装置和方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20050226408A1 (zh) |
EP (1) | EP1527551A2 (zh) |
JP (1) | JP2005534965A (zh) |
KR (1) | KR20060014356A (zh) |
CN (1) | CN1771688A (zh) |
AU (1) | AU2003265307A1 (zh) |
BR (1) | BR0313013A (zh) |
RU (1) | RU2005105304A (zh) |
WO (1) | WO2004012384A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888937A (zh) * | 2014-03-31 | 2014-06-25 | 北京科技大学 | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 |
CN109417467A (zh) * | 2016-07-22 | 2019-03-01 | 高通股份有限公司 | 具有旁道攻击对策的模幂运算 |
CN110765478A (zh) * | 2019-11-07 | 2020-02-07 | 广州深卓信息科技有限公司 | 一种大数据信息安全存储加密系统及其方法 |
CN113496679A (zh) * | 2020-03-19 | 2021-10-12 | 川奇光电科技(扬州)有限公司 | 显示装置及其驱动保护方法 |
CN114338182A (zh) * | 2021-12-29 | 2022-04-12 | 中国电信股份有限公司 | 数据加密方法及装置、非易失性存储介质、电子设备 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7630492B2 (en) * | 2002-10-03 | 2009-12-08 | Daniel Lecomte | Secure audio stream scramble system |
US7730296B2 (en) * | 2003-02-12 | 2010-06-01 | Broadcom Corporation | Method and system for providing synchronous running encoding and encryption |
DE10345457A1 (de) * | 2003-09-30 | 2005-04-28 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Ver- und Entschlüsselung |
JP4696449B2 (ja) * | 2004-01-09 | 2011-06-08 | ソニー株式会社 | 暗号化装置およびその方法 |
KR100636150B1 (ko) * | 2004-07-01 | 2006-10-19 | 삼성전자주식회사 | 암호화 모듈을 포함하는 멀티미디어 장치 |
US8677123B1 (en) | 2005-05-26 | 2014-03-18 | Trustwave Holdings, Inc. | Method for accelerating security and management operations on data segments |
JP4734069B2 (ja) * | 2005-09-14 | 2011-07-27 | 公益財団法人鉄道総合技術研究所 | 通信システム、送信側装置、受信側装置及びプログラム |
JP2007122843A (ja) * | 2005-10-31 | 2007-05-17 | Toshiba Corp | 情報再生装置及び方法 |
US7945921B2 (en) * | 2007-03-01 | 2011-05-17 | Microsoft Corporation | Cross application domain late binding to non-local types |
JP5273141B2 (ja) * | 2008-04-15 | 2013-08-28 | 日本電気株式会社 | 調整値付きブロック暗号装置、暗号生成方法および記録媒体 |
US8627103B2 (en) * | 2008-05-23 | 2014-01-07 | Koninklijke Philips N.V. | Identity-based encryption of data items for secure access thereto |
US8116453B2 (en) * | 2008-12-29 | 2012-02-14 | Bank Of America Corporation | Gaming console-specific user authentication |
US8364567B2 (en) * | 2008-12-29 | 2013-01-29 | Bank Of America Corporation | Secure platforms for financial transaction applications |
US8676659B1 (en) | 2009-07-23 | 2014-03-18 | Bank Of America Corporation | Methods and apparatuses for facilitating financial transactions using gamer tag information |
US11206245B2 (en) * | 2009-10-14 | 2021-12-21 | Trice Imaging, Inc. | Systems and devices for encrypting, converting and interacting with medical images |
US11948678B2 (en) * | 2009-10-14 | 2024-04-02 | Trice Imaging, Inc. | Systems and devices for encrypting, converting and interacting with medical images |
US9087080B2 (en) | 2009-10-14 | 2015-07-21 | Trice Imaging, Inc. | Systems and methods for converting and delivering medical images to mobile devices and remote communications systems |
US9712498B2 (en) * | 2009-10-14 | 2017-07-18 | Trice Imaging, Inc. | Systems and devices for encrypting, converting and interacting with medical images |
US11462314B2 (en) | 2009-10-14 | 2022-10-04 | Trice Imaging, Inc. | Systems and devices for encrypting, converting and interacting with medical images |
US20120063597A1 (en) * | 2010-09-15 | 2012-03-15 | Uponus Technologies, Llc. | Apparatus and associated methodology for managing content control keys |
KR101049072B1 (ko) * | 2011-02-17 | 2011-07-15 | (주)케이사인 | 식별 데이터를 이용하여 맵핑하는 방법 |
RU2462338C1 (ru) * | 2011-03-24 | 2012-09-27 | Михаил Григорьевич Афонькин | Способ маркировки объекта с целью его идентификации |
US20140208102A1 (en) * | 2012-04-27 | 2014-07-24 | Evgeniy Ivanovich Pryakhin | Method of protecting digital information |
GB2507177B (en) | 2012-09-12 | 2015-06-24 | Ableton Ag | Dynamic diatonic instrument |
JP2014098773A (ja) * | 2012-11-13 | 2014-05-29 | Forecast Communications Inc | 暗号システム、復号サーバ、暗号方法、及び復号プログラム |
US20140270165A1 (en) * | 2013-03-15 | 2014-09-18 | Alexandre Andre DURAND | Cryptographic system based on reproducible random sequences |
KR101537993B1 (ko) * | 2014-01-09 | 2015-07-20 | 한국전자통신연구원 | 파형 데이터 저장 방법 및 그 장치 |
JP5740016B2 (ja) * | 2014-02-14 | 2015-06-24 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
CN104093029B (zh) * | 2014-07-22 | 2017-10-13 | 哈尔滨工业大学(威海) | 一种基于新时空混沌系统的视频加密算法 |
WO2016038428A1 (en) * | 2014-09-14 | 2016-03-17 | Alexandre Durand | Cryptographic system based on reproducible random sequences |
US10419208B2 (en) * | 2016-06-02 | 2019-09-17 | Wipro Limited | Method and system for encrypting data |
US11563555B2 (en) * | 2017-09-26 | 2023-01-24 | Thales Dis Cpl Usa, Inc. | Management of encryption agents in data storage systems |
US10657091B2 (en) * | 2018-07-26 | 2020-05-19 | International Business Machines Corporation | Speculative execution in a distributed streaming system |
KR101932680B1 (ko) * | 2018-09-27 | 2018-12-26 | (주)아이엔아이 | 데이터를 안전하게 보호하는 암호화 키 생성 모듈 |
US11470471B2 (en) | 2019-07-19 | 2022-10-11 | Rosemount Aerospace, Inc. | Wireless baseband signal transmission with dynamic control logic to improve security robustness |
US11509633B2 (en) * | 2019-10-21 | 2022-11-22 | Rosemount Aerospace, Inc. | Dynamic security approach for WAIC baseband signal transmission and reception |
CN112019701B (zh) * | 2020-09-08 | 2021-09-21 | 中国人民解放军海军航空大学 | 一种采用非线性低通滤波实现图像加密的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4583962A (en) * | 1984-12-07 | 1986-04-22 | Litens Automotive Inc. | Timing belt tensioner with damped constant spring tensioning and belt tooth disegagement prevention |
US4853962A (en) * | 1987-12-07 | 1989-08-01 | Universal Computer Consulting, Inc. | Encryption system |
US5003596A (en) * | 1989-08-17 | 1991-03-26 | Cryptech, Inc. | Method of cryptographically transforming electronic digital data from one form to another |
US5414771A (en) * | 1993-07-13 | 1995-05-09 | Mrj, Inc. | System and method for the creation of random sequences and for the cryptographic protection of communications |
JP2595899B2 (ja) * | 1994-05-17 | 1997-04-02 | 日本電気株式会社 | オンライン伝文暗号化装置 |
JPH0993242A (ja) * | 1995-09-27 | 1997-04-04 | Nec Eng Ltd | データ送受信装置 |
JP3573672B2 (ja) * | 1999-12-20 | 2004-10-06 | 株式会社ネットコムセック | 符号変換装置 |
-
2003
- 2003-07-25 EP EP03771936A patent/EP1527551A2/en not_active Withdrawn
- 2003-07-25 RU RU2005105304/09A patent/RU2005105304A/ru not_active Application Discontinuation
- 2003-07-25 WO PCT/US2003/023473 patent/WO2004012384A2/en active Application Filing
- 2003-07-25 CN CNA038229803A patent/CN1771688A/zh active Pending
- 2003-07-25 US US10/522,509 patent/US20050226408A1/en not_active Abandoned
- 2003-07-25 AU AU2003265307A patent/AU2003265307A1/en not_active Abandoned
- 2003-07-25 BR BR0313013-4A patent/BR0313013A/pt not_active IP Right Cessation
- 2003-07-25 KR KR1020057001506A patent/KR20060014356A/ko not_active Application Discontinuation
- 2003-07-25 JP JP2004524910A patent/JP2005534965A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888937A (zh) * | 2014-03-31 | 2014-06-25 | 北京科技大学 | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 |
CN103888937B (zh) * | 2014-03-31 | 2017-06-20 | 北京科技大学 | 一种适用于无线传感器网络aes加密的低开销快速轮加密装置及方法 |
CN109417467A (zh) * | 2016-07-22 | 2019-03-01 | 高通股份有限公司 | 具有旁道攻击对策的模幂运算 |
CN110765478A (zh) * | 2019-11-07 | 2020-02-07 | 广州深卓信息科技有限公司 | 一种大数据信息安全存储加密系统及其方法 |
CN110765478B (zh) * | 2019-11-07 | 2020-07-31 | 城云科技(中国)有限公司 | 一种大数据信息安全存储加密系统及其方法 |
CN113496679A (zh) * | 2020-03-19 | 2021-10-12 | 川奇光电科技(扬州)有限公司 | 显示装置及其驱动保护方法 |
CN113496679B (zh) * | 2020-03-19 | 2022-10-04 | 川奇光电科技(扬州)有限公司 | 显示装置及其驱动保护方法 |
CN114338182A (zh) * | 2021-12-29 | 2022-04-12 | 中国电信股份有限公司 | 数据加密方法及装置、非易失性存储介质、电子设备 |
CN114338182B (zh) * | 2021-12-29 | 2024-04-12 | 中国电信股份有限公司 | 数据加密方法及装置、非易失性存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
BR0313013A (pt) | 2005-08-09 |
WO2004012384A3 (en) | 2004-11-18 |
US20050226408A1 (en) | 2005-10-13 |
AU2003265307A1 (en) | 2004-02-16 |
KR20060014356A (ko) | 2006-02-15 |
JP2005534965A (ja) | 2005-11-17 |
WO2004012384A2 (en) | 2004-02-05 |
RU2005105304A (ru) | 2005-09-20 |
EP1527551A2 (en) | 2005-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1771688A (zh) | 用于加密和解密的装置和方法 | |
US7209561B1 (en) | System and method for generating encryption seed values | |
CN101882993B (zh) | 密码系统及密码方法 | |
CN1223144C (zh) | 用于保护数字信息的方法及用于其的系统 | |
CN1282475A (zh) | 数据通信 | |
US6219421B1 (en) | Virtual matrix encryption (VME) and virtual key cryptographic method and apparatus | |
CN1401171A (zh) | 公共加密密钥的产生 | |
US20050063546A1 (en) | Mini time key creation method and system | |
US7502466B2 (en) | System and method for secure communication of electronic documents | |
CN1122213C (zh) | 给对象签名和签章的方法和设备 | |
US20100246811A1 (en) | Systems and methods for information security using one-time pad | |
US8675864B2 (en) | Apparatus for encrypting data | |
CN1879072A (zh) | 提供断开鉴别的系统和方法 | |
US8488779B2 (en) | Method and system for conducting high speed, symmetric stream cipher encryption | |
CN1399235A (zh) | 具加密设备和信息的解密装置制作方法及制作的解密装置 | |
CN110636028B (zh) | 密钥生成装置、加密装置、密钥生成和分发系统 | |
CN103853943B (zh) | 程序保护方法及装置 | |
US20220224530A1 (en) | System for restoring lost private key | |
WO2001084766A2 (en) | System and method for encryption using transparent keys | |
CN1292185A (zh) | 用于向所选成员传达私人消息的方法和设备 | |
CN109474616A (zh) | 多平台数据共享方法和装置及计算机可读存储介质 | |
EP1713196A1 (en) | Key distribution system | |
CN1835586A (zh) | 流密码生成器、随机数生成方法、加密系统及加密方法 | |
KR20110101317A (ko) | 데이터 자동 암복호화 방법 및 장치 | |
CN112131596B (zh) | 加解密方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20060510 |