CN104868995B - 编码约定控制式认证法和编码约定控制式加密法 - Google Patents
编码约定控制式认证法和编码约定控制式加密法 Download PDFInfo
- Publication number
- CN104868995B CN104868995B CN201410058354.1A CN201410058354A CN104868995B CN 104868995 B CN104868995 B CN 104868995B CN 201410058354 A CN201410058354 A CN 201410058354A CN 104868995 B CN104868995 B CN 104868995B
- Authority
- CN
- China
- Prior art keywords
- code
- control
- transformation
- basic
- coding
- 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
Links
Landscapes
- Storage Device Security (AREA)
- Communication Control (AREA)
Abstract
编码约定控制式认证法和编码约定控制式加密法,涉及信息技术、电子技术,主要提供一种“编码约定控制变换式”信息认证方法和一种“编码约定控制变换式”信息加解密方法。其技术核心是“编码约定控制变换”,它是按照人为的约定,以编码的形式定义出一系列不同的变换方式,并把要变换的数据分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,产生出新的数据结果,进而根据这样的“编码约定控制变换”和产生的结果,进行信息认证,或进行信息加解密。它简便易行、成本低廉、安全可靠,非常适合于软件程序处理,可以广泛应用在日常生活、经济、军事等领域。
Description
技术领域
本发明涉及信息认证的方法和信息加解密的方法,是基于一种“编码约定控制变换”方法的信息认证技术和信息加密技术,属于信息技术、电子技术领域。
背景技术
在信息社会,大量地存在着各类“求证”和“验证”活动。如“管理方”要对“客户”进行身份认证,往往以验证“密码”的形式进行。其过程一般由客户提出“求证”申请,提交“密码”;而管理者进行“验证”,则把客户提交的“密码”,与预先存储在于管理方的“密码”相比较,如果一致,则认可客户身份的真实性,如果不一致则不认可。
目前,社会上普遍使用的一般是“静态密码”,其“密码”是固定不变的,它易于记忆,使用简单方便,易于推广;但缺点是安全性差,密码容易被盗用。还有一种是“动态密码”,是根据专门的保密的算法生成一个不可预测的随机数字组合,每个密码只能使用一次,可以有效保护交易和登录的认证安全,“动态密码”无需定期更换密码,安全省心,目前也已经被广泛地应用;但这些“动态密码”却存在成本高和操作不便的两大问题,它往往需要复杂的硬件支持,使用者难以自主控制。
类似的,数据加密的活动也大量存在各类于通信过程中,其安全性问题也非常突出。为此人们也使用了各种各样的加密方法,如:替换加密法、换位加密法、回转轮加密法、多码加密法,等等。也有很多标准,如:美国的数据加密标准DES,国际数据加密算法IDEA,等等。这些加密方法和标准,在军事、在商业等领域都有大量应用。
为了加强数据加密的防破解能力,很多算法大多都采用复杂的函数,往往整个设计过程不公开,使得人们会担心破译者利用函数的薄弱环节攻破,或者设计者有后门。所以人们非常需要加密简便安全而能够自我控制的系统。
发明内容
为了克服在“信息验证”活动中和“信息加解密”活动中的安全与便捷的矛盾,本发明提供一种“编码约定控制变换”式信息认证方法和一种“编码约定控制变换”式信息加解密方法,分别简称为:编码约定控制式认证法和编码约定控制式加密法,提供一种原理简便、算法不需要保密、变换过程可以完全公开的,具体实施容易、应用成本低廉的技术方法。
由于发明的这两种方法在实现过程中,都是基于“编码约定控制变换法”这一核心技术方法的,所以在此合案申请。
在此说明一下,由于在平常“密码”有“秘密的号码”和“加密的代码”两种不同的理解,容易混淆。【“秘密的号码”一般是指不对外公开的秘密的号码,是一种特定的暗号、口令,它可以是一组数字或字符。“加密的代码”一般是指经特别编制的可以公开的代码(电码、文件),但这些代码是通过一种变换手段加密了的,其本身含义是秘密的,需要解密才能有意义的,它可以是一组数字或字符,也可以是整篇文件。这种“密码”也称为“密文”,与之对应的称为“明码”或“明文”。】
所以,在本专利系列文件中,为防止产生歧义,对两种“密码”作如下约定:“密码”专指秘密的号码,是秘密的口令,一种特定的暗号、口令。“密文”专指加密的代码,是加密的数据(文件),是“明文”通过“加密方法”得出的代码。
同时,由于一般的信息都可以变换成数据进行处理,所以,在本申请文件的叙述中,信息、数据是具有相同的指代,并以“数据”作为各种“字符串”、“码”的统称。
为了达到上述目的,本发明为解决以上问题所采用的技术方法是:先提供“编码约定控制变换”法,进而根据这一数据变换的方法、法则,来实现“编码约定控制变换”式信息认证方法和“编码约定控制变换”式信息加解密方法。
其中,技术核心“编码约定控制变换”,是按照人为的约定,以编码定义出一系列不同的变换方式,并把要变换的数据分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,产生出新的数据结果。
为叙述方便,“编码约定控制变换”方法,可以简称“数控变换法”、“CCC法”,其技术可以简称“数控码”技术,或“CCC码”技术。
一、本发明为其中的核心技术“编码约定控制变换”方法所采用的技术方案如下:
它具有“公码”、“母码”,经组合后,按“编码约定控制变换”方法,产生出新的“子码”,进而依据这样的方法和结果实现信息认证或信息加解密。
简单的讲,就是由两组数据(字符串),按照编码约定的变换法则,变换成新的数据(字符串)。
所述的“公码”、“母码”、“子码”均可以为字符串,其字符串可以是纯数字,也可以是纯字母,或者是数字与字符混合。
“公码”、“母码”均可以包含有“名称码”、“序列码”、“主干码”,也可以是只有其中的部分。
所谓的“只有其中的部分”指的是“公码”或“母码”可以只有名称码、序列码、主干码中的一种或者几种,(如只有序列码、主干码,或只有名称码、主干码,或只有序列码等)。
“名称码”是为了与其他进行区分,并确保能够及时发觉恶意攻击而加以防御(如:一旦接收到“名称”相同而其他信息不对的,可以判定是恶意攻击而及时处理)。同一系统中,可以用“名称码”区分各用户,一般是不变的。
“主干码”是用以产生变化结果的主体,可以专门选择确定,也可以随机产生。“母码”的“主干码”一般是不变的,“公码”中的“主干码”一般每次都变换的。
“序列码”是为了与此前使用过的数据进行区分,确保不是重复的,是要变化的。
“序列码”可以是有次序的数码(自然数或者字母),也可以是有次序时间值,“序列码”可以是递增的,也可以是递减的。
在一定情况下,恒定递增或恒定递减的“序列码”,可以确保每一次的“公码”是变化的,不被重复的,由此产生的“子码”等一系列结果都是与之前是不同的,这样可以有效防止使用过的结果被人盗用而重复使用。
在“公码”或“母码”中也可以有多个“序列码”。尤其在“公码”中,如果有多个(同步或异步的)“序列码”的存在,其生成“子码”的复杂度就更加大;在“母码”中一般不需要“序列码”,但也可以作为定期的自动变换而存在,相当于每过一段时期自动变更“母码”。
所述的“编码约定控制变换”,是指按照人为的约定,以编码的方式定义出一系列不同的变换方式,并把要变换的数据划分为“控制码”和“基本码”,或者直接添加上“控制码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,产生出新的“子码”结果。
“控制码”可以是从数据中分离出来,也可以是人为的附加上去的,所谓“控制码”和“基本码”,也都是常规的数码,只是在变换过程中可以区别为“约定控制”和“被控制”的两种情形。
这种编码定义的控制方式(都是人为约定的),可以是选择、分组(组合)、移位(排列)、运算(计算)、映射或重复,可以是上述的全部,也可以是其中的一种或者几种,可以相互并列或者相互嵌套地进行控制(其嵌套可以是局部或全部的重复、叠层)。
所述的“选择”,是指“控制码”不同的编码值,将确定着对(对应被控的)“基本码”进行不同的模式、长度或者起始地址的选择控制。(换言之,“控制码”每一种(不同的)编码,都将定义对(对应被控的)“基本码”进行一种(不同的)模式、长度或者起始地址的选择控制,下同)。
如:1、选择模式:确定内部的变换是如何的分组、移位、运算、映射或重复;2、选择长度:确定从较长的数据中选择一部分码;3、选择入口地址,让数据首尾相接形成闭环,确定不同的位置做起点(入口地址),就变成不同的码值。
例如:编码1、2、3、4、5、6……分别代表1选择、2分组、3移位、4运算、5映射或6重复,则当控制码是25436时,则“基本码”可以循序进行分组、映射、运算、移位和重复。
所述的“分组”,是指“控制码”不同的编码值,将确定着对(对应被控的)“基本码”进行不同的长度或者方式的分组控制,其分组的长度单位可以是“位”,也可以是“字节”、“字”、“帧”、“串”,可以n位、n字节、n帧为一组等等。
例如:可以4位、8位、或者16位为一组;也可以5字节、10字节、或者15位为一组;可以1帧、3帧或者6帧为一组,等等。
所述的“移位”,是指“控制码”不同的编码值,将确定着对(对应被控的)“基本码”进行不同的位置的移动控制,其移动的长度单位可以是“位”,也可以是“字节”、“字”、“帧”、“串”,也即,对数码进行(相互约定的)重新排列组合,像扑克牌洗牌一样,只是这种“洗牌”是受控的。
例如:数据2565997545定义为(25--65997545),“控制码”25表示把“基本码”65997545第一位移2位、第二位移5位,使6997545变成596975455。
例如:定义“控制码”=1,就确定两组数据逐步交叉,数据12345-67890,——>1627384950。
例如:定义“控制码”=2,就确定两组数据双步交叉,数据12345-67890,——>1267348950。
所述的“运算”,是指“控制码”不同的编码值,将确定着对(对应被控的)“基本码”进行不同的运算控制,所述的“运算”可以是算术运算,也可以是逻辑运算,这种运算控制,其编码所对应的,可以是(单一的)运算符,也可以是(直接的)算式,所述的算式,可以是单项式也可以是多项式。
例如:“控制码”1、2、3、4、5、6、……的编码:一、分别代表“加、减、乘、除”等算术运算符,或“与、或、非”等逻辑运算符;二、或者分别代表“+6、-11、×3、/2等”单步(单项)运算;三、或“(m-1)×3、(m+3)/3、(m-1)×3+3等”多项式预算,等等。
所述的“映射”,是指“控制码”不同的编码值,将确定着对(对应被控的)“基本码”进行不同的码值变换,这种“(数-数)映射”,可以是固定式的,也可以是寻址式的,其“映射”可以是一对一的,也可以是一位或者多位数据。
所谓的“固定式”,是指可以(依据“控制码”的编码)固定地映射为相应的值,不同的“控制码”有不同的映射,但同一“控制码”下,其映射是一定的,例如:“控制码”=2,则,“基本码”1变3,2变4,3变5,4变6……。
所谓的“寻址式”,是指可以(依据“控制码”的编码)先在包括“基本码”在内的整个“码串”中进行寻址,在其相应的位置中找出相应的值,作为变换的控制,这样,先经过(“位置”->“相应的值”的)寻址后,再变换,可以使变化更加不确定。
例如:当“控制码”=8,数据(“码串”)为×××××××16×××××××××××,则第八位开始的值为地址,寻找到该地址的内容(即对应编码)为16,再以控制编码为“16”的控制方法进行变换。如果第八位开始的值为02,则以控制编码为“02”的控制方法进行变换。
所述的“重复”,是指“控制码”不同的编码值,将确定着对(对应被控的)“基本码”进行不同的次数的重复变换。
例如:“控制码”=2,则相应的“基本码”要重复变换2次。
概括地说,以上这些控制方式,每一种不同编码的“控制码”,都将(按人为定义的方式)对(对应被控的)“基本码”进行一种(特定的)变换控制,而且由于“控制码”是可以并列或嵌套使用,其编码值,在字符串(数据)中不同的编码值在不同的位置可以有不同的变换约定【也即字符串中的字符不同位置上的不同的值代表不同的选择、分组、移位、运算、映射或重复方式】,而且字符串(数据)中的“基本码”“控制码”的划分也不是恒定不变的,前面的控制不同,后面的划分就不同。
这些“控制码”也可以是部分缺省的,变换时可以让“基本码”固定地映射为相应的值、或者相应的控制方式。
在数码中可以让一部分“控制码”缺省,不直接表现出来,这样,可以减少硬件开销。(相对的可靠性会降低,不过部分缺省,不会造成问题。)
例如:缺省“控制码”,所有的码都直接是,5位一组:13156,70298,98367——>13+56,70-98,98*67。
这种变换的过程,是可以分步骤的,它可以有内层变换、中层变换、外层变换几个步骤,也可以是缺省其中的一步或者几步。(如:在具体实施中,可以只有内层变换、中层变换,而没有外层变换;或者只有中层变换,而没有内层变换、外层变换等等。)
在内层变换中,“公码”和“母码”合并成“组合码”;在“组合码”中定义出“控制码”和“基本码”;“控制码”可分为“预控码”和“外控码”。
“预控码”可以直接对“组合码”中的“基本码”进行控制,确定出“初选码”。(这种约定的控制可以是码值的映射,也可以是模式选择、长度的选择或入口地址的选择。)
“初选码”可以包含有“中间过程码”和“重复次数控制码”,(即“初选码”中的“基本码”和“控制码”)
在中层变换中,“中间过程码”又可以再分为“控制码”和“基本码”,“控制码”依据编码定义了的(相应的)控制方式,对“基本码”进行(选择、分组、移位、运算、映射或重复)变换,相互间可以并列或者嵌套地进行,生成新的“中间过程码”,
生成的“中间过程码”,又可以分为“控制码”和“基本码”,重新按上述方法进行变换,重复次数由“重复次数控制码”决定,最终生成“子码”。
在外层变换中,“子码”与“公码”合并成“联合码”,
“联合码”可以直接输出,也可以“外控码”控制下变换成“混合码”。
这种变换可以是(人为约定的)数据的“映射”,也可以是数据的“移位”。
“编码约定控制变换”其理论依据类似于:对于函数F(x,y,z,……)=A,如果知道函数F(x,y,z,……),一定可以推出结果“A”,但如果知道结果“A”,不可能推出函数F(x,y,z,……)。
让“公码”和“母码”通过变换产生出“子码”,如果使这种变换存在一定的约定关系,则知道“公码”和“母码”一定可以推出结果“子码”,反过来知道了公开的“公码”与“子码”,不可能推出“母码”,仅仅知道“公码”也不可能推出结果“子码”。(这类似于“密钥”与“公钥”存在一定的函数关系,一定可以推出结果“密码”,相反的,知道了公开的“公钥”与结果“密码”,不可能推出“密钥”。)
在“编码约定控制变换”系统中,“母码”在一般情况下是固定不变的、是静态的,是“定码”,也是需要保密的,这相当于是“密钥”;“公码”每一次都是变化的、是动态,是“变码”,它是不需要保密,是公开的,这相当于是“明钥”;这样,所产生的“子码”每一次也是不同的、是动态的。
在变换过程中,所有的约定,都可以是公开的,只要“母码”是秘密的,系统就是安全的。
补充说明一下的是,“公码”、“母码”、“基本码”、“控制码”等等各数码的名称、各方法的名称,都是人为命名的,只是为了在叙述方便,是为了描述变换过程中不至于混淆,能够相互区别而为的。(如“组合码”“联合码”都指的是两个码的合并,是为区分“公码”与“母码”的合并结果和“公码”与“子码”的合并结果而分别命名的。各种“码”本质上都是长短不一的字符串,“控制码”、“基本码”只是在变换过程中可以区别为“约定控制”和“被控制”的两种情形。)
二、本发明为其中的“编码约定控制变换”式信息认证方法系统所采用的技术方案如下:
进一步的,根据“数码约定控制变换”这一变换法则,构成“编码约定控制变换式”信息认证方法,其系统具有“求证方”(甲方)和“验证方”(乙方)。【注:在本文中有(甲)或(乙)的,分别表示是甲方或者乙方的产物】
“求证方”与“验证方”均需要预先持有“母码”,双方均需要及时记录下最近使用过的“序列号”,如果有“名称码”,则均需要记录。
每次求证时,“求证方”先产生出“公码”,“公码”可以是特别设定的,也可以是随机产生的。但其中的“序列码”有一定限制(如果“序列号”的设置是递增的话,下一次的“序列号”必须大于上一次的“序列号”;如果设置是递减的话,就必须是小于上一次的)。
使“公码”与预先持有的“母码”组合成“组合码”,然后通过“数码约定控制变换”方法产生出“子码(甲)”,“子码(甲)”再和“公码”,合并成“联合码”。
“求证方”的“联合码”还可以先在“外控码”的控制下,通过正向的变换(可以是“数控正映射”或“数控正向移位”),产生出“混合码”,“混合码”和“外控码”一起发送到“验证方”,
“验证方”根据接收的“混合码”和“外控码”,通过逆向的变换(由于两个过程是相反的,需要的变换也是相反的,可以是“数控逆映射”或“数控逆向移位”,详见后叙“洗牌式数控移位法”的说明),反推出“联合码”,并分离出“子码(甲)”与“公码”。
“验证方”再把分离出的“公码”与预存的“母码”通过“数码约定控制变换法”产生出“子码(乙)”,
比对“子码(乙)”的值和“子码(甲)”的值是否相等,以完成认证过程,如果相等,则说明是正确的,如果不相等则说明是错误的。【有外层变换的情况】
或者,“求证方”可以把“联合码”是直接输出而发送到“验证方”,则“验证方”直接把接收到的“联合码”分离出“子码(甲)”与“公码”,“公码”与预存的“母码”也通过“数码约定控制变换法”产生出“子码(乙)”。
比对“子码(乙)”的值和“子码(甲)”的值是否相等,以完成认证过程,如果相等,则说明是正确的,如果不相等则说明是错误的。【没有外层变换的情况】
以上原理的根据是:知道“公码”,不知道“母码”是不可能推出“子码”这一常识的。
在信息验证系统中,“公码”中的“序列号”一般是不可少的,它主要是为了确保每次验证是不被重复的。
三、本发明为其中的“编码约定控制变换”式加解密法采用的技术方案如下:
根据“数码约定控制变换”这一变换法则,构成“编码约定控制变换式”信息加密解密方法,其系统具有“加密方”(甲方)和“解密方”(乙方)
“加密方”与“解密方”均预先持有“母码”。
每次加解密时,“加密方”先产生出“公码”,使“公码”与预先持有的“母码”,组合成“组合码”,通过“数码约定控制变换”方法产生出“子码(甲)”,“子码(甲)”与需要加密的数据进行“异或”,产生出“密文”,“密文”再和“公码”,合并成“联合码”。
“加密方”的“联合码”还可以先在“外控码”的控制下,通过正向的变换(可以是“数控正映射”或“数控正向移位”)产生出“混合码”,“混合码”和“外控码”一起发送到“解密方”,
“解密方”根据接收的“混合码”和“外控码”,通过逆向的变换(由于两个过程是相反的,需要的变换也是相反的,可以是“数控逆映射”或“数控逆向移位”,详见后叙“洗牌式数控移位法”的说明),反推出“联合码”,并分离出“子码(甲)”与“公码”,“公码”与预存的“母码”通过“数码约定控制变换法”产生出“子码(乙)”,然后把“子码(乙)”与“密文”进行“异或”,即可得出“解密了的数据”。【有外层变换的情况】
或者,“加密方”可以把“联合码”直接输出而发送到“解密方”,则“解密方”把接收到的“联合码”直接分为“密文”与“公码”,“公码”与预存的“母码”通过“数码约定控制变换法”产生出“子码(乙)”,然后把“子码(乙)”与“密文”进行“异或”,即可得出“解密了的数据”。【没有外层变换的情况】
以上原理的是根据逻辑运算法则:所以
在“加密方”到“解密方”的传输过程中,“公码”也是可以与“密码”分开传输的,也可以是借用“帧”的编号、或时间值的,或者也可以是缺省的。
在具体实施中,也可以通过其他链路传输“公码”,还可以利用(被加密的)数字信号中本身特有的帧的编号,或者时间值,作为每一段(帧)加密信息的“序列号”,利用它们的自动变换,双方各自自动地产生不断变化的“公码”。(也可以在每大段的数据加解密中,传输一次“主干码”,大家共用)。这特别对于较长信息数据的加密非常有益,因为不可能有每一小段数据都跟随着“公码”,在资源上无法开销。
这样“加密方”和“解密方”双方,可以预先产生“子码”,使双方能够同步地加密和解密。这在实时通信中非常有用。
四、本发明为“编码约定控制变换”式信息认证法和“编码约定控制变换”式信息加解密法采用的技术方案,还可以如下:
情形一:其“编码约定控制变换”中的“移位”方法,可以是长交换,也可以是短交换,其“移位”可以是左向的、也可以是右向的,其“移位”控制可以是“位对位,值对距离”。
所述的“位对位,值对距离””是指,“控制码”的“位置”对应“基本码”的“位置”(表示两者“位置”的数据长度,可以是不同的,可以一对一,也可以一对多),“控制码”该“位置”单元上值确定“基本码”对应“位置”上的单元的移动距离。(这里的“单元”指的是一个或者多个的位、字节或字等单位长度,下同)。
所述的“长交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从“起始位置”向“目标位置”交换;“起始位置”也可以是约定的;它可以左位起,也可以右位起,也可以从中间位置起。
例如:(基本码)6516644208<-(控制码)15670,由于“控制码”的左起第一、二、三、四、五位,分别为1、5、6、7、0,则可以约定为,“基本码”的左起第一、二、三、四、五位,分别为左移1位、5位、6位、7位、0位。
所述的“短交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从数据的“目标位置”向其相邻的预定的位置交换(左右相邻1位或者n位交换),它可以左位起,也可以右位起,也可以从中间位置起。
例如:同样是(基本码)6516644208<-(控制码)15670,由于“控制码”的值分别为1、5、6、7、0,则可以约定为,“基本码”的左起第1位、第5位、第6位、第7位、第0位,各自都右移2位(也可以约定左移3位)。
情形二:其“移位”方法可也以是“数控正向移位”与“数控逆向移位”对应起来使用的,在双方的变换过程中,“控制码”对于“基本码”的控制的移位顺序和方向是相反的。由于两个过程是相反的,双方需要的移动操作也是相反的。(这里的“双方”指的是信息验证的求证方和验证方的双方,或者是信息加解密过程中的加密方和解密方的双方)。
所谓“数控正向移位”与“数控逆向移位”,就是在同样的“数控码”控制下,其变换的方向是一正一反相对应的,也即,“求证方”或者“加密方”进行左移,对应的“验证方”或者“解密方”则进行右移,“求证方”或者“加密方”进行右移,对应的“验证方”或者“解密方”则进行左移,(详见后叙“洗牌式数控移位法”的说明。)。
这种变换方法,适用于“子码”生成后外层变换,或者没有内层变换的、中间变换的独立变换。
“基本码”可以是直接的原始数据,也可以是已变换或者已加密的数据,也可以数据加上冗余的。由于这种变换本身有较强的加密能力,所以原始数据也可以了,最理想的应该是:“基本码”=预置码+原始数据,或者在数据的某个位置上加上冗余,都可以更加有效防止数据的规律。
这种“移位”可以有多次反复的,可以进行多次“左右交替控制”(左向、右向控制轮流进行),也可以每次不同,也即每次的移动的位数可以有不相同。
例如:基本码:65166-442088083-02476<——控制码(5次):70319、15670、26、997545635、6893,由于“控制码”分别有5位、5位、2位、9位、4位,
这样,在第一次、第二次、第三次、第四次、第五次的变换中,其中分别的需5个数、需5个数、需2个数、需9个数、需4个数,进行右向移动、右向移动,可以交替进行。
这种移位方法是可以独立地作为信息认证或者信息加解密用。
这种左右来回多次反复的(加密)变换系统,(其结果就像揉面一样,也像扑克牌洗牌一样,毫规律。),所以,可以称之为:洗牌式数控移位法。洗牌式数控(移位)加密法。这种加密法,只要数据的长度足够长,理论上,可以永远破解不了。——只要计算机的速度足够快,能够来得及加密解密。
以上所有这些,其变换过程中的所有的约定,应该是可以通过编程实现的,以这种方法实现的认证过程或者加解密过程可以是以软件的形式,存在于专用芯片或通用芯片中的,存在于(电脑、手机、手表、锁具等)电器设备中的。信息认证法和信息加解密法,最终目的是应用,变成程序,嵌入在硬件芯片中,组合到各种电子设备中,可以广泛应用在日常生活、经济、军事等领域。
本发明的有益效果是:
“编码约定控制变换式”信息认证方法和“编码约定控制变换式”信息加解密方法,其核心都是基于“编码约定控制变换”,这使得可以它非常方便用软件实现,实施起来简单易行、成本低廉、安全可靠,操作方便,可以广泛应用于各种需要信息认证或者信息加密的设施上。
一、由于这种“变换过程”是代码(控制)的,所以是非常容易形成统一规范、统一形式,方便软件处理,也完全适合用普通的芯片实施。
二、由于这种“变换过程”是约定(控制)的,所以是:1、双方是真实可知的;2、他人是不可预测的(别人无法通过技术手段反向演算获得);3、变化是无穷无尽的,安全性非常高。
1、程式可以无限多。由于各种定义都是人为给定的,所以设定的程式可以有无穷多,可以编制有无穷无尽个不同系统的程序软件。它没有恒定的算法,不像目前的加密系统都是统一的算法,有相当的限制。
2、同一种程式下,可以有非常多的应用个体。只要有足够多“母码”可供分配,可以让足够多的应用个体,公用一个应用程序软件而相互间不会泄密、不相互影响。也就是,只要编码的字符串(“公码”“母码”“子码”)的长度足够长,就可以满足足够多的个体使用(理论上是只要对0~9进行九种约定,用九位的编码就有上1亿种不同的变化方法。)。改变字符串就根本改变了变换方式,所以使得程式是完全可以开放的,这也就可以让普通人拥有相当于独一无二的算法,实现拥有“个性化加密”的方法,有效防止非法攻击。
3、同一个应用个体,可以长时间使用一种模式。在每一个“母码”下,只要“公码”中的“序列码”是能够保证不会被重复的,“公码”就将永远是变化的,永远是动态的。只要“序列码”容量足够大,同一“母码”就可以一直重复使用下去(而且每一次的变换方法、密码或密文都不一样的)。在程序的自动控制下,使用者可以完全对“序列码”的变换放任不管。
4、由于变化的最终结果是无规律的、发散的。要破译只有采用穷举法(一个个地去试)。如果数据码长越长,被科学破解的难度就越大;同样的,被随机撞上的概率就越低(10位的长度可以10亿分之一)。由于在每一个系统中,“码串”可以设定任意长,所以理论上是可以破解不了,因为只要变换速度跟得上,就可以达到任意难度,就像循环小数0.33333……=1/3,(如果变换定义的程式不开放,双方只是自己内部定义且保密,穷举法的开销可以无限大,可以使得外人根本破解)。
三、由于这种“变换过程”可以是普通变换组合的,所以是可以低成本的,整个过程都可以是常规的变化,不需要采用复杂的处理芯片。变换方法简单、直观,不存在“后门”,也不存在其他薄弱环节,整体程式对使用者来说都是可公开的,可以开放的。
四、由于这种“变换过程”是可以在开放程式下的编码选择,所以可以像选择“静态密码”一样选择自己的系统,也容易更换,操作使用方便。万一被盗,“母码”失窃,双方可以简单地更换一个新的“母码”即可(像更换“静态密码”一样),可以一键操作完成。
这样,就完全可以实现以个人自主控制为主的、各类场所可以混合使用的通用系统。(目前相关各系统均以团体、组织的为单位控制的,各自为政,个人只能够被动应用),只要提供统一的应用程式,大家都可以各取所需就。可以有效地解决安全性和兼容性、便捷性的矛盾。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是一种“编码约定控制变换式”信息认证方法的工作原理的一种流程框图。
图2是一种“编码约定控制变换式”信息加解密方法的工作原理的一种流程框图。
图3是它们的核心技术“编码约定控制变换方法”的工作原理的一种流程框图。
图中,1、内层变换,2、中间变换,3、外层变换。其数据变化的流程主要涉及各类数码、变换、数据来源、流向、具体变换、“异或”运算等几部分。在图中一般为:
矩形方框如:表示各类数码;椭圆如:表示各种人为的约定所建立的映射表;箭头如:→表示流程方向;符号表示具体变换方式,符号“异或”表示异或运算。
其中,各数码的名称、各算法的名称,都是人为命名的,只是为了在叙述方便,是为了描述变换过程中不至于混淆,能够相互区别而为的,(如“组合码”“联合码”都指的是两个码的合并,是为区分“公码”与“母码”的合并结果和“公码”与“子码”的合并结果而分别命名的)。
在图1中,左边的框内,是求证方(甲方)的流程示意;右边的框内,是验证方(乙方)的流程示意。
“求证方”与“验证方”均预存有“母码”,并都持有约定的变换法则。
每次求证时,“求证方”中新产生的“公码”与预存的“母码”组合成“组合码”。“组合码”可以分配出“预控码”和“外控码”。(需要及时记录已使用过的“序列码”。)
在“预控码”的控制下,通过“内层变换”(1)后,进入“中间变换”(2),“中间变换”中可以有n次生成“中间码”的过程,最后生成“子码(甲)”。
生成“子码(甲)”与“公码”合并成“联合码”,“联合码”在“外控码”的控制下,通过“外层变换”(3)后,生成“混合码”,“混合码”与“外控码”一起通过可开放的(有线或无线)传输链路输出。
“验证方”通过传输链路的输入,得到“混合码”与“外控码”,在“外控码”的控制下,通过“外层变换”(3)的“逆向”变换后,恢复出“联合码”,从而得到“子码(甲)”和“公码”,得到的“公码”与预存的“母码”组合成“组合码”,重复与“求证方”一样的产生“子码(甲)”过程,产生出“子码(乙)”。
比对“子码(乙)”的值和“子码(甲)”的值是否相等,即可完成认证过程,如果相等说明“求证方”是正确的,如果不相等说明“求证方”是不正确的。(在该验证系统中,“公码”中的“序列号”是不可少的,它可以确保每次验证是不被重复的)
这一“信息认证”的流程,也可以下列文字概括:
一、预备(甲乙双方)
1、甲方乙方均有约定的方法(程序)
2、均有母码。
二、求证(甲方:求证方)
1、产生新的公码。
2、变换产生——>子码(甲),【f(公码,母码)=子码】
3、公码、子码(甲)联合,变换,产生“混合码”
4、发送(混合码、外控码)
三、验证(乙方:验证方)
1、“混合码”(在“外控码”控制下)逆向变换——>复原出:公码、子码(甲)
2、变换产生——>子码(乙),【f(公码,母码)=子码】
3、子码(甲)=子码(乙)吗?——>如果相等,则表示“正确”;反之,则表示“不正确”。
在图2中,左边的框内,是加密方(甲方)的流程示意;右边的框内,是解密方(乙方)的流程示意。
“加密方”与“解密方”均预存有“母码”,并都持有约定的变换法则。
在加密时,“加密方”中新产生的“公码”与预存的“母码”组合成“组合码”。“组合码”可以分配出“预控码”和“外控码”。
在“预控码”的控制下,通过“内层变换”(1)后,进入“中间变换”(2),“中间变换”中可以有n次生成“中间码”的过程,最后生成“子码(甲)”。
“子码(甲)”与需要加密的数据进行“异或”,产生出“密文”,“密文”再和“公码”,合并成“联合码”,“联合码”在“外控码”的控制下,通过“外层变换”(3)后,生成“混合码”,“混合码”与“外控码”一起通过可开放的(有线或无线)传输链路输出。
“解密方”通过传输链路的输入,得到“混合码”与“外控码”,在“外控码”的控制下,通过“外层变换”(3)的“逆向”变换后,恢复出“联合码”,从而得到“密文”和“公码”,得到的“公码”与预存的“母码”组合成“组合码”,重复与“加密方”一样的产生“子码(甲)”过程,产生出“子码(乙)”。然后把“子码(乙)”与“密文”进行“异或”,即可得出“解密了的数据”。(在信息加解密系统中,“序列号”可以利用需要加密数据的帧的序列号或者时间值,进行自动的变换“公码”,而不需要每次传输“公码”而增加不必要的开销。)
这一“信息加解密”的流程,也可以下列文字概括:
一、预备(甲乙双方)
1、甲方乙方均有约定的方法(程序)
2、均有母码。(密钥)
二、加密(甲方:加密方)
1、产生新的公码。
2、变换产生——>子码(甲),【f(公码,母码)=子码】
3、加密:数据子码——>密文(被加密的数据)
4、公码、密文联合,变换,产生“混合码”
5、发送(混合码、外控码)
三、解密(乙方:解密方)
1、“混合码”(在“外控码”控制下)逆向变换——>复原出:公码、密文
2、变换产生——>子码(乙),【f(公码,母码)=子码】
3、解密:密文子码——>数据(被解密的数据)
注:为逻辑异或运算。
在图3中,上、中、下三个流程示意框,自上而下分别为,1、内层变换,2、中间变换,3、外层变换。
1、在“内层变换”中,“公码”和“母码”合并成“组合码”。“公码”包含有名称码、序列码、主干码,“母码”有主干码。
合并后的“组合码”,先定义出“基本码(合)”和“预控码”、“外控码”。“预控码”通过“映射”表(即“实现约定方式的对照表,如入口的地址),得出相应的值,再通过“映射”表(与前面的映射表不同,下面的各映射表也各不相同),进行模式选择,产生出“初选码”。
2、在“中间变换”中,在“初选码”定义出“中间过程码”和“重复次数码”,(即定义出“基本码”和“控制码”),“中间过程码”又可以再分为“控制码”和“基本码”,“控制码”依据编码定义了的(相应的)控制方式,对“基本码”进行选择、分组、移位、运算、映射或重复的变换,相互间可以并列或者嵌套地进行,生成新的“中间过程码”,
生成的“中间过程码”,又可以分为“控制码”和“基本码”,重新按上述方法进行变换,期间重复的次数由“重复次数控制码”决定,最终生成“子码”。
3、在“外层变换”中,“子码”与“公码”合并成“联合码”。
“联合码”在“外控码”控制下变换成“混合码”。其“外控码”的控制,是通过“映射”表,得出相应的值,再通过“映射”表,进行分组、映射、移位变换(重新排列组合)。
如果该变换是应用在加解密系统中的,则“联合码”是由“密文”与“公码”合并而成的,“密文”是由“子码”与需要加密的数据通过逻辑运算“异或”产生的。
产生的“混合码”,将作为结果输出(等待下一步的使用)。
具体实施方式(列表举例说明):
为进一步说明本发明的“编码定义控制变换”中,这种编码定义(也即人为约定的控制)的控制方式,下面再以表格的形式,给出其中的选择、分组、移位、运算、映射和重复的各种不同“约定”的例子。(只是一种示意的说明)
这实际实施中,可以很方便地给出以下这样的约定程式(特别适合计算机编程运算):
例1,如果程式是:N(A(B(m)C(D(m))),其中括号左侧的为控制码,括号内侧的为基本码,(基本码又可以分成下一层的控制码和基本码)如果,N=重复次数,A=分组模式,B=移位方法,C=运算方法,D=映射方法,那么,只要给出相应的数据就形成相应的变换法则。
这样,给出数码341826763321,由程式就得到3(4(1(826)7(6(3321))),其中的N=重复次数3,A=分组模式4,B=移位方法1,C=运算方法7,D=映射方法6,那变换的结果就是唯一的了。
例2,“公码”=abcdefg,“母码”=ABCDEFG,“组合码”=ABCDEFGabcdefg.
第一次变换(的程式),为移位:相互交叉=AaBbCcDdEeFfGg。
第二次变换(的程式),为运算:“基本码”“控制码”=(AaBbCc)(DdEeFfGg),人为约定编码情况:1=+1;2=×2,3=-3,4=+4,5=×5,6=-6,7=+7,8=×8,9=-9。
则,给出“母码”=ABCDEFG=1234567,“公码”=abcdefg=9876123,就可以得出算式:
91827364152637=(918273)(64152637)=(((918273-6)+4)+1)×5×2-6-3+7=……。
将有唯一的结果。给出不同的“母码”“公码”值,就有不同的唯一值。
(或者,如果“01~09”分别约定为+1~+9,“11~19”分别约定为-1~-9,“21~29”分别约定为×1~×9,“31~39”分别约定为/1~/9……,那变化将是更多)
这样简单的程式,就可以提供上百万的“母码”,供不同的人使用,每一个拥有确定“母码”的人,可以有上百万的“公码”自由选择,如果程序复杂就更加不用说了。
数控移位法举例说明:
为进一步说明本发明的“编码定义控制变换”中的“洗牌式”数控移位法的技术,下面再以列表的形式,给出一种移位变换的“约定”的例子。(只是一种示意的说明)。
如果基本码为:65166-442088083-02476(分别为:名称码-主干码-序列码);
控制码为70319、15670(左向、右向),(分别为:“70319”为左向控制、“15670”为右向控制),
如果约定是“长交换”的,“控制码”的“位”对应“基本码”的“位”,(“控制码”)“位”的值确定(“基本码”)“位”的移动距离,则变换过程可以如下:
演变过程
数控正向移位——先左向移动(右端起),后右向移动(左端起)。
(可用于:加解密系统中“加密方”数据“加密”时,或者验证系统中“求证”方比对信息“加密”时)
“数控逆向移位”——先左向移动(左端起),后右向移动(右端起)。
(可用于:加解密系统中“解密方”数据“解密”时,或者验证系统中“求证”方比对信息“解密”时)
Claims (6)
1.一种基于“编码约定控制变换式”的编码约定控制式信息认证法,其特征是:
它具有“公码”、“母码”,经组合后,按“编码约定控制变换”方法,产生出新的“子码”,进而依据这样的变换和结果实现信息认证,
所述的“公码”、“母码”、“子码”均为字符串,其字符串或者是纯数字,或者是纯字母,或者是数字与字符的混合,
“公码”、“母码”包含有“名称码”、“序列码”、“主干码”,或者是含有其中的部分,所述的“名称码”是指为了进行区分的名称信息码,所述的“主干码”是指用以产生有变化结果的主体信息码,所述的“序列码”是为了与此前使用过的数据进行区分,确保有变化不被重复的序列信息码,
“序列码”是有次序的数码,或者是有次序的时间值,“序列码”是递增的,或者是递减的,在“公码”或“母码”中或有多个“序列码”,
所述的“编码约定控制变换”,是指按照人为的约定,以编码的方式定义出一系列不同的变换方式,并把要变换的数据划分为“控制码”和“基本码”,或者直接添加上“控制码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,
这种编码定义的控制方式,是选择、分组、移位、运算、映射或重复之中的全部,或者是其中的一种或者几种,或者相互并列或者相互嵌套地进行,
所述的“选择”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的模式、长度或者起始地址的选择控制,
所述的“分组”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的长度或者方式的分组控制,其分组的长度单位或者是“位”,或者是“字节”、“字”、“帧”、“串”,
所述的“移位”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的位置的移动控制,其移动的长度单位或者是“位”,或者是“字节”、“字”、“帧”、“串”,
所述的“运算”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同方式的运算控制,所述的“运算”或者是算术运算,或者是逻辑运算,这种运算控制,其编码所对应的,或者是单一的运算符,也或者是直接的算式,所述的算式,或是单项式或是多项式,
所述的“映射”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的码值变换,这种“数-数映射”,或者是固定式的,也或者是寻址式的,其“映射”或者是一对一的,或者是一位或者多位数据,
所谓的“固定式”,是指固定地映射为相应的值,不同的“控制码”有不同的映射,但同一“控制码”下,其映射是一定的,
所谓的“寻址式”,是指先在包括“基本码”在内的整个“码串”中进行寻址,在其相应的位置中找出相应的值,作为变换的控制,
所述的“重复”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的次数的重复变换,
“控制码”或者是部分缺省的,变换时让“基本码”固定地映射为相应的值、或者相应的控制方式,
这种“编码约定控制变换”的过程,它有内层变换、中层变换、外层变换几个步骤,
在内层变换中,“公码”和“母码”合并成“组合码”,并在“组合码”中定义出“控制码”和“基本码”,“控制码”分为“预控码”和“外控码”,
“预控码”,对“组合码”中的“基本码”进行控制,确定出“初选码”,“初选码”包含有“中间过程码”和“重复次数控制码”,
在中层变换中,具有步骤一:“中间过程码”又再分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,相互间并列或者嵌套地进行,生成新的“中间过程码”,
重复“步骤一”,重复次数由“重复次数控制码”决定,最终生成“子码”,
在外层变换中,“子码”与“公码”合并成“联合码”,
“联合码”或者直接输出,或者在“外控码”控制下变换成“混合码”,
“外层”的这种变换或者是数据的“映射”,或者是数据的“移位”,
进一步的,根据“编码约定控制变换”这一变换法则,构成“编码约定控制变换式”信息认证方法,
所述的“编码约定控制变换式”信息认证法,具有“求证方”和“验证方”,“求证方”简称“甲方”或“甲”,“验证方”简称“乙方”或“乙”,
“求证方”与“验证方”均预先持有“母码”,双方均需要及时记录最近使用过的“序列号”,如果有“名称码”,则均也要记录,
每次求证时,“求证方”先产生出“公码”,使“公码”与预存的“母码”,通过“编码约定控制变换”方法产生出甲方“子码”,甲方“子码”再和“公码”,合并成“联合码”,
“求证方”的“联合码”在“外控码”的控制下,通过正向的变换,产生出“混合码”,“混合码”和“外控码”一起发送到“验证方”,
“验证方”根据接收的“混合码”和“外控码”,通过逆向的变换,反推出“联合码”,
或者,“求证方”把“联合码”直接输出而发送到“验证方”,则“验证方”接收“联合码”,
然后,“联合码”分离出甲方“子码”与“公码”,“公码”与预存的“母码”通过“编码约定控制变换法”产生出乙方“子码”,
比对乙方“子码”的值和甲方“子码”的值是否相等,以完成认证过程。
2.根据权利要求1所述的编码约定控制式信息认证法,其特征是:其“编码约定控制变换”中的“移位”有以下情形,
情形一:其中的“移位”方法,或者是长交换,或者是短交换,其“移位”或者是左向的、也或者是右向的,或者其“移位”控制是“位对位,值对距离”,
所述的“长交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从“起始位置”向“目标位置”交换,“起始位置”也或者是约定的,它或者左位起,或者右位起,或者从中间位置起,
所述的“短交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从数据的“目标位置”向其相邻的预定的位置交换,它或者左位起,也或者右位起,也或者从中间位置起,
所述的“位对位,值对距离”是指,“控制码”的“位置”对应“基本码”的“位置”,“控制码”该“位置”单元上值确定“基本码”对应“位置”上的单元的移动距离,一位“控制码”对应着一位或多位“基本码”,或者,一位或多位“控制码”对应着一位“基本码”,
情形二:其“移位”方法是“数控正向移位”与“数控逆向移位”对应起来使用的,在双方的变换过程中,“控制码”对于“基本码”的控制的移位顺序和方向是相反的,由于两个过程是相反的,双方需要的移动操作也是相反的,这里的“双方”指的是信息验证的求证方和验证方的双方,所述“数控正向移位”与“数控逆向移位”,就是在同样的“数控码”控制下,其变换的方向是一正一反相对应的,也即,“求证方”进行左移,对应的“验证方”则进行右移,“求证方”进行右移,对应的“验证方”则进行左移,
“基本码”是直接的原始数据,或者是已变换或者已加密的数据,或者数据加上冗余的,
这种“移位”或者有多次反复的,进行多次“左右交替控制”,左向、右向控制轮流进行,或者每次不同,也即每次的移动的位数不相同,
这种移位方法是独立地作为信息认证用。
3.根据权利要求1所述的编码约定控制式信息认证法,其特征是:
其变换过程中的所有的约定,是通过编程实现的,以这种方法实现的认证过程是以软件的形式,存在于专用芯片或通用芯片中的,存在于电器设备中的。
4.一种基于“编码约定控制变换式”的编码约定控制式信息加密法,其特征是:
它具有“公码”、“母码”,经组合后,按“编码约定控制变换”方法,产生出新的“子码”,进而依据这样的变换和结果实现信息加解密,
所述的“公码”、“母码”、“子码”均为字符串,其字符串或者是纯数字,或者是纯字母,或者是数字与字符的混合,
“公码”、“母码”包含有“名称码”、“序列码”、“主干码”,或者是含有其中的部分,所述的“名称码”是指为了进行区分的名称信息码,所述的“主干码”是指用以产生有变化结果的主体信息码,所述的“序列码”是为了与此前使用过的数据进行区分,确保有变化不被重复的序列信息码,
“序列码”是有次序的数码,或者是有次序的时间值,“序列码”是递增的,或者是递减的,在“公码”或“母码”中或有多个“序列码”,
所述的“编码约定控制变换”,是指按照人为的约定,以编码的方式定义出一系列不同的变换方式,并把要变换的数据划分为“控制码”和“基本码”,或者直接添加上“控制码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,
这种编码定义的控制方式,是选择、分组、移位、运算、映射或重复之中的全部,或者是其中的一种或者几种,或者相互并列或者相互嵌套地进行,
所述的“选择”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的模式、长度或者起始地址的选择控制,
所述的“分组”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的长度或者方式的分组控制,其分组的长度单位或者是“位”,或者是“字节”、“字”、“帧”、“串”,
所述的“移位”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的位置的移动控制,其移动的长度单位或者是“位”,或者是“字节”、“字”、“帧”、“串”,
所述的“运算”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同方式的运算控制,所述的“运算”或者是算术运算,或者是逻辑运算,这种运算控制,其编码所对应的,或者是单一的运算符,也或者是直接的算式,所述的算式,或是单项式或是多项式,
所述的“映射”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的码值变换,这种“数-数映射”,或者是固定式的,也或者是寻址式的,其“映射”或者是一对一的,或者是一位或者多位数据,
所谓的“固定式”,是指固定地映射为相应的值,不同的“控制码”有不同的映射,但同一“控制码”下,其映射是一定的,
所谓的“寻址式”,是指先在包括“基本码”在内的整个“码串”中进行寻址,在其相应的位置中找出相应的值,作为变换的控制,
所述的“重复”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的次数的重复变换,
“控制码”或者是部分缺省的,变换时让“基本码”固定地映射为相应的值、或者相应的控制方式,
这种“编码约定控制变换”的过程,它有内层变换、中层变换、外层变换几个步骤,
在内层变换中,“公码”和“母码”合并成“组合码”,并在“组合码”中定义出“控制码”和“基本码”,“控制码”分为“预控码”和“外控码”,
“预控码”,对“组合码”中的“基本码”进行控制,确定出“初选码”,“初选码”包含有“中间过程码”和“重复次数控制码”,
在中层变换中,具有步骤一:“中间过程码”又再分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,相互间并列或者嵌套地进行,生成新的“中间过程码”,
重复“步骤一”,重复次数由“重复次数控制码”决定,最终生成“子码”,
在外层变换中,“子码”与“公码”合并成“联合码”,
“联合码”或者直接输出,或者在“外控码”控制下变换成“混合码”,
“外层”的这种变换或者是数据的“映射”,或者是数据的“移位”,
进一步的,根据“编码约定控制变换”这一变换法则,构成“编码约定控制变换式”信息加密法,
所述的“编码约定控制变换”式信息加密法,具有“加密方”和“解密方”,“加密方”简称“甲方”或“甲”,“解密方”简称“乙方”或“乙”,
“加密方”与“解密方”均预先持有“母码”,
每次加解密时,“加密方”先产生出“公码”,使“公码”与预存的“母码”,通过“编码约定控制变换”方法产生出甲方“子码”,甲方“子码”与需要加密的数据进行“异或”,产生出“密文”,“密文”再和“公码”合并成“联合码”,
“加密方”的“联合码”还在“外控码”的控制下,通过正向的变换产生出“混合码”,“混合码”和“外控码”一起发送到“解密方”,
“解密方”根据接收的“混合码”和“外控码”,通过逆向的变换,反推出“联合码”,
或者,“加密方”把“联合码”直接输出而发送到“解密方”,则“解密方”接收“联合码”,
然后,“联合码”分为“密文”与“公码”,“公码”与预存的“母码”通过“编码约定控制变换法”产生出乙方“子码”,然后把乙方“子码”与“密文”进行“异或”,即得出“解密了的数据”,
在“加密方”到“解密方”的传输过程中,“公码”也是与“密码”分开传输的,或者“公码”是缺省的,在分段或分帧加密过程中,借用“段”或“帧”的编号、或者传输时日期时间的“时间值”,来代替“公码”。
5.根据权利要求4所述的编码约定控制式信息加密法,其特征是:其“编码约定控制变换”中的“移位”有以下情形,
情形一:其中的“移位”方法,或者是长交换,或者是短交换,其“移位”或者是左向的、也或者是右向的,或者其“移位”控制是“位对位,值对距离”,
所述的“长交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从“起始位置”向“目标位置”交换,“起始位置”也或者是约定的,它或者左位起,或者右位起,或者从中间位置起,
所述的“短交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从数据的“目标位置”向其相邻的预定的位置交换,它或者左位起,也或者右位起,也或者从中间位置起,
所述的“位对位,值对距离”是指,“控制码”的“位置”对应“基本码”的“位置”,“控制码”该“位置”单元上值确定“基本码”对应“位置”上的单元的移动距离,一位“控制码”对应着一位或多位“基本码”,或者,一位或多位“控制码”对应着一位“基本码”,
情形二:其“移位”方法是“数控正向移位”与“数控逆向移位”对应起来使用的,在双方的变换过程中,“控制码”对于“基本码”的控制的移位顺序和方向是相反的,由于两个过程是相反的,双方需要的移动操作也是相反的,这里的“双方”指的是信息加解密过程中的加密方和解密方的双方,所述“数控正向移位”与“数控逆向移位”,就是在同样的“数控码”控制下,其变换的方向是一正一反相对应的,也即,“加密方”进行左移,对应的“解密方”则进行右移,“加密方”进行右移,对应的“解密方”则进行左移,
“基本码”是直接的原始数据,或者是已变换或者已加密的数据,或者数据加上冗余的,
这种“移位”或者有多次反复的,进行多次“左右交替控制”,左向、右向控制轮流进行,或者每次不同,也即每次的移动的位数不相同,
这种移位方法是独立地作为信息加解密用。
6.根据权利要求4所述的编码约定控制式信息加密法,其特征是:
其变换过程中的所有的约定,是通过编程实现的,以这种方法实现的加解密过程是以软件的形式,存在于专用芯片或通用芯片中的,存在于电器设备中的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410058354.1A CN104868995B (zh) | 2014-02-20 | 2014-02-20 | 编码约定控制式认证法和编码约定控制式加密法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410058354.1A CN104868995B (zh) | 2014-02-20 | 2014-02-20 | 编码约定控制式认证法和编码约定控制式加密法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104868995A CN104868995A (zh) | 2015-08-26 |
CN104868995B true CN104868995B (zh) | 2019-02-26 |
Family
ID=53914540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410058354.1A Active CN104868995B (zh) | 2014-02-20 | 2014-02-20 | 编码约定控制式认证法和编码约定控制式加密法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104868995B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612249B (zh) * | 2015-10-21 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 一种令牌的验证方法、令牌终端及令牌服务器 |
CN107133661B (zh) * | 2016-02-29 | 2020-06-02 | 航天信息股份有限公司 | 生成有源卡的外部标识码的方法 |
CN109816384A (zh) * | 2017-11-18 | 2019-05-28 | 陈麟华 | 一种电子支付的方法和一种电子验证的方法 |
CN111159721B (zh) * | 2018-11-08 | 2024-03-01 | 陈麟华 | 变易密钥的码控式数据加密方法 |
CN112235098B (zh) * | 2020-09-17 | 2023-02-10 | 成都万江港利科技股份有限公司 | 一种简易快速的通信加解密方法 |
CN113380016A (zh) * | 2021-06-09 | 2021-09-10 | 贵州电网有限责任公司 | 一种基于手持设备的计量自动化系统及其使用方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756152A (zh) * | 2004-04-05 | 2006-04-05 | 王松 | 动态密码的基运算加密法 |
CN101803270A (zh) * | 2007-07-31 | 2010-08-11 | 雷蒙德·吉恩·克利福德·阿图斯 | 数据加密的方法和系统 |
CN103427987A (zh) * | 2012-05-25 | 2013-12-04 | 纬创资通股份有限公司 | 数据加密的方法、数据验证方法及电子装置 |
-
2014
- 2014-02-20 CN CN201410058354.1A patent/CN104868995B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756152A (zh) * | 2004-04-05 | 2006-04-05 | 王松 | 动态密码的基运算加密法 |
CN101803270A (zh) * | 2007-07-31 | 2010-08-11 | 雷蒙德·吉恩·克利福德·阿图斯 | 数据加密的方法和系统 |
CN103427987A (zh) * | 2012-05-25 | 2013-12-04 | 纬创资通股份有限公司 | 数据加密的方法、数据验证方法及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104868995A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104868995B (zh) | 编码约定控制式认证法和编码约定控制式加密法 | |
CN104363215B (zh) | 一种基于属性的加密方法和系统 | |
CN101447870B (zh) | 一种基于分布式口令技术的私钥安全存储方法 | |
CN112367170B (zh) | 基于多方安全计算的数据隐匿查询安全共享系统及方法 | |
CN103067166B (zh) | 一种智能家庭系统的分级混合加密方法及装置 | |
CN107070660A (zh) | 一种区块链加密射频芯片的存储设计方法 | |
US6640303B1 (en) | System and method for encryption using transparent keys | |
CN101859351B (zh) | 保证存储器存储的数据安全读取的系统及方法 | |
CN104135473A (zh) | 一种由密文策略的属性基加密实现身份基广播加密的方法 | |
CN103346875A (zh) | 混沌保密通信系统中数字混沌密码的产生方法 | |
Saikumar | DES-Data Encryption Standard | |
CN106713349A (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
Najm et al. | A New WoT Cryptography Algorithm Based on GOST and Novel 5d Chaotic System | |
CN109302282B (zh) | 一种基于数据加密技术的商业机密发送方法 | |
Bhardwaj | Modification of vigenere cipher by random numbers, punctuations & mathematical symbols | |
CN109831305A (zh) | 基于非对称密钥池的抗量子计算签密方法和系统 | |
CN109743162A (zh) | 一种利用理想格操作进行身份属性匹配的加密方法 | |
CN103220130B (zh) | 数字混沌保密通信的加密及解密方法 | |
JPH0256136A (ja) | 暗号化鍵生成装置 | |
Singh et al. | Hybrid Encryption Scheme (HES): An approach for transmitting secure data over internet | |
CN115712919A (zh) | 一种区域医疗数据加密与应用方法 | |
Ahmed et al. | Cryptography and State-of-the-art Techniques | |
Ikhwan et al. | Implementation of image file security using the advanced encryption standard method | |
CN1722656B (zh) | 一种数字签名方法及数字签名工具 | |
CN103746793B (zh) | 一种数形文载加密和解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |