复合时变密码和时变式数据加密方法
【专利摘要】复合时变密码和时变式数据加密方法,涉及信息和电子技术,主要提供一种“复合时变密码”和一种“时变式数据加密方法”的原理方法。1、“复合时变密码”它是对“时变密码”的升级,是在基本密码基础上,融入包括时间变量、序列码、附加码在内的多种变量。使基本密码与选定的变量相互间进行约定的运算,其约定的运算方法通过编码定义,而且使这种运算可以多次循环,以增加破解难度。该系统的构建成本费用低、安全性更强。2、“时变数据加密方法”是利用“复合时变密码”的算法,进行数据的加密、解密的方法。它算法简单,可靠性高。可以广泛应用在日常生活、经济、军事等领域。
【专利说明】复合时变密码和时变式数据加密方法
【技术领域】
[0001] 本发明涉及"复合时变密码"和"时变式数据加密方法",是一种"动态密码"的原 理方法和一种"数据文件加密"的原理方法,属于信息技术和电子【技术领域】。
【背景技术】
[0002] 在信息社会,大量地存在着各类"求证"和"验证"活动。"管理者"要对"客户"进 行身份认证,往往以验证"密码"的形式进行。其过程一般由客户提出"求证"申请,提交"密 码";而管理者进行"验证",则把客户提交的"密码",与预先存储在于管理方的"密码"相比 较,如果一致,则认可客户身份的真实性,如果不一致则不认可。
[0003] 目前,社会上普遍使用的一般是"静态密码",其"密码"是固定不变的,它易于记 忆,使用简单方便,易于推广;但缺点是安全性差,密码容易被盗用。还有一种是"动态密 码",是根据专门的算法生成一个不可预测的随机数字组合,每个密码只能使用一次,可以 有效保护交易和登录的认证安全,"动态密码"无需定期更换密码,安全省心,目前也已经被 广泛地应用;但这些"动态密码"却存在成本高和操作不便的两大问题,它往往需要硬件支 持,使用携带不方便。
[0004] 为克服以上这些密码的缺点,本人提出了 "时变密码"的概念,并于2013年4月3 日进行了专利申请,名称为《时变密码和时变密码锁》(专利申请号为201310115701. 5)。
[0005] 但由于在《时变密码和时变密码锁》的专利申请时,只对"时变密码"的典型部分的 进行了权利要求和说明,有进一步升级、优化的空间,其要求保护的权利范围也过于狭窄。
[0006] 与此类似的,数据加密的活动也大量存在各类于通信过程中,其安全性问题也非 常突出。为此人们也使用了各种各样的加密方法,如:替换加密法、换位加密法、回转轮加 密法、多码加密法,等等。也有很多标准,如:美国的数据加密标准DES,国际数据加密算法 IDEA,等等。这些加密方法和标准,在军事、在商业等领域都有大量应用。
[0007] 为了加强数据加密的防破解能力,很多算法大多都采用复杂的函数,往往整个设 计过程不公开,使得人们会担心破译者利用函数的薄弱环节攻破,或者设计者有后门。所以 人们非常需要加密简便而破解困难的密码系统。
[0008] 在要此特别说明一下的是,由于在现实生活中,人们对"密码"有两种不同的理解, 容易混淆。或者说,"密码"有两种不同的含义:秘密的号码,加密的代码。
[0009] "秘密的号码" 一般是指不对外公开的秘密的号码,是一种特定的暗号、口令,它可 以是一组数字或字符。
[0010] "加密的代码"一般是指经特别编制的可以公开的代码(电码、文件),但这些代码 是通过一种变换手段加密了的,其本身含义是秘密的,需要解密才能有意义的,它可以是一 组数字或字符,也可以是整篇文件。这种"密码"也称为"密文",与之对应的称为"明码"或 "明文"。
[0011] 所以,在本专利系列文件中,为防止产生歧义,遵照俗定约成的,对两种"密码"作 如下阐说:
[0012] "密码"专指秘密的号码,是秘密的口令,一种特定的暗号、口令。
[0013] "密文"专指加密的代码,是加密的数据(文件),是"明文"通过"加密方法"得出 的代码。
【发明内容】
[0014] 为了进一步优化"时变密码"的发明,更加完善其权利要求的保护的范围,本发明 提供升级的一种"复合时变密码"的方法,它可以更加有效地防止密码被盗,而且适用范围 更加广泛。
[0015] 同时,本发明还根据该"复合时变密码"的原理,提供了一种新的数据加密方法,即 "时变式数据加密方法",它可以使人们对数据的加密,多一种安全、便捷的方法的选择。
[0016] 为了达到上述目的,本发明为解决以上问题所采用的技术方案是:
[0017] -、本发明为其中的"复合时变密码"系统所采用的技术方案如下。
[0018] 在基本密码(基码)的基础上,融入变量"附属码"。"附属码"可以包括时间变量 (值)、序列码(号)、附加码等多种变量。(为叙述方便,把时间变量、序列码、附加码统一 归纳称为"附属码"。)
[0019] 使"基码"与选定的"附属码"相互间进行约定的运算,其算法由编码定义,并且可 以使这种计算多次循环,以增加破解难度。
[0020] 具体的就是,使该密码系统具有"元始码"、"附属码"、"时变码"等,并具有"运算方 法""选算方法""自算方法"和"计次方法"。
[0021] 其中"元始码"是由"基码"、"运算码"组成的,它们均可以为数字、字符。
[0022] 其中的"运算码"除了定义"选算方法""运算方法"外,还可以定义"自算方法"。
[0023] "自算方法"是用于确定对"基码"进行选择、变换、运算的,其生成结果为"基衍 码",
[0024] 其中的"选算方法"所针对的对象除"时间参数"外,还可以有"序列码"和"附加 码",也即通过"选算方法"可以对"时间参数"和"序列码"、"附加码"中的一种或者多种数 值进行选择、变换、运算而生成"时衍码"。
[0025] 通过"运算方法"对"基衍码"(替代了 "基码")和"时衍码"间进行交互运算后, 其结果可以先生成"中间码","中间码"继续分解为新的"基码"和"运算码",可以再定义相 应的计算方法,重复进行相应的运算,最后的"基衍码"和"时衍码"间进行交互运算结果才 生成"时变码"。
[0026] 其中间的重复的次数也可以由"运算码"定义确定。
[0027] 也即"运算码"可以定义运算、选算、自算、计次(重复次数)各类运算方法。
[0028] "运算方法"特指:针对"基衍码"和"时衍码"间进行交互运算的算法。
[0029] "选算方法"特指:针对"时间参数"和"序列码"、"附加码"中的一种或者多种数值 进行选择、变换、运算的算法。
[0030] "自算方法"特指:针对"基码"进行选择、变换、运算的算法。
[0031] "重复次数"特指:循环生成"中间码"次数。
[0032] 这些算法都可以是的基本算术运算,也可以是逻辑运算。其名称是为了叙述方便, 加以区别,人为的命名。
[0033] "时间参数"是指由时钟产生的"时间值参数",或称"时间值"。
[0034] "序列码"是指"序列号"的编码,当产生密码或加密有若干次时,可记录其序列。
[0035] 在专利申请号为201310115701. 5的《时变密码和时变密码锁》申请文件中,对定 义算法的码元,按功能命名"运算码"、"选运码"。所以,在本申请文件中,对定义算法的码 元,扩展后也可以按功能命名"运算码"、"选运码"、"自选码"、"计次码"等,再对应各类算法。
[0036] 考虑到文章叙述的简洁,本文件统一用"运算码"概括,但变换计算过程是一样的, 只是省略中间名称的具体命名。
[0037] 二、本发明为其中的"时变式数据加密方法"系统所采用的技术方案如下。
[0038] 所谓的"加密方法"指的是双方文件传输过程中进行加密所采取的方法。发送方 将"明文"在"密钥"的控制下进行运算得到"密文",传送到接收方,接收方将"密文"在"密 钥"的控制下进行运算得到"明文"。
[0039] 它可以分为分组密码和序列密码。1、分组密码,是发送方将"明文"划分η比特的 数据组,然后在"密钥"的控制下进行运算得到"密文",传送到接收方,接收方将"密文"也 划分η比特的数据组,然后在"密钥"的控制下进行运算得到"明文"。2、序列密码,又称为 密钥流密码,是不分组的直接加密、解密。
[0040] "时变数据加密方法"是一种基于"复合时变密码"的数据加密方法,它是利用"复 合时变密码"(也可以是未升级前的"时变密码")的算法,进行实施、进行加密、解密的。
[0041] 发送方把"密钥"作为"元始码",按其变换原理,先计算出"时变码",然后把"明码" 的数据进行分组,每组均与"时变码"进行"异或",其结果作为"密文"传送到接收方,
[0042] 接收方也将"密钥"作为"元始码",先计算出"时变码",然后把接收的"密文"的数 据进行分组,每组均与"时变码"进行"异或",(组合后)得出"明文"。
[0043] 当然,如果一旦"明码"足够短而"时变密码"足够长,加密、解密过程就不用分组。
[0044] 根据"异或"的逻辑运算法则,Α与Β异或后,其值再与Β异或,其结果仍为Α。艮Ρ, (A θ B) ? B = A。
[0045] 设发送方,使A为"明码",B为由"密钥"生成的"时变码",则可得"密文"为 (Α θ B)。那么,接收方,就可以计算(Α θ Β) θ B,就重新得"明码"A。
[0046] 由于发送(接收)方,是通过"密钥"计算生成的B,是他人不可知、不可预测的,所 以(Α ? B)也就不可知、不可预测,作为"密文"安全性可以非常好。
[0047] 归根到底,密码是一种用来混淆的技术,它就是将正常的、可识别的信息转变为无 法识别的信息。"时变数据加密方法"就达到了这样的目的。
[0048] 三、本发明为其中的"复合时变密码"及"时变式数据加密方法"系统所采用的技 术方案还可以如下。
[0049] 1、"运算码"对运算方法、选算方法、自算方法、重复次数的定义,可以是合并混合 定义的。即"运算方法"、"选算方法"、"自算方法"、"重复次数"中的几种算法捆绑在一起被 "运算码"中某几位定义,如"运算码"中第一位的"01"代表着"运算方法"是加,"选算方法" 是减,"自算方法"乘2, "重复次数"是3次;"02"代表着"运算方法"是减,"选算方法"是 减,"自算方法"乘3,"重复次数"是1次。等等。
[0050] 2、"运算码"对运算方法、选算方法、自算方法、重复次数的定义,也可以是分开的 按位各自对应定义的。即"运算码"中某几位定义"运算方法"、某几位定义"选算方法"、某几 位定义"自算方法"、某几位定义"重复次数",相当于"时变密码"中直接有"运算码"、"选算 码"等等,如"运算码"中第一位的"1、2、3、……"分别代表"运算方法"的"+、_、*、……", 第二位的"1、2、3、……"分别代表"选算方法"的"+、_、*、……",第三位的"1、2、3、……" 分别代表"自算方法"的"+、_、*、……",等等。可以在变换过程中变换后再分开定义,也 可以分开后的各自变换各自定义。
[0051] 3、"运算码"码元的位置在每一次重复运算过程中,可以是可以相同,也可以不同。 如某码元第一次的位置在第一位,第二次的位置在第三位。
[0052] 4、运算码"对运算方法、选算方法、自算方法的定义,在重复运算过程中,可以是每 一次可以相同,也可以不同。如第一次,1代表相加、2代表相减;而第二次1代表相减、2代 表相乘。
[0053] 四、其技术方案也还可以如下。
[0054] 1、"自算方法"对"基码"进行选择、变换、运算而生成的"基衍码",其长度相对"基 码"可以相同,也可以是变化的。这样让破译者感到更加没有规律。
[0055] 2、"基码"也可以是直接从"元始码"的多段码元中选择不同的一段,也即循环运算 过程中各次的"基码"可以不一样。这样每一次的"基码"可以不一定就是前面的"基码", 相当于多个"元始码"中选择一个,也可以由随机的"附加码"定义选择。如事先准备一长 串1000位的数,每次选择其中的一段,运算码对应的控制位是1,表示第一位开始的64位, 2表示表示第一位开始的64位……,13表示第3位开始的偶数的64位……,这样运算不复 杂,但更加安全。
[0056] 3、"选算方法"对"时间参数"、"序列码"、"附加码"进行的选择、变换、运算,其针对 的对象,可以全部的、也可以是其中一个的,在循环运算过程中各次可以是相同的、也可以 不同的。如第一次运算,选择"时间参数"中的天、小时,又选择"序列码"但没有"附加码", 第二次运算选择"时间参数"的周、分,有"附加码",等等。
[0057] 4、附加码可以每一次都不一样,可以随机产生,可以使得计算结果更加复杂。
[0058] 5、附加码、序列、时间参数,可以由发送方和接收任何一方产生,而向对方传送。作 为"附属码"可以统一由一方产生,也可以交叉传送,时间参数和序列可以各自独立产生。时 间参数可以双方同步即可,不一定是标准时间。
[0059] 五、其技术方案也还可以如下。
[0060] 1、在"时变数据加密方法"中,序列码可以是"明文"(或"密文")按位、或按字节、 或按字段、或按分组编码的,可以从1开始计数,也可以从1以外的其他数开始,如150开 始,以增加破解难度。
[0061] 2、序列码也可以是时间值的延续,可以是在每一个时间段后序列重新计数的。
[0062] 六、其技术方案也还可以如下。
[0063] 1、附加码、序列码、时间参数等附属码可以与"复合时变码"或"密文"在同一信道 上传输的,也可以相互间在不同的信道上传送。无论是作为口令还是密文使用,相互间在其 他不同的信道上传送,被截获的概率更少安全性更强。
[0064] 2、附属码也可以是加在"密文"的信源内传输。在信源中传送,相当于内容也参与 加密计算,破解更加困难。
[0065] 本发明的有益效果:
[0066] 本发明"复合时变密码"的有益效果是,由于它是对"时变密码"的升级,所以它具 备"时变密码"的优点,而且它不仅引进了时间值的运算,而且引进了序列码、附加码等动态 变量,引入循环运算,更加安全,而构建的成本费用也低,也更适合有软件或微电脑的器件 上使用。
[0067] 本发明"时变式数据加密方法"的有益效果:
[0068] 由于是"时变数据加密方法"是一种基于复合时变密码的数据加密方法,它是利用 "复合时变密码"的算法,进行实施、进行加密、解密的,因而它简单易行、安全可靠。
[0069] 1、算法简单、直观,不存"后门"。整个过程都是常规的变化,如:选择(是数据选 择其中几段或者几个位)、变换(说码位的次序变换)、运算(是基本算术运算和逻辑运算) 等,不需要采用复杂的函数,对使用者来说都是可公开的,也不存在其他薄弱环节。
[0070] 2、计算变化是无规律的、发散的。它是以编码定义算式,使编码与各运算方法挂 钩,是人为的、无规律的约定,这就使得整体的计算方法是人为定义的、发散的、无规律,要 破译只有采用穷举法。
[0071] 3、加密的成本低,而破译的开销非常大。普通基本的运算可以进行无限的变化约 定,如果密钥是可以选择的(密钥多个选择一个,或在一长串中选取一段)在密钥长度一定 的情况下,穷举法的开销可以无限大。如果密钥64bit,可设超长的6400bit元始码,然后简 单地进行选择。
[0072] 如果算法定义不开放,双方只是自己内部定义,而且随时变化,变换法则可以完全 无限,外人根本无法破解。
[0073] 如果算法定义开放,一旦元始码有足够长度,外人也很难无法破解。
[0074] 即使元始码万一被盗,由于存在附属码,它可以在不同位置,在不同时间随机加 入,也完全可以保护,使得外人难以破解。
【专利附图】
【附图说明】
[0075] 下面结合附图和实施例对本发明作进一步说明。
[0076] 图1是"复合时变密码"的工作原理的一种流程框图。
[0077] 图2是常规使用的分组密码体制的框图。
[0078] 图3是一种"时变数据加密方法"的工作原理的一种流程框图。
[0079] 图中,其数据变化的流程主要涉及各类数码、算法、数据来源、流向、具体运算、"异 或"运算等几部分。在图中分别为:
【权利要求】
1. 复合时变密码和时变式数据加密方法,一种动态密码系统和一种利用其原理实现的 数据加密方法,复合时变密码是对"时变密码"的一种升级,"时变密码"是指通过"元始码" 结合时间参数进行运算而成的,"元始码"中的"运算码"定义着"选算方法"、"运算方法", 通过这些算法又使"元始码"中的"基码"与时间参数进行一系列运算而生成动态的"时变 码",在此基础上升级的复合时变码,其特征是:其中的"运算码"除定义"选算方法"、"运算 方法"外,还可以定义"自算方法","自算方法"是用于确定对"基码"进行选择、变换、运算 的,其生成结果为"基衍码",其中的"选算方法"所针对的对象除"时间参数"外,还可以有 "序列码"和"附加码",也即通过"选算方法"可以对"时间参数"和"序列码"、"附加码"进 行选择、变换、运算而生成"时衍码",通过"运算方法"对"基衍码"和"时衍码"间进行交互 运算后,可以生成"中间码","中间码"继续分解为新的"基码"和"运算码",可以再定义相 应的算法,重复进行相应的运算,最后的"基衍码"和"时衍码"间进行交互运算结果才生成 "时变码",其中间的重复的次数也可以由"运算码"定义确定。
2. 根据权利要求书1所述的复合时变密码和时变数据加密方法,其中的"加密方法"指 的是,发送方将"明文"在"密钥"的控制下进行运算得到"密文",传送到接收方,接收方将 "密文"在"密钥"的控制下进行运算得到"明文","时变数据加密方法"其特征是:该加密方 法是利用"复合时变密码"的算法原理进行实施的,发送方把"密钥"作为"元始码"而计算 出"时变码",把"明码"的数据进行分组,每组均与"时变码"进行"异或",结果作为"密文" 传送到接收方,接收方也将"密钥"作为"元始码"而计算出"时变码",把接收的"密文"的 数据进行分组,每组均与"时变码"进行"异或",得出"明文"。
3. 根据权利要求书1或2所述的复合时变密码和时变式数据加密方法,其特征是:"运 算码"对运算方法、选算方法、自算方法、重复次数的定义,可以是合并混合定义的,也可以 是分开的按位各自对应定义的,码元的位置在每一次重复运算过程中,也可以是不同的, "运算码"对运算方法、选算方法、自算方法的定义结果,在重复运算过程中,每一次也可以 是不同的。
4. 根据权利要求书1或2所述的复合时变密码和时变式数据加密方法,其特征是:"自 算方法"对"基码"进行选择、变换、运算而生成的"基衍码",其长度相对"基码"而言也可以 是变化的,"基码"也可以是直接从"元始码"的多段码元中选择一段,也即循环运算过程中 各次的"基码"可以不一样,"选算方法"对"时间参数"、"序列码"、"附加码"进行的选择、变 换、运算,其针对的对象,可以是其中一个的、也可以是多个或全部的,在循环运算过程中各 次定义的算法也可以是不同的,附加码、序列、时间参数,可以由发送方和接收任何一方产 生,而向对方传送,附加码也可以每一次都不一样。
5. 根据权利要求书1或2所述的复合时变密码和时变式数据加密方法,其特征是:在 "时变数据加密方法"中,序列码可以是"明文"或"密文"按位、或按字节、或按字段、或按分 组编码的,序列码也可以是时间值的延续。
6. 根据权利要求书1或2所述的复合时变密码和时变式数据加密方法,其特征是:附 加码、序列码、时间参数与"复合时变码"或"密文",相互间也可以在不同的信道上传送的, 附加码、序列码、时间参数也可以是加在"密文"的信源内传输的。
【文档编号】H04L9/16GK104125059SQ201310160790
【公开日】2014年10月29日 申请日期:2013年4月28日 优先权日:2013年4月28日
【发明者】陈麟华 申请人:陈麟华