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

文档序号:8546054阅读:350来源:国知局
“编码约定控制变换式”信息认证法和信息加解密法
【技术领域】
[0001] 本发明涉及信息认证的方法和信息加解密的方法,是基于一种"编码约定控制变 换"方法的信息认证技术和信息加密技术,属于信息技术、电子技术领域。
【背景技术】
[0002] 在信息社会,大量地存在着各类"求证"和"验证"活动。如"管理方"要对"客户" 进行身份认证,往往以验证"密码"的形式进行。其过程一般由客户提出"求证"申请,提交 "密码";而管理者进行"验证",则把客户提交的"密码",与预先存储在于管理方的"密码"相 比较,如果一致,则认可客户身份的真实性,如果不一致则不认可。
[0003]目前,社会上普遍使用的一般是"静态密码",其"密码"是固定不变的,它易于记 忆,使用简单方便,易于推广;但缺点是安全性差,密码容易被盗用。还有一种是"动态密 码",是根据专门的保密的算法生成一个不可预测的随机数字组合,每个密码只能使用一 次,可以有效保护交易和登录的认证安全,"动态密码"无需定期更换密码,安全省心,目前 也已经被广泛地应用;但这些"动态密码"却存在成本高和操作不便的两大问题,它往往需 要复杂的硬件支持,使用者难以自主控制。
[0004] 类似的,数据加密的活动也大量存在各类于通信过程中,其安全性问题也非常突 出。为此人们也使用了各种各样的加密方法,如:替换加密法、换位加密法、回转轮加密法、 多码加密法,等等。也有很多标准,如:美国的数据加密标准DES,国际数据加密算法工DEA, 等等。这些加密方法和标准,在军事、在商业等领域都有大量应用。
[0005] 为了加强数据加密的防破解能力,很多算法大多都采用复杂的函数,往往整个设 计过程不公开,使得人们会担心破译者利用函数的薄弱环节攻破,或者设计者有后门。所以 人们非常需要加密简便安全而能够自我控制的系统。

【发明内容】

[0006] 为了克服在"信息验证"活动中和"信息加解密"活动中的安全与便捷的矛盾,本 发明提供一种"编码约定控制变换"式信息认证方法和一种"编码约定控制变换"式信息加 解密方法,提供一种原理简便、算法不需要保密、变换过程可以完全公开的,具体实施容易、 应用成本低廉的技术方法。
[0007] 由于发明的这两种方法在实现过程中,都是基于"编码约定控制变换法"这一核心 技术方法的,所以在此合案申请。
[0008] 在此说明一下,由于在平常"密码"有"秘密的号码"和"加密的代码"两种不同的 理解,容易混淆。【"秘密的号码"一般是指不对外公开的秘密的号码,是一种特定的暗号、口 令,它可以是一组数字或字符。"加密的代码"一般是指经特别编制的可以公开的代码(电 码、文件),但这些代码是通过一种变换手段加密了的,其本身含义是秘密的,需要解密才能 有意义的,它可以是一组数字或字符,也可以是整篇文件。这种"密码"也称为"密文",与之 对应的称为"明码"或"明文"。】
[0009] 所以,在本专利系列文件中,为防止产生歧义,对两种"密码"作如下约定:"密码" 专指秘密的号码,是秘密的口令,一种特定的暗号、口令。"密文"专指加密的代码,是加密的 数据(文件),是"明文"通过"加密方法"得出的代码。
[0010] 同时,由于一般的信息都可以变换成数据进行处理,所以,在本申请文件的叙述 中,信息、数据是具有相同的指代,并以"数据"作为各种"字符串"、"码"的统称。
[0011] 为了达到上述目的,本发明为解决以上问题所采用的技术方法是:先提供"编码约 定控制变换"法,进而根据这一数据变换的方法、法则,来实现"编码约定控制变换"式信息 认证方法和"编码约定控制变换"式信息加解密方法。
[0012] 其中,技术核心"编码约定控制变换",是按照人为的约定,以编码定义出一系列不 同的变换方式,并把要变换的数据分为"控制码"和"基本码","控制码"依据编码定义了的 控制方式,对"基本码"进行变换,产生出新的数据结果。
[0013] 为叙述方便,"编码约定控制变换"方法,可以简称"数控变换法"、"CCC法",其技术 可以简称"数控码"技术,或"CCC码"技术。
[0014] 一、本发明为其中的核心技术"编码约定控制变换"方法所采用的技术方案如下:
[0015] 它具有"公码"、"母码",经组合后,按"编码约定控制变换"方法,产生出新的"子 码",进而依据这样的方法和结果实现信息认证或信息加解密。
[0016] 简单的讲,就是由两组数据(字符串),按照编码约定的变换法则,变换成新的数 据(字符串)。
[0017] 所述的"公码"、"母码"、"子码"均可以为字符串,其字符串可以是纯数字,也可以 是纯字母,或者是数字与字符混合。
[0018] "公码"、"母码"均可以包含有"名称码"、"序列码"、"主干码",也可以是只有其中 的部分。
[0019] 所谓的"只有其中的部分"指的是"公码"或"母码"可以只有名称码、序列码、主干 码中的一种或者几种,(如只有序列码、主干码,或只有名称码、主干码,或只有序列码等)。
[0020] "名称码"是为了与其他进行区分,并确保能够及时发觉恶意攻击而加以防御(如: 一旦接收到"名称"相同而其他信息不对的,可以判定是恶意攻击而及时处理)。同一系统 中,可以用"名称码"区分各用户,一般是不变的。
[0021] "主干码"是用以产生变化结果的主体,可以专门选择确定,也可以随机产生。"母 码"的"主干码" 一般是不变的,"公码"中的"主干码" 一般每次都变换的。
[0022] "序列码"是为了与此前使用过的数据进行区分,确保不是重复的,是要变化的。
[0023] "序列码"可以是有次序的数码(自然数或者字母),也可以是有次序时间值,"序 列码"可以是递增的,也可以是递减的。
[0024] 在一定情况下,恒定递增或恒定递减的"序列码",可以确保每一次的"公码"是变 化的,不被重复的,由此产生的"子码"等一系列结果都是与之前是不同的,这样可以有效防 止使用过的结果被人盗用而重复使用。
[0025] 在"公码"或"母码"中也可以有多个"序列码"。尤其在"公码"中,如果有多个(同 步或异步的)"序列码"的存在,其生成"子码"的复杂度就更加大;在"母码"中一般不需 要"序列码",但也可以作为定期的自动变换而存在,相当于每过一段时期自动变更"母码"。
[0026] 所述的"编码约定控制变换",是指按照人为的约定,以编码的方式定义出一系列 不同的变换方式,并把要变换的数据划分为"控制码"和"基本码",或者直接添加上"控制 码","控制码"依据编码定义了的控制方式,对"基本码"进行变换,产生出新的"子码"结果。
[0027] "控制码"可以是从数据中分离出来,也可以是人为的附加上去的,所谓"控制码" 和"基本码",也都是常规的数码,只是在变换过程中可以区别为"约定控制"和"被控制"的 两种情形。
[0028] 这种编码定义的控制方式(都是人为约定的),可以是选择、分组(组合)、移位 (排列)、运算(计算)、映射或重复,可以是上述的全部,也可以是其中的一种或者几种,可 以相互并列或者相互嵌套地进行控制(其嵌套可以是局部或全部的重复、叠层)。
[0029] 所述的"选择",是指"控制码"不同的编码值,将确定着对(对应被控的)"基本 码"进行不同的模式、长度或者起始地址的选择控制。(换言之,"控制码"每一种(不同的) 编码,都将定义对(对应被控的)"基本码"进行一种(不同的)模式、长度或者起始地址 的选择控制,下同)。
[0030] 如:1、选择模式:确定内部的变换是如何的分组、移位、运算、映射或重复;2、选择 长度:确定从较长的数据中选择一部分码;3、选择入口地址,让数据首尾相接形成闭环,确 定不同的位置做起点(入口地址),就变成不同的码值。
[0031] 例如:编码1、2、3、4、5、6……分别代表1选择、2分组、3移位、4运算、5映射或6重 复,则当控制码是25436时,则"基本码"可以循序进行分组、映射、运算、移位和重复。
[0032] 所述的"分组",是指"控制码"不同的编码值,将确定着对(对应被控的)"基本码" 进行不同的长度或者方式的分组控制,其分组的长度单位可以是"位",也可以是"字节"、 "字"、"帧"、"串",可以n位、n字节、n帧为一组等等。
[0033] 例如:可以4位、8位、或者16位为一组;也可以5字节、10字节、或者15位为一 组;可以1帧、3帧或者6帧为一组,等等。
[0034] 所述的"移位",是指"控制码"不同的编码值,将确定着对(对应被控的)"基本码" 进行不同的位置的移动控制,其移动的长度单位可以是"位",也可以是"字节"、"字"、"帧"、 "串",也即,对数码进行(相互约定的)重新排列组合,像扑克牌洗牌一样,只是这种"洗牌" 是受控的。
[0035]例如:数据2565997545定义为(25-65997545),"控制码" 25表示把"基本 码" 65997545第一位移2位、第二位移5位,使矽97545变成59矽754豆5。
[0036] 例如:定义"控制码" =1,就确定两组数据逐步交叉,数据12345-67890,-- >1627384950〇
[0037] 例如:定义"控制码" =2,就确定两组数据双步交叉,数
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1