“编码约定控制变换式”信息认证法和信息加解密法.pdf

上传人:Y94****206 文档编号:1681215 上传时间:2018-07-04 格式:PDF 页数:22 大小:1.30MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410058354.1

申请日:

2014.02.20

公开号:

CN104868995A

公开日:

2015.08.26

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 9/32申请日:20140220|||公开

IPC分类号:

H04L9/32

主分类号:

H04L9/32

申请人:

陈麟华

发明人:

陈麟华

地址:

310005浙江省杭州市莫干山路111号浙江广播电视集团广播制播中心

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

“编码约定控制变换式”信息认证法和信息加解密法,涉及信息技术、电子技术,主要提供一种“编码约定控制变换式”信息认证方法和一种“编码约定控制变换式”信息加解密方法。其技术核心是“编码约定控制变换”,它是按照人为的约定,以编码的形式定义出一系列不同的变换方式,并把要变换的数据分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,产生出新的数据结果,进而根据这样的“编码约定控制变换”和产生的结果,进行信息认证,或进行信息加解密。它简便易行、成本低廉、安全可靠,非常适合于软件程序处理,可以广泛应用在日常生活、经济、军事等领域。

权利要求书

权利要求书1.  “编码约定控制变换式”信息认证法和信息加解密法,一种通过控制数据变换而实现的信息认证方法和一种信息加解密方法,其特征是:它具有“公码”、“母码”,经组合后,按“编码约定控制变换”方法,产生出新的“子码”,进而依据这样的变换和结果实现信息认证或信息加解密,所述的“公码”、“母码”、“子码”均可以为字符串,其字符串可以是纯数字,也可以是纯字母,或者是数字与字符的混合,“公码”、“母码”均可以包含有“名称码”、“序列码”、“主干码”,也可以是只含有其中的部分,“序列码”可以是有次序的数码,也可以是有次序的时间值,“序列码”可以是递增的,也可以是递减的,在“公码”或“母码”中也可以有多个“序列码”,所述的“编码约定控制变换”,是指按照人为的约定,以编码的方式定义出一系列不同的变换方式,并把要变换的数据划分为“控制码”和“基本码”,或者直接添加上“控制码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,这种编码定义的控制方式,可以是选择、分组、移位、运算、映射或重复,可以是上述的全部,也可以是其中的一种或者几种,可以相互并列或者相互嵌套地进行,所述的“选择”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的模式、长度或者起始地址的选择控制,所述的“分组”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的长度或者方式的分组控制,其分组的长度单位可以是“位”,也可以是“字节”、“字”、“帧”、“串”,所述的“移位”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的位置的移动控制,其移动的长度单位可以是“位”,也可以是“字节”、“字”、“帧”、“串”,所述的“运算”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的方式的运算控制,所述的“运算”可以是算术运算,也可以是逻辑运算,这种运算控制,其编码所对应的,可以是(单一的)运算符,也可以是(直接的)算式,所述的算式,可以是单项式也可以是多项式,所述的“映射”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的码值变换,这种“(数-数)映射”,可以是固定式的,也可以是寻址式的,其“映射”可以是一 对一的,也可以是一位或者多位数据,所谓的“固定式”,是指可以固定地映射为相应的值,不同的“控制码”有不同的映射,但同一“控制码”下,其映射是一定的,所谓的“寻址式”,是指可以先在包括“基本码”在内的整个“码串”中进行寻址,在其相应的位置中找出相应的值,作为变换的控制,所述的“重复”,是指“控制码”中不同的编码值,将确定着对“基本码”进行不同的次数的重复变换,“控制码”也可以是部分缺省的,变换时可以让“基本码”固定地映射为相应的值、或者相应的控制方式,这种变换的过程,是可以分步骤的,它可以有内层变换、中层变换、外层变换几个步骤,也可以是缺省其中的一步或者几步,在内层变换中,“公码”和“母码”合并成“组合码”,并在“组合码”中定义出“控制码”和“基本码”,“控制码”可分为“预控码”和“外控码”,“预控码”,可以对“组合码”中的“基本码”进行控制,确定出“初选码”,“初选码”可以包含有“中间过程码”和“重复次数控制码”,在中层变换中,“中间过程码”又可以再分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,相互间可以并列或者嵌套地进行,生成新的“中间过程码”,生成的“中间过程码”,又可以分为“控制码”和“基本码”,重新按上述方法进行变换,重复次数由“重复次数控制码”决定,最终生成“子码”,在外层变换中,“子码”与“公码”合并成“联合码”,“联合码”可以直接输出,也可以“外控码”控制下变换成“混合码”,这种变换可以是数据的“映射”,也可以是数据的“移位”,进一步的,根据“数码约定控制变换”这一变换法则,构成“编码约定控制变换式”信息认证方法,所述的“编码约定控制变换”式信息认证法,其系统具有“求证方”(甲方)和“验证方”(乙方),“求证方”与“验证方”均预先持有“母码”,双方均可以及时记录最近使用过的“序列号”,如果有“名称码”,则均可以记录,每次求证时,“求证方”先产生出“公码”,使“公码”与预存的“母码”,通过“数码约定控制变换”方法产生出“子码(甲)”,“子码(甲)”再和“公码”,合并成“联合码”,“求证方”的“联合码”还可以在“外控码”的控制下,通过正向的变换,产生出“混合码”,“混合码”和“外控码”一起发送到“验证方”,“验证方”根据接收的“混合码”和“外控码”,通过逆向的变换,反推出“联合码”,然后,“联合码”分离出“子码(甲)”与“公码”,“公码”与预存的“母码”通过“数码约定控制变换法”产生出“子码(乙)”,比对“子码(乙)”的值和“子码(甲)”的值是否相等,以完成认证过程,或者,“求证方”可以把“联合码”是直接输出而发送到“验证方”,则“验证方”把接收到的“联合码”直接进行处理,再按前述的过程而完成。2.  根据权利要求书1所述的“编码约定控制变换式”信息认证法和信息加解密法,其特征是:根据“数码约定控制变换”这一变换法则,构成“编码约定控制变换式”信息加密解密方法,所述的“编码约定控制变换”式信息加解密法,其系统具有“加密方”(甲方)和“解密方”(乙方),“加密方”与“解密方”均预先持有“母码”,每次加解密时,“加密方”先产生出“公码”,使“公码”与预存的“母码”,通过“数码约定控制变换”方法产生出“子码(甲)”,“子码(甲)”与需要加密的数据进行“异或”,产生出“密文”,“密文”再和“公码”合并成“联合码”,“加密方”的“联合码”还可以在“外控码”的控制下,通过正向的变换产生出“混合码”,“混合码”和“外控码”一起发送到“解密方”,“解密方”根据接收的“混合码”和“外控码”,通过逆向的变换,反推出“联合码”,然后,“联合码”分为“密文”与“公码”,“公码”与预存的“母码”通过“数码约定控制变换法”产生出“子码(乙)”,然后把“子码(乙)”与“密文”进行“异或”,即可得出“解密了的数据”,或者,“加密方”可以把“联合码”直接输出而发送到“解密方”,则“解密方”把接收 到的“联合码”直接进行处理,再按前述的过程而完成,在“加密方”到“解密方”的传输过程中,“公码”也是可以与“密码”分开传输的,或是借用“帧”的编号、或时间值的,或者也可以是缺省的。3.  根据权利要求书1或2所述的“编码约定控制变换式”信息认证法和信息加解密法,其特征是:其“编码约定控制变换”中的“移位”方法,可以是长交换,也可以是短交换,其“移位”可以是左向的、也可以是右向的,其“移位”控制可以是“位对位,值对距离”,所述的“长交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从“起始位置”向“目标位置”交换,“起始位置”也可以是约定的,它可以左位起,也可以右位起,也可以从中间位置起,所述的“短交换”是指,在变换中根据“控制码”的控制,把受控数据的“单元”从数据的“目标位置”向其相邻的预定的位置交换,它可以左位起,也可以右位起,也可以从中间位置起,所述的“位对位,值对距离”是指,“控制码”的“位置”对应“基本码”的“位置”,“控制码”该“位置”单元上值确定“基本码”对应“位置”上的单元的移动距离,其“移位”方法可也以是“数控正向移位”与“数控逆向移位”对应起来使用的,在双方的变换过程中,“控制码”对于“基本码”的控制的移位顺序和方向是相反的,“基本码”可以是直接的原始数据,也可以是已变换或者已加密的数据,也可以数据加上冗余的,这种“移位”可以有多次反复的,可以每次不同,这种移位方法是可以独立地作为信息认证或者信息加解密用。4.  根据权利要求书1、2或3所述的“编码约定控制变换式”信息认证法和信息加解密法,其特征是:其变换过程中的所有的约定,是可以通过编程实现的,以这种方法实现的认证过程或者加解密过程可以是以软件的形式,存在于专用芯片或通用芯片中的,存在于电器设备中的。

说明书

说明书“编码约定控制变换式”信息认证法和信息加解密法
技术领域
本发明涉及信息认证的方法和信息加解密的方法,是基于一种“编码约定控制变换”方法的信息认证技术和信息加密技术,属于信息技术、电子技术领域。
背景技术
在信息社会,大量地存在着各类“求证”和“验证”活动。如“管理方”要对“客户”进行身份认证,往往以验证“密码”的形式进行。其过程一般由客户提出“求证”申请,提交“密码”;而管理者进行“验证”,则把客户提交的“密码”,与预先存储在于管理方的“密码”相比较,如果一致,则认可客户身份的真实性,如果不一致则不认可。
目前,社会上普遍使用的一般是“静态密码”,其“密码”是固定不变的,它易于记忆,使用简单方便,易于推广;但缺点是安全性差,密码容易被盗用。还有一种是“动态密码”,是根据专门的保密的算法生成一个不可预测的随机数字组合,每个密码只能使用一次,可以有效保护交易和登录的认证安全,“动态密码”无需定期更换密码,安全省心,目前也已经被广泛地应用;但这些“动态密码”却存在成本高和操作不便的两大问题,它往往需要复杂的硬件支持,使用者难以自主控制。
类似的,数据加密的活动也大量存在各类于通信过程中,其安全性问题也非常突出。为此人们也使用了各种各样的加密方法,如:替换加密法、换位加密法、回转轮加密法、多码加密法,等等。也有很多标准,如:美国的数据加密标准DES,国际数据加密算法工DEA,等等。这些加密方法和标准,在军事、在商业等领域都有大量应用。
为了加强数据加密的防破解能力,很多算法大多都采用复杂的函数,往往整个设计过程不公开,使得人们会担心破译者利用函数的薄弱环节攻破,或者设计者有后门。所以人们非常需要加密简便安全而能够自我控制的系统。
发明内容
为了克服在“信息验证”活动中和“信息加解密”活动中的安全与便捷的矛盾,本发明提供一种“编码约定控制变换”式信息认证方法和一种“编码约定控制变换”式信息加解密 方法,提供一种原理简便、算法不需要保密、变换过程可以完全公开的,具体实施容易、应用成本低廉的技术方法。
由于发明的这两种方法在实现过程中,都是基于“编码约定控制变换法”这一核心技术方法的,所以在此合案申请。
在此说明一下,由于在平常“密码”有“秘密的号码”和“加密的代码”两种不同的理解,容易混淆。【“秘密的号码”一般是指不对外公开的秘密的号码,是一种特定的暗号、口令,它可以是一组数字或字符。“加密的代码”一般是指经特别编制的可以公开的代码(电码、文件),但这些代码是通过一种变换手段加密了的,其本身含义是秘密的,需要解密才能有意义的,它可以是一组数字或字符,也可以是整篇文件。这种“密码”也称为“密文”,与之对应的称为“明码”或“明文”。】
所以,在本专利系列文件中,为防止产生歧义,对两种“密码”作如下约定:“密码”专指秘密的号码,是秘密的口令,一种特定的暗号、口令。“密文”专指加密的代码,是加密的数据(文件),是“明文”通过“加密方法”得出的代码。
同时,由于一般的信息都可以变换成数据进行处理,所以,在本申请文件的叙述中,信息、数据是具有相同的指代,并以“数据”作为各种“字符串”、“码”的统称。
为了达到上述目的,本发明为解决以上问题所采用的技术方法是:先提供“编码约定控制变换”法,进而根据这一数据变换的方法、法则,来实现“编码约定控制变换”式信息认证方法和“编码约定控制变换”式信息加解密方法。
其中,技术核心“编码约定控制变换”,是按照人为的约定,以编码定义出一系列不同的变换方式,并把要变换的数据分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,产生出新的数据结果。
为叙述方便,“编码约定控制变换”方法,可以简称“数控变换法”、“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”为右向控制),
如果约定是“长交换”的,“控制码”的“位”对应“基本码”的“位”,(“控制码”)“位”的值确定(“基本码”)“位”的移动距离,则变换过程可以如下:
演变过程
数控正向移位——先左向移动(右端起),后右向移动(左端起)。
(可用于:加解密系统中“加密方”数据“加密”时,或者验证系统中“求证”方比对信息“加密”时)

“数控逆向移位”——先左向移动(左端起),后右向移动(右端起)。
(可用于:加解密系统中“解密方”数据“解密”时,或者验证系统中“求证”方比对信息“解密”时)

“编码约定控制变换式”信息认证法和信息加解密法.pdf_第1页
第1页 / 共22页
“编码约定控制变换式”信息认证法和信息加解密法.pdf_第2页
第2页 / 共22页
“编码约定控制变换式”信息认证法和信息加解密法.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《“编码约定控制变换式”信息认证法和信息加解密法.pdf》由会员分享,可在线阅读,更多相关《“编码约定控制变换式”信息认证法和信息加解密法.pdf(22页珍藏版)》请在专利查询网上搜索。

“编码约定控制变换式”信息认证法和信息加解密法,涉及信息技术、电子技术,主要提供一种“编码约定控制变换式”信息认证方法和一种“编码约定控制变换式”信息加解密方法。其技术核心是“编码约定控制变换”,它是按照人为的约定,以编码的形式定义出一系列不同的变换方式,并把要变换的数据分为“控制码”和“基本码”,“控制码”依据编码定义了的控制方式,对“基本码”进行变换,产生出新的数据结果,进而根据这样的“编码约。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1