CN102404111B - 一种采用不确定加密算法的分段加密方法 - Google Patents

一种采用不确定加密算法的分段加密方法 Download PDF

Info

Publication number
CN102404111B
CN102404111B CN201110446034.XA CN201110446034A CN102404111B CN 102404111 B CN102404111 B CN 102404111B CN 201110446034 A CN201110446034 A CN 201110446034A CN 102404111 B CN102404111 B CN 102404111B
Authority
CN
China
Prior art keywords
algorithm
length
encryption
segmentation
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110446034.XA
Other languages
English (en)
Other versions
CN102404111A (zh
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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201110446034.XA priority Critical patent/CN102404111B/zh
Publication of CN102404111A publication Critical patent/CN102404111A/zh
Application granted granted Critical
Publication of CN102404111B publication Critical patent/CN102404111B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明属于一种新型的加密方法,涉及一种采用不确定加密算法的分段加密方法,它对明文进行分段加密,并且各段加密采用的算法是不确定、保密的,由广义密钥来确定。它通过广义密钥确定每一个分段的长度、分段的加密算法以及各种密钥和参数,由于算法不确定,使得密码分析者无从着手破译,即使获得一些信息,对于破解其他的分段也没有意义。

Description

一种采用不确定加密算法的分段加密方法
技术领域
本发明属于密码学领域,涉及一种新型的加密方法,特别是一种分段变换算法的加密方法。
背景技术
1949年C.E.Shannon发表文章“CommunicationTheoryofSecrecySystems”,使得密码学成为一门科学。该文把信息论引入密码学,用统计的观点对信源、密码源、接受密文进行数学描述和定量分析,同时他也提出设计密码的基本观点。关于伪密钥的问题,Shannon有非常精辟的分析和研究,Shannon根据信息论和冗余相关理论,定义了伪密钥、唯一解距离、理想保密,而一般现实的密码体制是不能达到理想保密的,即随着密文的长度增加,伪密钥会减少到最后只剩下唯一一个正确的密钥,这会威胁密码体制的安全。他对唯密文攻击的情况下的密码分析进行了研究,指出随着密文长度的增加,伪密钥的数量会逐步减少。现有的加密方法符合以上的分析,现有的加密方法一般采用一种确定的算法来加密,通过一种确定的算法加密,在已知密文的情况下,由于算法确定,从理论上说可以将密钥空间中所有的密钥逐一拿来尝试解密密文,如果解密得到得到无意义的密文即可认定密钥错误;解密得到有意义的明文则对应密钥可能是正确的密钥或者伪密钥。可以根据信息论和概率论来初步估算伪密钥的数量,对于小于唯一解距离的密文,一些文献根据语言相应的冗余计算出可能的伪密钥数目,大约为
N=2H(k)-nD-1
其中D为语言的冗余度,H(k)为密码系统的熵,一般情况下等于密钥长度,n为明文长度。根据一些数据,甚至可以得出对于有56bit的密钥和用ASCII字符表示的英文消息而言,DES的唯一解距离大约是8.2个ASCII字符,大约66bit,针对现代的较长的256bit长密钥的分组密码算法,ASCII文本加密算法的唯一解距离才是37.6个字符,显然获得大大超过37.6个字符的密文的条件是很容易达到的。这对密码分析是有利的,包括各种惟密文分析还有软磨硬泡攻击。另外一面,这影响到算法的安全性。假如将明文分为小于惟一解距离的小段进行加密,并且算法是保密的,则密码分析者将无从利用以上的缺陷。
发明内容
从信息论的角度,密码系统能够给监听者的不确定性越大,破译的难度就越大,泄露的信息量就越小,密码系统就越安全。在密码编码和分析中,一般考虑算法是公开的,一些现实的民用密码,一般也公开算法。注意到,算法之所以公开的理由主要有以下几点:1)算法的标准化和广泛使用使得算法需要公开;2)便于算法的公开安全评测和改进;3)加密依赖的软件硬件实现原则上说是可以被采用逆向工程破译的,一旦采用诸如反汇编之类的方法,密码算法必然暴露。4)算法是一个大头,需要大量数据描述或实现,不像密钥只要少量数据,很难保密,不能指望它是保密的,想要保密它也困难;5)算法由于是多用户使用,泄密的可能性较大。
对于算法是否需要保密,一直也存在争议,实际非常重要的应用中,比如军事中,算法往往是保密的。但是在一般应用中很难让算法保密。
密码算法的目的是要尽量给对方提供少的信息,而香农用不确定性来度量信息,假如能够给对方最大的不确定性,则信息量最小。密码体制如果能够给密码分析者越大的不确定性,则就越安全。密码算法作为一个五元组:{明文空间P,密钥空间K,密文空间C,加密算法E,解密算法D}。这其中明文由密文C、密钥K和解密算法D所确定
P=DK(C)
而密码分析者已知的最基本的条件是密文C,要给予对手较大的不确定性,要么是密钥K不确定,要么是算法D不确定。我们现代密码学都依赖密钥K的不确定性来保障安全性,但是密钥空间总是有限的。由于明文的高度冗余,可能密码体制的明文空间中的许多明文是无意义的,即现实可能的明文空间P’和密码体制的明文空间P是有很大的差异的,前者只是后者的一小部分。这大大消除了明文的不确定性,因为大量无意义的明文可以被排除,假如剩下的有意义的明文越少,就会越来越不安全。可见由于冗余,密钥的不确定性可以被逐步减少,最终可能只剩下一个或者几个有意义的明文,这是香农唯一解距离的由来。为了增加明文的不确定性,我们可以从另外一个角度着手,用算法的不确定性来给密码分析设置障碍,实际上,算法可能是无穷无尽的,且可能是多重或者组合的加密,而且明文和密文的长度也可能不一致,这给密码分析者带来了巨大的不确定性,如果不能通过一些信息对算法做出一些确定,密码分析者根本无法着手。实际上,现在军事上使用的密码大多数都是依靠内部专家设计和评估,对算法进行保密的。
本发明一改过去加密采用单一算法,而且算法公开的弊端,采用不确定算法分段进行加密,分段的长度小于惟一解距离,以避免那种惟密文分析。考虑以上公开算法的因素,本发明中可以采用得到公开测评的安全算法,也可以采用保密的加密算法;本发明中这个密码系统实现可以是公开的,由于它包含了多种加密算法(密码算法),所以系统的公开并不能够让密码分析者确定是采用何种算法加密;本发明中采用压缩的编号来代表算法,这样无需大量的数据。
本发明采用申请人提出的广义密钥的概念,将密码算法的信息也融入密钥中,即广义密钥包含了所采用的密码算法信息和每一个算法或者每一分段所采用密钥的信息。
本发明的加密方法如下,首先是密码系统的建立:
建立一个密码算法库,可以收纳各种各样的安全的密码算法,算法库中有标准化的、常用的密码算法,也有未公开的、保密的算法,只是和特定的接受方通信用的未知、且精心设计的安全密码算法、自己设计的算法,对所有算法进行编码。
算法的编码:公开的算法采用公开统一的编码,分组长度不同的同一算法视为不同的算法而采用不同的编码,同一算法的不同的加密模式的运用也采用不同的编码,如ecb、cbc等;未公开的算法采用双方约定的编码,这些编码是预留的。算法数量为N,则算法编码长度取值为:当log2N为整数,取log2N;log2N非整数,取log2N的整数部分+1。不妨假设算法编码为A。加密对于不同的分段采用不同的算法,需要不同位置算法的编码序列,选择一个密钥AK产生一个安全的序列将产生不同位置分段的密码算法这一部分编码A作为密钥的一部分,与传统意义上的加密用的密钥K结合起来,作为一种广义密钥GK,
GK=AK║NK
其中║表示合并,NK代表狭义的传统的密钥以及一些需要的参数,比如初始向量IV,由于各个算法的密钥长度不一,NK的长度应该不低于算法库中密钥库的算法中密钥以及所需其他参数长度累加的最长的长度。AK的长度是确定的。NK中参数的取用是根据算法编码来确定的,比如,有些模式下有初始向量,应该规定哪些位置的数据是密钥,哪些是初始向量;再比如三重DES,应该规定各重的密钥和其他参数的在NK中位置。
加密算法和密钥的确定:在加密时,根据AK生成一个安全的密钥流确定各个相应分段的采用算法库中的算法代号,根据NK截取对应算法所需要的密钥长度的数据作为密钥,如果还有其他的参数,可以约定按照一定的位置截取,比如最前面是密钥,紧接着是初始向量。
算法的加密长度确定:每一个算法都应该有确定的加密范围。算法的加密长度(即分段的长度)根据算法的类型和约定来处理:分组密码以及类似的算法采用对应分组长度的倍数,比如一个分组的长度,流密码和一次一密采用一个固定长度,在加密到最后一个分段的时候,一般不一定刚好达到设定的分段长度,需要进行填充处理,并且添加关于填充长度的信息。
以上确定了加密的各种参数,包括算法、密钥等参数、明文及其分段,即可根据分段进行对应的加密得到密文。
解密是一个相反的过程,由于解密者也有广义密钥,所以解密的一些参数的确定和加密是相似的。
通过这种方法设计使得密码系统具有很好的安全性和优势:1)由于算法是未知的,密码分析将会无从着手。2)分段加密采用同一算法的密文很短,达不到惟一解距离,增强了安全性。3)在军事背景中可以将一些公开的和不公开的加密算法同时使用。可以满足算法保密性(可以比较安全,当然未经公众评价的算法能否真正安全有争议)和算法标准化(此时算法需要公开)等互相矛盾的需求。4)通过对算法的融合,在某些方面会体现出综合性能的优化。5)算法的广义密钥空间大大增加,密码系统的不确定性更大。
算法也会增加密码系统的复杂性,运算的时间空间复杂度,但是,运算量增加并不是很大,甚至于有点接近于采用单一算法的平均运算量。
附图说明
图1是本发明的加密流程图。
具体实施方式
以下是本发明的实施例,为了方便,举例相对简单。
首先加密系统的设计方面,采用256bit的流密码来生成算法编码的序列,采用流密码是为了保证安全性,即使前面一些段采用的算法被获知,也无从利用它获得其他分段的加密算法。广义密钥的结构为前256bit为AK,后面512bit为NK。约定每一个算法的加密的明文长度为:分组密码算法等分组性的算法是单个分组长度,流密码和一次一密等算法为128bit,这样选取的目的是为了让算法变换更加频繁,而且同一算法的加密长度尽量小,而尽量不要超过惟一解距离。
算法库的确定及编码:将一些公开的算法进行一定遴选后,选择所有可用的加密模式,逐一进行编码,只要算法名称、加密模式和分组长度有不同的,均需要采用不同编码,对每一个编码的算法,均规定NK部分的数据是如何分配的,比如前1-128bit为密钥,129-256bit为初始向量等。假设算法编码为0至55,同时保留一些预留的编码,假如有些保密的算法则可以采用这些预留的编码,比如56-63。但是,实际上双方约定了三种保密的算法,预留的编码只使用到编码56-58,为了方便,从AK生成的密钥流上每次截取1byte的数据(当然每一次取6bit更节省,但是不方便),转换为十进制后,取模59,得到的值作为算法的编码,根据这个编码来确定对应的分段采用的算法。
填充:假设最后一个分组只有1byte,就需要进行填充。填充根据这个算法的加密长度确定,由于计算机存储一般以byte为单位,所以,可以规定填充的方法为:如果最后剩余的分组长度达不到一个完整的加密分段长度,则需要填充到加密分段长度,比如最后一个算法为128bit的AES,需要填充15byte,则填充的byte值全部为15,即在末尾填充15个00001111。填充部分全部填充0;如果最后剩余的分组长度等于一个完整的加密分段长度,则在这一部分正常加密后,附加一个每一个bit都是1的分段,分段的长度根据AK对应位置的编码确定。解密的时候则根据这一规则来判断填充的长度,解密的最后一个分段如果是全1的二进制数据,则直接去掉最后一个分段;如果不是,则取最后一个byte的值,即可确定填充的长度,去掉对应的byte数,即可去掉填充。
根据以上确定的信息,即可对各个对应的分段进行加密处理。
解密是相反的过程,由于解密者也拥有GK,所以它也能够进行正确的解密。破译者由于无法获得算法和密钥相关的信息,因而无从解密,由于算法的变化远远大于狭义密钥变化造成的影响,所以在不知道以上信息的情况下破解将会非常困难,可以认为无处下手。

Claims (6)

1.一种不确定加密算法的分段加密方法,其特征为:对明文进行分段加密,每一个明文的分段采用不确定的算法来进行加密,每一个分段采用的密码算法是保密的,加密的时候双方共享一个广义密钥,通过广义密钥确定每一个分段的长度、分段的加密算法以及各种密钥和参数;分段的加密算法由广义密钥产生的序列决定;广义密钥GK=AK║NK,其中AK确定每一个分段的加密算法和加密长度,NK代表狭义的传统的密钥以及需要的初始向量IV,由于各个算法的密钥长度不一,NK的长度应该不低于算法库中密钥库的算法中密钥以及所需其他参数长度累加的最长的长度,AK的长度是确定的,对每一个编码的算法,均规定NK部分的数据是如何分配的。
2.一种如权利要求1所述的分段加密方法,其特征为:分段的长度小于惟一解距离。
3.一种如权利要求2所述的分段加密方法,其特征为包含一个密码算法库,将一些公开的算法进行一定遴选后,选择所有可用的加密模式,逐一进行编码,只要算法名称、加密模式和分组长度有不同的,均需要采用不同编码,同时保留一些预留的编码,对于保密的算法则采用这些预留的编码,算法数量为N,则算法编码长度取值为:当log2N为整数,取log2N;log2N非整数,取log2N的整数部分+1,对于每一个不同编码的算法,均在系统中设定NK数据的哪些bit位是代表哪些参数,包括密钥、初始向量,同时也设定对应算法的加密明文的分段的长度;各个分段的长度确定方法为:分组性的算法是分组长度的固定倍数,流密码和一次一密算法为一个相同的固定长度。
4.一种如权利要求3所述的分段加密方法,其特征为算法的编码由AK产生一个安全序列来决定,不同分段采用的算法编码值是依次从安全序列上截取固定长度的二进制数据,转换为十进制后,取模N得到的值作为算法的编码,其中N为所采用的所有算法的数量。
5.一种如权利要求4所述的分段加密方法,其特征为加密时对明文的最后一个分组进行填充,并且附加填充的长度信息后进行分段加密,填充方法为:如果最后剩余的分组长度达不到一个完整的加密分段长度,则需要填充到加密分段长度,填充部分全部填充0;如果最后剩余的分组长度等于一个完整的加密分段长度,则在这一部分正常加密后,附加一个每一个bit都是1的分段,分段的长度根据AK对应位置的编码确定。
6.一种如权利要求5所述的分段加密方法,其特征为对应的解密方法是相反的一个过程,根据广义密钥GK确定每一个分段的加密算法、加密的长度、加密的密钥及其他参数,逐一解密,最后根据填充长度的信息去掉填充,即得到明文;解密的时候则根据填充规则来判断填充的长度,解密的最后一个分段如果是全1的二进制数据,则直接去掉最后一个分段;如果不是,则取最后一个byte的值,即可确定填充的长度,去掉对应的byte数,即可去掉填充。
CN201110446034.XA 2011-12-28 2011-12-28 一种采用不确定加密算法的分段加密方法 Active CN102404111B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110446034.XA CN102404111B (zh) 2011-12-28 2011-12-28 一种采用不确定加密算法的分段加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110446034.XA CN102404111B (zh) 2011-12-28 2011-12-28 一种采用不确定加密算法的分段加密方法

Publications (2)

Publication Number Publication Date
CN102404111A CN102404111A (zh) 2012-04-04
CN102404111B true CN102404111B (zh) 2016-07-06

Family

ID=45885932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110446034.XA Active CN102404111B (zh) 2011-12-28 2011-12-28 一种采用不确定加密算法的分段加密方法

Country Status (1)

Country Link
CN (1) CN102404111B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905187B (zh) * 2012-12-26 2018-04-03 厦门雅迅网络股份有限公司 一种基于内容的网络通信加密方法
CN104065686A (zh) * 2013-03-21 2014-09-24 中兴通讯股份有限公司 文件多层加密传输方法、加密端及解密端
CN103345609B (zh) * 2013-06-06 2016-08-10 深圳市大成天下信息技术有限公司 一种文本加解密方法和加解密设备
CN103684758B (zh) * 2013-11-05 2016-06-15 广东全通教育股份有限公司 一种用户密码混合加密的方法及系统
CN105163190B (zh) * 2015-09-08 2019-02-15 深圳市九洲电器有限公司 机顶盒点播功能实现方法及系统
CN106549756B (zh) * 2015-09-21 2019-11-08 阿里巴巴集团控股有限公司 一种加密的方法及装置
CN105721882B (zh) * 2016-04-18 2021-01-05 上海泥娃通信科技有限公司 一种分离编解码的方法
CN106301762A (zh) * 2016-08-09 2017-01-04 杭州迪普科技有限公司 数据解密的方法及装置
CN106712929A (zh) * 2016-12-30 2017-05-24 桂林电子科技大学 一种大数据的加密方法
CN106685980B (zh) * 2017-01-13 2019-12-20 桂林电子科技大学 一种大文件的加密方法
CN107070649B (zh) * 2017-03-02 2021-08-31 桂林电子科技大学 一种减少写入的大文件选择性加密方法
CN106982115B (zh) * 2017-03-30 2020-03-17 山东超越数控电子股份有限公司 一种分组密码模式的同步方法和系统
CN110858832B (zh) * 2018-08-22 2022-04-12 阿里巴巴集团控股有限公司 口令信息加固与数据处理方法、设备、系统及存储介质
CN109391936B (zh) * 2018-09-19 2021-04-06 四川长虹电器股份有限公司 一种ota升级包加密下载的方法
CN109583217B (zh) * 2018-11-21 2022-06-07 深圳市易讯天空网络技术有限公司 一种互联网电商平台用户隐私数据加密及解密方法
CN110011987B (zh) * 2019-03-21 2021-07-30 深圳云知声信息技术有限公司 一种手机程序与智能硬件进行绑定的系统及方法
CN111159730B (zh) * 2019-12-13 2021-07-09 支付宝(杭州)信息技术有限公司 数据处理方法、查询方法、装置、电子设备和系统
CN115378664B (zh) * 2022-08-02 2023-07-18 深圳市乐凡信息科技有限公司 数据加密传输方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247506A (zh) * 2007-02-14 2008-08-20 中国科学院声学研究所 在数字媒体播放系统中的文件加密方法及加密文件结构
CN102075322A (zh) * 2010-12-06 2011-05-25 中兴通讯股份有限公司 关键参数的存储方法及终端设备
CN102170350A (zh) * 2011-04-11 2011-08-31 桂林电子科技大学 具有误导功能的多重不确定加密系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247506A (zh) * 2007-02-14 2008-08-20 中国科学院声学研究所 在数字媒体播放系统中的文件加密方法及加密文件结构
CN102075322A (zh) * 2010-12-06 2011-05-25 中兴通讯股份有限公司 关键参数的存储方法及终端设备
CN102170350A (zh) * 2011-04-11 2011-08-31 桂林电子科技大学 具有误导功能的多重不确定加密系统

Also Published As

Publication number Publication date
CN102404111A (zh) 2012-04-04

Similar Documents

Publication Publication Date Title
CN102404111B (zh) 一种采用不确定加密算法的分段加密方法
Zhu et al. Plaintext-related image encryption algorithm based on block structure and five-dimensional chaotic map
Zhou et al. Security analysis of multimedia encryption schemes based on multiple Huffman table
CN104468090B (zh) 基于图像像素坐标的汉字密码编码方法
US8121294B2 (en) System and method for a derivation function for key per page
CN109840425B (zh) 一种文件加密的方法和装置
EP3178190B1 (en) Encoder, decoder and method
CN107078901B (zh) 采用部分数据加密的编码器、解码器和方法
KR19990082665A (ko) 공통키 통신방법
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
CN102170350A (zh) 具有误导功能的多重不确定加密系统
CN110474772B (zh) 一种基于格的加密方法
CN110149200A (zh) 一种基于动态dna和4d混沌的彩色图像加密方法
CN102904717A (zh) 利用数据压缩编码的混沌同步加密解密方法及其装置
CN106385313A (zh) 基于分组加密算法的随机密文系统及实现方法
CN104396182A (zh) 加密数据的方法
CN109951268A (zh) 基于位置换和位变换的加密解密方法和装置
CN103607276A (zh) 新型基于随机函数的抗已知明文密文对攻击的分组加密方法
CN107454975A (zh) 加密系统和密钥生成装置
CN115174261A (zh) 基于分阶划层与密中密分发的混合加密解密系统与方法
CN105339995A (zh) 解密装置、解密能力提供装置、其方法、以及程序
Song et al. Favored encryption techniques for cloud storage
CN101364868B (zh) 基于广义信息域的伪随机码发生器及其发生方法
CN101159546A (zh) 一种电子邮件加密收发系统
JP2005114870A (ja) 暗号通信システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160517

Address after: 541004 School of computer and information security, Guilin University of Electronic Technology, 1 Jinji Road, the Guangxi Zhuang Autonomous Region, Guilin

Applicant after: GUILIN University OF ELECTRONIC TECHNOLOGY

Address before: 541004 School of computer science and engineering,, Guilin, the Guangxi Zhuang Autonomous Region, China, Guilin University of Electronic Technology

Applicant before: Wang Yong

C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20120404

Assignee: Guilin Feisheng Information Technology Co.,Ltd.

Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY

Contract record no.: X2022450000198

Denomination of invention: A Piecewise Encryption Method Using Uncertain Encryption Algorithm

Granted publication date: 20160706

License type: Common License

Record date: 20221125

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20120404

Assignee: Guangxi Erbao Information Technology Co.,Ltd.

Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY

Contract record no.: X2022450000401

Denomination of invention: A Piecewise Encryption Method Using Uncertain Encryption Algorithm

Granted publication date: 20160706

License type: Common License

Record date: 20221226

EE01 Entry into force of recordation of patent licensing contract
OL01 Intention to license declared
OL01 Intention to license declared