CN103117850A - 一种基于随机序列数据库的密码系统 - Google Patents
一种基于随机序列数据库的密码系统 Download PDFInfo
- Publication number
- CN103117850A CN103117850A CN2011103640059A CN201110364005A CN103117850A CN 103117850 A CN103117850 A CN 103117850A CN 2011103640059 A CN2011103640059 A CN 2011103640059A CN 201110364005 A CN201110364005 A CN 201110364005A CN 103117850 A CN103117850 A CN 103117850A
- Authority
- CN
- China
- Prior art keywords
- database
- random sequence
- decryption
- random
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 40
- 230000009466 transformation Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000010845 search algorithm Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 230000008707 rearrangement Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种基于随机序列数据库的密码系统。该密码系统通过一个由256条数据组成的8位二进制数及与其对应的随机序列数据库D将二进制位流转变为随机序列位流。随机序列数据库D对二进制位流的变换是通过字符串搜索而实现的。随机序列数据库D可以实现每次加密或解密一个字节而动态更新与同步。本密码系统是真正的“一次一密”的完善密码系统,完全不可破译。
Description
技术领域
本发明属于信息安全领域,特别是涉及一种基于随机序列数据库的密码系统。
背景技术
密码系统是信息安全的核心和关键技术。目前实际应用的密码系统尽管种类很多,但其密码体制可分为两类:对称密码体制和非对称密码体制。1949年,Shannon发表了“Communication theory of secrecy system”重要论文,证明了只有“一次一密”的密码系统才是理论上不可破译的、绝对安全的密码系统。但是由于“一次一密”的密码系统存在密匙产生、分配与管理极为困难的问题,使其应用受到限制。为了达到类似“一次一密”那样的安全性,仿效“一次一密”的密码系统如分组密码和流密码应用而生。目前,流密码是世界各国信息安全领域的主流密码。流密码有许多种设计方法,比如移位寄存器序列、非线性组合序列、非线性过滤序列和钟控序列以及混沌序列等方法。
流密码是指利用少量的密钥通过特定的复杂密码算法产生大量的伪随机位流,用于对明文位流的加密。解密是指用同样的密钥和密码算法及与加密相同的伪随机位流,用以还原明文位流。因此,流密码的关键是产生密匙序列的算法,其密码系统的安全性也主要取决于密匙序列,但由于密匙序列多是由一种子密匙k经某个特定的确定性算法产生的伪随机序列,因此流密码是基于数学计算的密码系统,它在理论上是可被计算机破译的。因此,本质上来讲,流密码并非是“一次一密”的密码系统。
本发明提出了一个基于随机序列数据库的密码系统,该密码系统类似于流密码,都是每次加密一个字节,但流密码使用伪随机序列作为密匙序列,而本密码系统则使用随机序列数据库将明文流变换为随机序列。本发明提供了一个“一次一密”的完善密码系统,完全可不破译,同时还可自动检测密文信息的完整性,确保密文信息不被篡改、仿冒,可广泛应用于信息安全的各个领域。
发明内容
本发明所建立的一种基于随机序列数据库的密码系统,采取如下步骤和方法:
(1)首先,建立一个8位二进制数据库D。
该数据库的结构如图1所示,A为8位二进制数,B为每个二进制数对应的随机序列(比如是由0和1组成的随机序列)。用A(i)表示0-255的8位二进制数,B(i)表示与A(i)对应的随机序列。B(i)序列长度的设置以足够保证随机序列ki的唯一性以及序列搜索运算速度为依据。该数据库D共有256条数据。由于216=28*28=256*28=256*256,对应于256条二进制数据来说,每个8位二进制数据理论上可找到256个不同的16位二进制随机序列与之相对应。每个随机序列B(i)的长度设置在30-100个字符之间足以满足需要。
(2)加密方法:
首先将明文M转换为二进制,然后按每个字节即8位二进制数自动划分为若干单元,比如m1,m2,m3,……,mn。然后,依次在数据库D中检索,根据其检索到的8位二进制数A(i)找到其对应的随机序列B(i),然后在B(i)中再随机截取一段由16个字符组成的序列ki。当明文M所有字节完成上述变换后依次得到k1,k2,k3,……,kn,即构成密文。随机序列ki也可再经过加密变换Ci=E(ki)(i=1,2,3,……,n),则最终可得到密文C=c1c2c3…cn。
其中,k1,k2,k3,……,kn需满足唯一性条件,即在数据库D中,这些随机序列ki是唯一的,假如截取到的ki不能满足唯一性条件,则必须重新选取,直到满足唯一性条件为止。检验ki的唯一性,可使用字符串搜索算法,在数据库D中进行搜索,如果ki仅有一个搜索结果,则表明ki在数据库D中是唯一的,否则是不唯一的。
(3)密匙动态更新方法:
在加密过程中,密匙可随每次加密一个字节(8位二进制数mi)明文后而自动更新,其更新的方法是:mi对应的随机序列被截取一段子序列ki之后,即自动从原随机序列中删除,并经过一定变换(如0和1对换处理)后插入到删除ki后的随机序列中的第j个位置上。j可以是一个约定的常数,也可以是一个明文“字节”序数的函数。设字节序数为i,则当加密第i个字节时,j=F(i)。
(4)解密方法:
密文C经过解密变换ki=D(ci)(i=1,2,3,......,n)后,依次得到随机序列字符串:k1,k2,k3,......,ki,......kn。如果密文本身由上述随机序列组成,则不必再进行解密变换,在数据库D中依次查找字符串k1,k2,k3,......,ki,......kn,得到其对应的8位二进制数m1,m2,m3,......,mn,即可转换成明文信息。在解密过程中,密匙可随每次解密得到一个字节明文后而自动更新,其更新的方法是:每次在随机数据库查找ki得到相应的mi之后,该字符串ki即自动从原随机序列中删除,并经过一定变换(如0和1对换处理)后插入到删除ki之后的随机序列中的第j个位置上。
(5)数据库D同步更新办法:
由于数据库D在加密和解密时处于动态更新状态,这种更新是对数据库D中的随机序列的重排,那么,任何影响到数据库中随机序列重排的主动攻击(比如对密文字符进行插入、删除或重放操作)均可能造成解密中断(只要密文解出的随机序列字符串唯一性条件被破坏,解密过程即自行终止)。设发送和接收双方原始共享的数据库为D0,经过加密后,发送方的数据库更新为D1,若接收方解密成功,则其数据库自动更新为D1,否则不更新,请求发送方重新发送,发送方加密的数据库返回到D0。也就是说,只要接收方解密不成功,则请求发送方按之前的数据库重新发送。
本发明的密码系统具有如下特点:
1,本密码系统中通讯双方拥有的数据库D是一个仅有256条数据的小型数据库,在加解密过程中运行速度很快。
2,双方共享一次数据库D之后,该数据库即可在加解密过程中实现自动更新,在更新过程中引入了随机化过程,从而实现了真正的“一次一密”。
3,本密码系统完全克服了以往“一次一密”体制中要求密匙必须与明文长度相同的缺点,密匙的分配与管理不再是一个难题,只需构建一个小型的随机序列数据库,利用字符串搜索比对工具即可轻松实现对每个比特进行加密的密匙分配。
4,本系统由于是“一次一密”不可破译系统,对本系统造成破坏的唯一途径就是对本系统进行主动攻击。当攻击者对密文字符进行插入、删除或者重放操作时,如果插入的字符经解密得到的ki不存在于数据库D中,那么插入的字符就不影响正确的解密。但是,进行删除或者重放操作时,对解密就可能造成影响。如果发生不能正确解密(比如解密过程中在数据库D中依次查找字符串ki时出现查找结果唯一性被破坏,或解密完成后发现乱码或其它无意义信息)的情况,则可判断密文已经被篡改。因此,本密码系统具有自动检测密文是否被窃取并篡改、破坏的特点,密文可做到完全保密、不可仿冒。
附图说明:
图1:8位二进制数据库D,由256条数据组成,A为0-255的8位二进制数,B为与每个8位二进制对应的随机序列(由30-100个0和1组成)。
图2:信息加密流程与方法
图3:信息解密流程与方法
图4:密匙更新的方法
具体实施方式
首先,构建8位二进制数据库D。如图1所示,A(i)表示从0到255的8位二进制数;B(i)表示与其对应的随机序列。随机序列B(i)可以由任何字符组成,图1中我们假设随机序列由0和1组成。序列长度的设置以足够保证随机序列ki的唯一性以及序列搜索运算速度为依据。由于216=65536,对应于256条二进制数据来说,每个二进制数据理论上可找到256个16位二进制随机序列与之相对应。每个随机序列的长度设置在30-100个字符之间足以满足需要。
如需加密一个明文信息M,首先将其转换为二进制,然后按每个字节即8位二进制数自动划分为若干单元,比如m1,m2,m3,……,mn。然后,依次在数据库D中检索,,根据其检索到的8位二进制数A(i)找到其对应的随机序列B(i),然后在B(i)中再随机截取一段由16个字符组成的序列ki。当明文M所有字节完成上述变换后依次得到k1,k2,k3,……,kn,即构成密文。随机序列ki也可再经过加密变换Ci=E(ki)(i=1,2,3,……,n),则最终可得到密文C=c1c2c3…cn。加密变换可以是用一个16位的二进制数K对ki做异或处理。图2表示信息加密的流程与方法。
其中,k1,k2,k3,……,kn需满足唯一性条件,即在数据库D中,这些随机序列ki是唯一的,假如截取到的ki不能满足唯一性条件,则必须重新选取,直到满足唯一性条件为止。随机序列数据库D可以随着每加密一个字节而动态更新。图4表示加密一个二进制数据mi“10011010”的ki“0101011000010100”被选取之后,从原先的位置上删除,经过0和1对换处理之后,变成“1010100111101011”,再插入到删除ki之后的随机序列的第10个字符的位置上(j=10),从而改变了原先对应于二进制数据“10011010”的随机序列。
信息解密的方法是,密文C经过解密变换ki=D(ci)(i=1,2,3,......,n)后(解密变换可以是用一个16位的二进制数K对ci做异或处理),依次得到随机序列字符串:k1,k2,k3,......,ki,......kn。如果密文本身由上述随机序列ki组成,则不必再进行解密变换,在数据库D中依次查找字符串k1,k2,k3,......,ki,......kn,得到其对应的8位二进制数m1,m2,m3,......,mn,即可转换成明文信息。
随机序列数据库D也可以随着每次解密一个字节而动态更新,从而保证随机序列数据库D与信息发送者同步一致。动态更新与加密一个字节后随机序列数据库D的动态更新方法相同。以图4为例,解密时在随机序列数据库D中查找字符串ki“0101011000010100”,得到其对应的二进制数据mi“10011010”,然后ki从原先的位置上删除,经过0和1对换处理之后,变成“1010100111101011”,再插入到删除ki之后的随机序列的第10个字符的位置上(j=10),这样动态更新后的随机序列数据库D与信息发送者就保持了同步。
假如明文有1000个字节,那么经过加密之后,随机序列数据库D就经历1000次数据更新。设加密前数据库为D0,加密后数据库为D1,那么加密的字节数越多,或者经过多轮信息加密之后,D1和D0将变得差异越大,以至于完全不同。
本密码系统可以进行信息隐藏。可以在密文中添加一些在随机序列数据库D中是不存在的字符串,完全不影响解密结果。
由于随机序列数据库D有随机序列组成,同时截取的字符串ki也是随机截取的,每次加密一个字节后数据库D自动更新一次,因此本密码系统是真正的“一次一密”的完善密码系统,完全不可破译。
当攻击者对密文字符进行插入、删除或者重放操作时,对解密可能造成影响(如果插入的字符经解密得到的ki不存在于数据库D中,那么插入的字符就不影响正确的解密)。解密过程中,如果查找字符串ki时发现其在数据库D中的唯一性被破坏,或解密完成后发现乱码或其它无意义信息的情况,则可判断密文已经被篡改。因此,本密码系统具有自动检测密文是否被窃取并篡改、破坏的特点,密文可做到完全保密、不可仿冒。
Claims (9)
1.一种基于随机序列数据库的密码系统,其特征在于按如下步骤和方法进行:
(1)首先,建立一个8位二进制数据库D。该数据库是由256条数据组成的,每条数据是8位二进制数A(i)及其对应的随机序列B(i)所构成的。
(2)加密方法:首先将明文M转换为二进制数,按每个字节即8位二进制数自动划分为若干单元m1,m2,m3,……,mn。然后,依次在数据库D中检索,根据其检索到的8位二进制数A(i)找到其对应的随机序列B(i),然后在B(i)中再随机截取一段由16个字符组成的序列ki。ki需满足唯一性条件,即在数据库D中,这些随机序列ki是唯一的,假如截取到的ki不能满足唯一性条件,则必须重新选取,直到满足唯一性条件为止。检验ki的唯一性,可使用字符串搜索算法,在数据库D中进行搜索,如果ki仅有一个搜索结果,则表明ki在数据库D中是唯一的,否则是不唯一的。当明文M所有字节完成上述变换后依次得到k1,k2,k3,……,kn,即构成密文。随机序列ki也可再经过加密变换C(i)=E(ki)(i=1,2,3,……,n),则最终可得到密文C=c1c2c3…cn。
(3)密匙动态更新方法:在加密过程中,密匙可随每次加密一个字节(8位二进制数mi)明文后而自动更新,其更新的方法是:mi对应的随机序列被截取一段子序列ki之后,即自动从原随机序列中删除,并经过一定变换(如0和1对换处理)后插入到删除ki后的随机序列中的第j个位置上。
(4)解密方法:密文C经过解密变换ki=D(ci)(i=1,2,3,......,n)后,依次得到随机序列字符串k1,k2,k3,......,kn。如果密文本身由上述随机序列组成,则不必再进行解密变换,在数据库D中依次查找字符串k1,k2,k3,......,ki,......kn,得到其对应的8位二进制数m1,m2,m3,......,mn,即可转换成明文信息。
(5)数据库D同步更新办法:设发送和接收双方原始共享的数据库为D0,经过加密后,发送方的数据库更新为D1,若接收方解密成功,则其数据库自动更新为D1,否则不更新,请求发送方重新发送。
2.根据权利要求1所述的一种基于随机序列数据库的密码系统,其特征在于其密匙是由随机序列数据库D组成的。
3.根据权利要求2所述的随机序列数据库D,其特征在于该数据库是由256条数据组成的,每条数据是8位二进制数A(i)及其对应的随机序列B(i)所构成的。B(i)可以是由0和1组成的字符串,也可以是其它任意字符串。
4.根据权利要求1所述的一种基于随机序列数据库的密码系统,其特征在于加密过程中从随机序列B(i)截取的ki是随机截取的。
5.根据权利要求4所述的ki,其特征在于其在随机序列数据库D中是唯一的,其唯一性的检验是采用字符串匹配算法在随机序列数据库D中检索ki。
6.根据权利要求1所述的一种基于随机序列数据库的密码系统,其特征在于在加密过程中,密匙可随每次加密一个字节(8位二进制数mi)明文后而自动更新,其更新的方法是:mi对应的随机序列被截取一段子序列ki之后,即自动从原随机序列中删除,并经过一定变换后插入到删除ki后的随机序列中的第j个位置上。
7.根据权利要求1所述的一种基于随机序列数据库的密码系统,其特征在于在解密过程中,密匙可随每次解密得到一个字节明文后而自动更新,其更新的方法是:每次解密得到字符串ki并在随机数据库查找得到相应的mi之后,该字符串ki即自动从原随机序列中删除,并经过一定变换后插入到删除ki之后的随机序列中的第j个位置上。
8.根据权利要求1所述的一种基于随机序列数据库的密码系统,其特征在于密文信息中可插入随机序列数据库D中不存在的序列ks,而不影响其正确解密。
9.根据权利要求1所述的一种基于随机序列数据库的密码系统,其特征在于信息发送和接受双方的随机序列数据库D可进行同步更新。若密文遭遇攻击篡改,导致ki唯一性被破坏,则解密自行中断,要求重新发送信息。设发送和接收双方共享的原始数据库为D0,经过加密后,发送方的数据库更新为D1,若接收方解密成功,则其数据库自动更新为D1,否则不更新,请求发送方重新发送,发送方加密的数据库返回到D0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110364005.9A CN103117850B (zh) | 2011-11-16 | 2011-11-16 | 一种基于随机序列数据库的密码系统的建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110364005.9A CN103117850B (zh) | 2011-11-16 | 2011-11-16 | 一种基于随机序列数据库的密码系统的建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103117850A true CN103117850A (zh) | 2013-05-22 |
CN103117850B CN103117850B (zh) | 2016-01-20 |
Family
ID=48416131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110364005.9A Expired - Fee Related CN103117850B (zh) | 2011-11-16 | 2011-11-16 | 一种基于随机序列数据库的密码系统的建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103117850B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024807A (zh) * | 2014-04-30 | 2015-11-04 | 宇龙计算机通信科技(深圳)有限公司 | 数据处理方法及系统 |
CN107209787A (zh) * | 2015-02-11 | 2017-09-26 | 维萨国际服务协会 | 提高专用加密数据的搜索能力 |
CN108304141A (zh) * | 2017-01-12 | 2018-07-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
WO2018192399A1 (zh) * | 2017-04-17 | 2018-10-25 | 徐智能 | 具有可调整性的伴随式随机重构密钥的序列加密方法 |
CN109923516A (zh) * | 2014-05-14 | 2019-06-21 | 卡拉公司 | 加强计算机安全性,可变字长编码以及可变长码解码的技术 |
US20210351910A1 (en) * | 2020-05-06 | 2021-11-11 | King Saud University | System to secure encoding and mapping on elliptic curve cryptography (ecc) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1769637A (zh) * | 2004-11-01 | 2006-05-10 | 华为技术有限公司 | 一种电子钥匙和电子锁装置及其实现方法 |
CN102025482A (zh) * | 2009-09-10 | 2011-04-20 | 中国科学院华南植物园 | 一种基于虚拟基因组的密码系统(vgc) |
US8031875B1 (en) * | 2007-08-09 | 2011-10-04 | Emc Corporation | Key distribution in unidirectional channels with applications to RFID |
-
2011
- 2011-11-16 CN CN201110364005.9A patent/CN103117850B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1769637A (zh) * | 2004-11-01 | 2006-05-10 | 华为技术有限公司 | 一种电子钥匙和电子锁装置及其实现方法 |
US8031875B1 (en) * | 2007-08-09 | 2011-10-04 | Emc Corporation | Key distribution in unidirectional channels with applications to RFID |
CN102025482A (zh) * | 2009-09-10 | 2011-04-20 | 中国科学院华南植物园 | 一种基于虚拟基因组的密码系统(vgc) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105024807A (zh) * | 2014-04-30 | 2015-11-04 | 宇龙计算机通信科技(深圳)有限公司 | 数据处理方法及系统 |
CN109923516A (zh) * | 2014-05-14 | 2019-06-21 | 卡拉公司 | 加强计算机安全性,可变字长编码以及可变长码解码的技术 |
CN107209787A (zh) * | 2015-02-11 | 2017-09-26 | 维萨国际服务协会 | 提高专用加密数据的搜索能力 |
CN108304141A (zh) * | 2017-01-12 | 2018-07-20 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
WO2018192399A1 (zh) * | 2017-04-17 | 2018-10-25 | 徐智能 | 具有可调整性的伴随式随机重构密钥的序列加密方法 |
US10855458B2 (en) | 2017-04-17 | 2020-12-01 | Zhineng Xu | Sequence encryption method accompanying adjustable random reconfiguration of key |
US20210351910A1 (en) * | 2020-05-06 | 2021-11-11 | King Saud University | System to secure encoding and mapping on elliptic curve cryptography (ecc) |
US11502818B2 (en) * | 2020-05-06 | 2022-11-15 | King Saud University | System to secure encoding and mapping on elliptic curve cryptography (ECC) |
Also Published As
Publication number | Publication date |
---|---|
CN103117850B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2010266760B2 (en) | Method for generating an encryption/decryption key | |
US20120023336A1 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
CN102710414B (zh) | 一种随机化的文档分块加密方法 | |
CN101262341A (zh) | 一种会务系统中混合加密方法 | |
CN104660590B (zh) | 一种文件加密安全云存储方案 | |
CN102138300A (zh) | 消息认证码预计算在安全存储器中的应用 | |
US20040179682A1 (en) | Computer system security via dynamic encryption | |
WO2001084766A2 (en) | System and method for encryption using transparent keys | |
CN103117850B (zh) | 一种基于随机序列数据库的密码系统的建立方法 | |
JP2020532177A (ja) | データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法 | |
CN113711564A (zh) | 用于加密数据的计算机实现的方法和系统 | |
CN112039883B (zh) | 一种区块链的数据分享方法及装置 | |
CN116830523A (zh) | 阈值密钥交换 | |
CN103346875A (zh) | 混沌保密通信系统中数字混沌密码的产生方法 | |
CN111698084A (zh) | 一种基于区块链的隐匿通信方法 | |
CN114499857A (zh) | 一种实现大数据量子加解密中数据正确性与一致性的方法 | |
Booher et al. | Dynamic key generation for polymorphic encryption | |
US20190166105A1 (en) | Method and system for encrypting/decrypting data with ultra-low latency for secure data storage and/or communication | |
CN210955077U (zh) | 一种基于国密算法和puf的总线加解密装置 | |
CN115834126A (zh) | 一种工程电子档案加密传输方法 | |
Sanober et al. | Crytographical primitive for blockchain: a secure random DNA encoded key generation technique | |
CN114448596A (zh) | LFSR-APUF和私有Cover函数的轻量级身份认证协议 | |
CN103220130B (zh) | 数字混沌保密通信的加密及解密方法 | |
Siva et al. | Hybrid cryptography security in public cloud using TwoFish and ECC algorithm | |
CN111488618B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 Termination date: 20171116 |