CN111159721A - 变易密钥的码控式数据加密方法 - Google Patents
变易密钥的码控式数据加密方法 Download PDFInfo
- Publication number
- CN111159721A CN111159721A CN201811538759.XA CN201811538759A CN111159721A CN 111159721 A CN111159721 A CN 111159721A CN 201811538759 A CN201811538759 A CN 201811538759A CN 111159721 A CN111159721 A CN 111159721A
- Authority
- CN
- China
- Prior art keywords
- code
- key
- control
- transformation
- controlled
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000009466 transformation Effects 0.000 claims abstract description 125
- 230000003068 static effect Effects 0.000 claims abstract description 5
- 238000006243 chemical reaction Methods 0.000 claims description 48
- 238000013507 mapping Methods 0.000 claims description 47
- 238000006467 substitution reaction Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 21
- 238000005192 partition Methods 0.000 claims description 18
- 230000036961 partial effect Effects 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 14
- 230000037431 insertion Effects 0.000 claims description 14
- 241000282414 Homo sapiens Species 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 7
- 230000015654 memory Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000000844 transformation Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 4
- 238000011426 transformation method Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000013459 approach Methods 0.000 claims description 2
- 230000009977 dual effect Effects 0.000 claims description 2
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000007123 defense Effects 0.000 abstract description 2
- 238000003860 storage Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000006854 communication Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003471 mutagenic agent Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
变易密钥的码控式数据加密方法,涉及信息电子技术。主要提供一种非固定密钥的数据加密方法,其核心是“明钥+暗钥→变易钥”的变换。通过引入动态的“明钥”和静态的“暗钥”,使两者混合后,分解为“控制码”和“受控码”,再进行反复的“码控变换”,形成“变易钥”。然后通过“变易钥”进行加密。本发明技术,是在现有“固定密钥”的体系外,发明创造出的密钥不固定的“非定密钥”体系。是在现有“单钥对称”和“双钥不对称”两大体系外,发明创造出的第三种体系“双钥对称”体系。由于这种反复的变换是离散的约定的,更加适合软件的实施和嵌入式芯片的使用。本技术简便易行、安全可靠,可以广泛应用于国防、金融、互联网、日常生活等领域。
Description
技术领域
本发明涉及一种数据加密方法,属于信息电子技术领域,可应用于日常生活、经济、军事等。
背景技术
人类社会的发展历史,就是伴随着不断战争的历史。战争就就离不开信息的攻防,一方面,需要更加快捷地破译对方的加密信息,另一方面,需要更加安全地保障己方通讯的保密。
计算机的发明,可以说是在短短的几十年时间里,根本地改变了人类社会的现状和发展轨迹,使人类从此进入了信息社会。而当初发明电子计算机的初衷,只是出于战争的需要、是为了能够更加快捷地破译敌方军事机密的信息。
进入信息社会,加密技术的使用,也不像以往那样仅局限于军事、外交、情报等部门,而在金融、商业、工业等领域,甚至日常生活中,也越来越广泛。
随着人类社会向信息化社会的不断演进,信息安全的问题也更加凸显出来。无时无刻都迫切需要更加高效安全的加密技术方法。
【特别说明】
在阐述本发明技术的方案前,在此先作预先的特别说明:
一方面,由于本发明是基础性的创新,现有的相关技术术语,无法满足本发明方法的阐述。
另一方面,现有的技术术语,本身也是有些混乱的,容易产生歧义。(例如:“加密”一词,既表示“整体的技术方法”,有表示“具体的技术实施”。“密码”一词,既表示“秘密的号码”,有表示“加密的代码”。“明文”和“密文”,在不同的书本上,所表达的意思,甚至是完全相反的。“密钥”和“私钥”、“公钥”,容易造成歧义和混淆。尤其的“公开的密钥”一词,很多人搞不清是公开的还是秘密的。)
为此,本系列文件,对于相关技术术语,进行如下约定:
“实文”是指没有加密了的、准备或需要加密的原文数据,或者是解密恢复的原文数据。是(实的)具有实际意义的文件数据。
“虚文”是指把“实文”加密后形成的文件数据。是(虚的)没有实际意义的文件数据。
“密钥”是加密系统中所有钥码的泛指,包括“明钥”“暗钥”“变易钥”等。
“明钥”是指可以公开的密钥。(是明的、动态的,所以也可以称为“阳钥”。)
“暗钥”是指不可以公开的密钥。(是暗的、静态的,所以也可以称为“阴钥”。)
“变易钥”是指动态变化的密钥,是不公开的、一次性使用的,或简称为“易钥”。(与“实文”“虚文”直接发生关系的是“变易钥”,不是“明钥”与“暗钥”)。
“控制码”、“受控码”、“中间码”等,是指“明钥+暗钥→变易钥”变换过程中的一种数码形态。
“码控变换”,是指“明钥+暗钥→变易钥”整体的变换过程。
“码控的复变”,是指使“组合码”分成“控制码”和“受控码”,所反复进行彼此控制的变换,也称“码控”、“码控的方式”。
(“码控变换”中包含有“码控的复变”的步骤。)
发明内容
为了信息安全问题,本发明提供一种新的数据加密方法,它可以使人们对数据加密的手段,多一种安全、便捷的方法的选择。
为了达到上述目的,本发明为解决这一问题所采用的技术方法是:
首先使“密钥”不再固定,能够实时地变化。
所述的“密钥”是不固定的、变化的,是实时通过“明钥+暗钥→变易钥”方式的变换而实时产生的。
所述的“明钥”是指公开传输的“代码”,(在加密解密过程中)由其中一方产生传输给另一方。(一般的,是由“加密方”生产而传给“解密方”)。
所述的“暗钥”是指不公开传输的“代码”,(在加密解密前已经)由双方预先持有的、彼此相同的“代码”。
所述的“明钥+暗钥→变易钥”变换,是通过一种约定的离散的码控变换,把“明钥”和“暗钥”变换成“变易钥”。(“变易钥”就是通常意义上的“密钥”,由于本发明有别于常规的加解密方法,技术术语需要细分,必须要用专用的名词区别,下同。)
所述的“明钥+暗钥→变易钥”变换,具体如下:
第一、使“明钥”和“暗钥”按预先约定的方法,进行选择、组合、混合,合成“组合码”,或称“中间码”。(这种混合可以是前后连接也可以相互穿插。例如:“明钥”abcde 和“暗钥”12345,混合成“中间码”a1b2c3d4e5,或者abcde12345)。
第二、“中间码”按预先约定的方法,进行分组。把“中间码”分成若干组,在每一组内,分成“控制码”和“受控码”两部分(例如:“中间码”abcde12345可以分成“abcde”和“12345”两组,第一组“ab”是控制码,“cde”受控码,第一组“12”是控制码,“345”受控码)。(“受控码”或也称“被控码”、“待控码”)。
第三、按预先约定的方法,使每一个“控制码”对应一种变换方式,去约束控制“受控码”进行变换,也即“受控码”按此约定的操作进行变换,每一种变换方式,对应一个“变换小单元”,每一个组的变换也都是各自独立的,“控制码”的值与各种“变换小单元”的变换是有固定的对应关系的,是一一对应的,
以“控制码”约定实施对“受控码”变换的方式,称为“码控的方式”,各种不同约定的码控组合,构成“离散的码控”
(所谓“码控”就是每一“控制码”的数码值都对应一种控制方法。例如:1代表加,2代表减,3代表乘,4代表除,5代表与,6代表或,7代表非,等等算术或逻辑运算)。
第四、这其中,各自独立的变换方式有:选择、分组、移位、替代、映射、运算(等不同)的“小变换”。这其中所述的“运算”,或者是(加减乘除等)算术运算、(与或非等) 逻辑运算(等)、或者是混合运算。
第五、各组的“受控码”经过各自(离散的)变换后,与“控制码”按约定的方式重新组合,合成新的“中间码”。(例如:按顺序排列,或交叉排列。或者,在总体变换后,如果位数变长,或者(按约定的方式)去掉一部分的数位,如果位数变长,或者(按约定的方式)添加一部分的数位。)
第六、重复第二至第五条,对“中间码”进行重新分组、变换,重新分组、变换的方法,或者与前一轮的分组、变换是一样的、相同的,或者是与前一轮的分组、变换不一样的、相异的。(例如,“控制码”是01,第一次变换是“加”,第二次变换为“乘”)。
第七、这种变换的重复次数,或者约定是固定次数的(例如,重复次数都是8次),或者约定是第一次“中间码”的某几位数的值(例如,最前两位,当前前两位是13,就重复13次)。
第八、进行了预定的重复次数后,结束重复,最后一次变换所生成的“中间码”,形成“变易钥”。
(最终,通过这一系列的手段,使“变易钥”能够“变化无常,毫无规律,不易重复”)。
这种变换,其核心可以用六个词概括“双钥、双码、叠变,离散、约定、码控”。
双钥:具有动态的“明钥”和静态的“暗钥”,由此双钥进行混合。
双码:混合后拆分成“控制码”和“受控码”两部分。
叠变:由“控制码”控制“受控码”进行变换,依据双码,反复多次累积叠加。
离散:这种变换,是由一个个离散的“变换小单元”的组合。
码控:这种变换,其中的“变换小单元”是通过“控制码”对“受控码”进行控制而实现的。
约定:这种变换,其离散的形式、码控的方式和叠变的累积,都是人为约定的。
这种“明钥+暗钥→变易钥”的变换,称之为“双钥双码叠变,离散约定码控”变换。
简称为“双钥双码离散码控变换”,或者简称“双钥叠变码控变换”、“双钥码控离散变换”、“双钥对称的码控变换”、“双钥码控变换”、“码控变换”。
这其中,使“组合码”分成“控制码”和“受控码”,所反复进行彼此控制的变换,称为“码控的复变”。
在具体的加密解密过程中,
一、加密时,“加密方”需要把加密的“实文”进行分组,在进行每一分组的加密时,先提取预存或预选的“暗钥”,并确定“明钥”,通过“明钥+暗钥→变易钥”变换,获得动态的“变易钥”,再通过“变易钥”对分组的“实文”进行加密,获得分组的“虚文”,这种“实文→虚文”,其方法是以下的一种或者多种的组合:
1、把“实文”的分组和“变易钥”直接“异或”获得“虚文”。
2、通过“变易钥”对“实文”进行“码控的复变”获得“虚文”(——类同于产生“变易钥”过程中的码控变换。例如,进行移位、替换)。
3、以“变易钥”作为常规密钥,进行常规的加密获得“虚文”(——换言之,把“变易钥”作为普通的“密钥”,以现有常规的加密方法进行加密)。
4、最后把各分组的“虚文”和“明钥”直接或合成整体,进行存储或者发送给“解密方”。这样每一次加密的“变易钥”各不相同。
二、对应的,解密时,“解密方”把已经加密了的“虚文”分组,并把得到的“明钥”和“解密方”预存或预选的“暗钥”,通过“明钥+暗钥→变易钥”变换,获得动态的“变易钥”,再通过“变易钥”对“虚文”进行分组解密,重新获得“实文”,这种“虚文→实文”,其方法是以下的一种或者多种的组合:
2、通过“变易钥”对“虚文”进行“码控的复变”获得“实文”(——与加密对应的码控变换的反变换(例如,进行反向移位、反向替换))。
3、以“变易钥”作为常规密钥,进行常规的解密获得“实文”(——换言之,把“变易钥”作为普通的“密钥”,以现有常规的解密方法进行解密)。
4、最后把各分组的“实文”段合成整体,完成解密。
这种变更,(在实际工作时),或者是定期的,或者是不定期的、随机进行的,
在进行实际的加密解密时,“明钥”或由“加密方”实时产生的,与加密后的“虚文”一起,共同传递给“解密方”(——在分段的“虚文”中,可以是每组都自带“变易钥”)。
或者是使用由此前存储下来的“虚文”段、“实文”段、“变易钥”(等)数据。“暗钥”或是预先存储于“加密方”“解密方”的双方的存储器中。
在实际的加密体系中,或者也有“插入干预”的方式。
所谓的“插入干预”是指,在加密系统运作一段时间后,对变换方法中的参数进行部分或整体变更,1、对“码控”法则的对应关系进行变换,2、对预置“暗钥”的数值进行变换。
这种变更,或者通过简单的映射、替换。(——使得“暗钥”发生改变,“码控”的代码关系发生改变,而与原系统完全不同)。
这种变换,在实际工作时,或者是定期的,或者是不定期的、随机进行的。
——换言之,一段时间后,通过映射、替代的方法,把对应关系进行改变,把“暗钥”进行改变。(这种“插入干预”其达到的效果是,这种“约定方式”是能够变换的,“暗钥”也是能够变换的,加密的安全性就更加高)。这种变换是实时的一次性的,或者是长期的(在下一次的再变换前一直不变),一个阶段不变,中间变换,基于固定和变动之间。能够用简单的替代,把变换关系,和“暗钥”进行更换。
在进行“插入干预”时,双方之间的信息传递,或者通过其他方式或者加密手段传输,可以更加安全。
——任何的系统都是有生命周期的,就像房子、就像设备,使用中间可以进行重新装修、维护、升级。对于加密系统也如此,为了加密系统的安全,可以进行维护、升级,例如:对于“码控”变换,如果预置的对应关系是“1”对应“加”、“2”对应“减”,在加密系统工作一定时间后,通过映射、替代的方法,把对应关系人为地变成“2”对应“加”、“3”对应“减”。对于“暗钥”,如果预置的“123456”,在加密系统工作一定时间后,通过映射、替代的方法,把码值人为地变成“345678”。这样相当于整个系统就是全新的,而实际的工作成本很低。
整个加密体系,(一般)具有前期“预置暗钥”、实时“动态变换”两阶段。而一旦有“插入干预”,则具有前期“预置暗钥”、中期“插入干预”、实时“动态变换”三阶段。
——换言之,加密系统简单、或者使用不频繁的话,不需要中间的“插入干预”步骤,如果加密系统复杂、或者使用频繁的话,就进行中间的“插入干预”步骤,进行中间维护升级,可以提高系统的安全性。
整个加密体系,核心是“码控的复变”,这样的变换可以是多方位的,包括:
1、通过“明码”,对“暗钥”进行“码控的复变”。选择出实际使用的“暗钥”。
2、通过“暗码”,对“明钥”进行“码控的复变”。选择出实际使用的“明钥”。
3、“控制码”对“受控码”进行“码控的复变”。生成“中间码”或“变易钥”。
3、“变易钥”对“实文”或“虚文”进行“码控的复变”。完成加密或者解密。
4、在“插入干预”中,对于“约定方式”和整体的“暗钥”,进行“码控的复变”。完成对于加密系统的中期维护。
在具体的加密中,这种不同的“码控”,可以根据需要,全部使用,构成复杂的加密系统;也可以部分使用,构成简单一点的加密系统。
本发明为上述目的,所采用的技术方法还可以如下:
一、“明钥”分为“预备明钥”和“分组明钥”;“暗钥”分为“预储暗钥”和“分组暗钥”。
(1)、其“明钥”的产生,或是按预先的约定,由以下的一种或者多种信息数据,进行组合、选择:1、时间日期值,2、时序编号,3、实时产生出的代码,2、已经使用过的“虚文”分组,3、已经使用过的“实文”分组,4、已经使用过的“变易钥”。
这样的组合、选择,是使“明钥”由(较长的)“预备明钥”变换成(较长的)“分组明钥”。
所谓“预备明钥”是指,预备用来作为“明钥”的信息数据,(即前述的日期、时序、“虚文”、实文”、“变易钥”等)。
所谓“分组明钥”是指,从“预备明钥”中的数据进行选择变换,作为实际工作的“明钥”(供分组的“明钥+暗钥→变易钥”时使用)。
这种从“预备明钥”到“分组明钥”的选择变换,1、或者是按时间日期值,来“码控”选择“预备明钥”的部分代码(约定不同的时间段有不同的选择),2、或者是按次序,来“码控”选择“预备明钥”的部分代码(约定不同的序列有不同的选择),3、或者是按“码控”的方式,来“码控”选择“预备明钥”的部分代码,从而产生出“分组明钥”。
这其中(上述的第3种),通过“码控”的方式(也即按照预先约定的方式)选择“分组明钥”,其操作,1、或者由“暗钥”或“明钥”的一部分直接作为“控制码”,2、或者由“暗钥”的一部分先与部分“明钥”混合后,作为“控制码”,3、或者由“虚文”、“实文”、“变易码”的一部分或混合,作为“控制码”,进而控制着“预备明钥→分组明钥”的变换。
——换言之,“明钥”(可以)由“时间码”、“序列码”以及“辅助码”组成。“时间码”包括日期和时间的值,“序列码”递增或递减的,“辅助码”是指或者是随机码,或者是具体信息的代码(如:地址、名称、等等。)。
动态变化的“明钥”或者(可以)是:1、主动变化的(随机产生或者特殊设定的),2、自动变化的(自动采用时间或序号,借用前面分段的实文段、虚文段、变易钥等)。
(2)、其“暗钥”的产生,或是由预先存储的较长的“暗钥”选择其中的一部分代码,进行组合、变换。
这样的组合、变换,是使“暗钥”由“预储暗钥”变换成“分组暗钥”。
所谓“预储暗钥”是指,预先存储在加密方和解密方的数据代码,(是预存“暗钥”的全部)。
所谓“分组暗钥”是指,从“预储暗钥”中的数据进行选择变换,作为实际工作的“暗钥”(供分组的“明钥+暗钥→变易钥”时使用)。
这种从“预储暗钥”到“分组暗钥”的选择变换,1、或者是按时间日期值,来“码控”选择“预储暗钥”的部分代码(约定不同的时间段有不同的选择),2、或者是按次序,来“码控”选择“预储暗钥”的部分代码(约定不同的序列有不同的选择),3、或者是按“码控”的方式,来“码控”选择“预储暗钥”的部分代码,从而产生出“分组暗钥”。
这其中(上述第3种),通过“码控”的方式(也即按照预先约定的方式)选择“分组明钥”,其操作,1、或者由“暗钥”或“明钥”的一部分直接作为“控制码”,2、或者由“暗钥”的一部分先与部分“明钥”混合后,作为“控制码”,3、或者由“虚文”、“实文”、“变易码”的一部分或混合,作为“控制码”,进而控制着“预储暗钥→分组暗钥”的变换。
——换言之,双方预存的“暗钥”,在每一加密解密过程中,(或者)是全部“暗钥”均参与运算变换,(或者)是选择部分“暗码”参与运算变换,这种选择(或者)根据时间、次序,(或者)根据“明钥”确定。(例如:第一次加密解密使用第1至第10位,第二次加密使用第3至第12位,以此类推;或者当对应的“明钥”的第一位是7,就使用“暗钥的”第7 至第16位,等等)(类同于产生“变易钥”过程中的码控变换)。
一般地,由“暗钥”码控选择“分组明钥”,由“明钥”码控选择“分组暗钥”。也即,“暗钥”与“明钥”彼此相互控制。
二、在“明钥”中,设置有“定向指针”;在“预储暗钥”中,设置有“定向分区”。
从“预储暗钥”获取“分组暗钥”时,根据“定向指针”的数值,使用或者回避“定向分区”中存在的“定位暗钥”。(——例如,“定向指针”指向的“定位暗钥”,则必须要使用,没有指向到的,则回避使用)。
所谓的“定向指针”是指,“明钥”中,有约定(特定)字节的位置,其内容数据是作为“指针”,指向“暗钥”的“定向分区”地址,(——例如,在“明钥”的前4位,作为“定向指针”)。
所谓的“定向分区”是指,“暗钥”中有约定(特定)字节的位置,分别存储不同级别的“定位暗钥”。操作时,根据“定向指针”寻址。(——例如,在“暗钥”的前4组,每组4 个字节,作为“定向分区”)。
所谓的“定位暗钥”是指,暗钥是分级的,个人和组群所使用的暗钥所存放的位置相互隔离,存放在不同的位置,是固定位置的。(——例如,在前4字节,作为成员特定的暗钥,在后4字节,作为小组共同使用的特定暗钥,接下来是大组共同使用,再接下来是更大组群共同使用的,等等)
换言之,“事件钥”分配有指针(有相应的“指针位”);“暗钥”分配成员区(有相应的“定钥位”)。
在一个集体里,可以用同样的加密方法,同样的密钥(加上少部分的区别),能够实现有不同的加密。
本发明为上述目的,所采用的技术方法还可以如下:
一、在具体的加密过程,分组加密使用的“明钥”,第一组或者前几组,是由其中一方实时产生传送给另一方的(一般的由“加密方”产生与加密后的“虚文”一同传送个“加密方”)。
后续的组,或者使用“实文”,或者使用“虚文”,或者使用“变易钥”,或者是交替使用“实文”、“虚文”、“变易钥”,或者使用“实文”“虚文”“变易钥”的组合代码。(由于这些代码,双方均以在前面使用过,就不需要额外传输)。
二、加密解密时的分组,是分片进行的。若干组构成一片区(例如,使十组为一个片区)。
在第一片区的各组加密变换时,其用于生成“变易钥”的“明钥”是实时产生的(由“时间码”、“序列码”、“辅助码”、“随机码”组成)。
在第二片区的各组加密变换时,其用于生成“变易钥”的“明钥”是第一片区对应各组的“虚文”或“实文”或“变易钥”,或者上述这些代码的选择组合;
第三片区的各组“明钥”,使用第二片区对应的各组“虚文”或“实文”或“变易钥”或者这些组合;
第四片区的各组“明钥”,使用第三片区对应的各组“虚文”或“实文”或“变易钥”或者这些组合。
后续的片区,以此类推。
——换言之,前片使用过的“虚文”等代码,作为后片的“明钥”。
例如,第一片第1、2、3、……组的“虚文”,作为第二片第1、2、3、……组的“明钥”,第二片第1、2、3、……组的“虚文”,作为第三片第1、2、3、……组的“明钥”,第三片第 1、2、3、……组的“虚文”,作为第四片第1、2、3、……组的“明钥”,等等。
在此前面使用过的“虚文”或“实文”或“变易钥”或者其组合,作为后面的“明钥”,就可以使通讯过程不需要传输“明钥”,省却额外的资源开销。
分组分片进行,可以在实际加密解密操作中,可以采用处理器芯片并联处理,增加处理的速度和效率。
三、在前期“预置暗钥”、中期“插入干预”、实时“动态变换”各个阶段中,各种的约定,都是人为的。这些构成具体方法的各种约定,或者是公开的,或者是不公开的。
——如果这些约定是公开的,可以成为标准化的加密方案,可以全社会通用的。
如果这些约定是不公开的,可以仅限于某一领域某一范围使用,例如,在军队里仅某一团队通用的,这样保密性更加强。
在实际工作中,各种不同的数码,相互间也在不同的信道上传送的,可以更加安全。
本发明为上述目的,所采用的技术方法还可以如下:
本发明技术的核心是对于各种变换进行约定,在此,对于一些约定做具体的说明。
一、在各自独立的变换方式:选择、分组、移位、替代、映射、运算、重复等基本变换中。
(1)、其中的“选择”,是指“控制码”不同的编码值,将按约定确定着对(对应被控的) “受控码”进行不同的模式、长度或者地址的选择控制,(也即,“控制码”每一种(不同的) 编码,都将定义对(对应被控的)“受控码”进行一种(不同的)模式、长度或者地址的选择控制,下同),这其中,1、选择模式是指:由“控制码”的值确定其中的分组、移位、运算、映射或重复的模式;2、选择长度是指:由“控制码”的值确定从较长的数据中选择一部分,“控制码”不同的值表示不同的长度;3、选择地址是指:以“控制码”作为指针,确定从较长的数据中按指针所指的位置,挑选出相应的码位。
当选择模式时,例如:编码1、2、3、4、5、6……分别代表1选择、2分组、3移位、4 运算、5映射或6重复,则当控制码是25436时,则“受控码”可以循序进行分组、映射、运算、移位和重复。
当选择长度时,例如:控制码的值1、2、3、4,分别表示长度分别为11位、12位、13位、14位。
当选择位置时,例如:控制码的值1、2、3、4,分别表示挑选第1位、第2位、第3位、第4位,或者后续分别间隔1位、2位、3位、4位,如果数据不够长让数据首尾相接,形成闭环不断反复。
(2)、其中的“分组”,是指“控制码”不同的编码值,将按约定确定着对(对应被控的) “受控码”进行不同的长度或者方式的分组控制,其分组的长度单位或者是“位”,也或者是“字节”、“字”、“帧”、“串”,可以n位、n字节、n帧为一组等等。
例如:可以4位、8位、或者16位为一组;也可以5字节、10字节、或者15位为一组;可以1帧、3帧或者6帧为一组,等等。
(3)、其中的“移位”,是指“控制码”不同的编码值,将按约定确定着对(对应被控的) “受控码”进行不同的位置的移动控制,其移动的长度单位或者是“位”,也或者是“字节”、“字”、“帧”、“串”,也即,对数码进行(相互约定的)重新排列组合,像扑克牌洗牌一样,只是这种“洗牌”是受控的,
例如:数据2565997545定义为(25--65997545),“控制码”25表示把“受控码”65997545 第一位移2位、第二位移5位,使6997545变成596975455。
例如:定义“控制码”=1,就确定两组数据逐步交叉,数据12345-67890,——>1627384950。
例如:定义“控制码”=2,就确定两组数据双步交叉,数据12345-67890,——>1267348950。
(4)、其中的“替代”,是指“控制码”不同的编码值,将按约定确定着对(对应被控的) “受控码”进行不同的方式的替代控制。
例如:“控制码”1、2、3、4、5、6、……的编码,分别代表“A、B、C、D、E、F……”等替代,等等。
(5)、其中的“映射”,是指“控制码”不同的编码值,将按约定确定着对(对应被控的) “受控码”进行不同的码值变换,这种“(数-数)映射”,或者是固定式的,也或者是寻址式的,其“映射”或者是一对一的,也或者是一位或者多位数据。
所谓“固定式”的,是指或者(依据“控制码”的编码)固定地映射为相应的值,不同的“控制码”有不同的映射,但同一“控制码”下,其映射也一定,例如:“控制码”=2,则,“受控码”1变3,2变4,3变5,4变6……。
所谓“寻址式”的,是指或者(依据“控制码”的编码)先在包括“受控码”在内的整个“码串”中进行寻址,在其相应的位置中找出相应的值,作为变换的控制,这样,先经过 (“位置”—>“相应的值”),再变换,可以使变化更加不确定。
例如:当“控制码”=8,数据(“码串”)为×××××××16×××××××××××,则第八位开始的值为地址,寻找到该地址的内容(即对应编码)为16,再以控制编码为“16”的控制方法进行变换。如果第八位开始的值为02,则以控制编码为“02”的控制方法进行变换。
(6)、其中的“运算”,是指“控制码”不同的编码值,将按约定确定着对(对应被控的) “受控码”进行不同的方式的运算控制,所述的“运算”或者是算术运算,也或者是逻辑运算,这种控制,其编码所对应的,或者是(单一的)运算符,也或者是(直接的)算式,所述的算式,或者是单项式也或者是多项式,
例如:“控制码”1、2、3、4、5、6、……的编码:一、分别代表“加、减、乘、除”等算术运算符,或“与、或、非”等逻辑运算符;二、或者分别代表“+6、-11、×3、/2等”单步(单项)运算;三、或“(m-1)×3、(m+3)/3、(m-1)×3+3等”多项式预算,等等。
(7)、其中的“重复”,是指“控制码”不同的编码值,将按约定确定着进行不同的次数的重复变换,例如:“控制码”=2,则,相应的“受控码”要重复变换2次。
也即,这些控制方式,每一种不同编码的“控制码”,都将(按人为定义的方式)对(对应被控的)“受控码”进行一种(不同的)变换控制,而且由于“控制码”是可以并列和嵌套使用,其编码值,在字符串(数据)中不同的编码值在不同的位置可以有不同的变换约定(也即字符串中的字符不同位置上的不同的值代表不同的选择、分组(组合)、移位(排列)、运算(计算)、映射或重复方式),而且字符串(数据)中的“受控码”“控制码”不是恒定不变的,前面的控制不同,后面的划分就不同。
这些用以控制“受控码”的“控制码”,也或者部分缺省,固定地映射为相应的值,或者相应的控制方式,在数码中可以让一部分“控制码”缺省,不直接表现出来,这样,可以减少硬件开销,(但相对的可靠性降低,不过部分缺省,不会造成问题,)
例如:缺省“控制码”,所有的码都直接是,5位一组:13156,70298,98367——>13+56, 70-98,98*67。
二、每一个“控制码”或者是一位的,或者是多位的,“控制码”不同的值有不同的控制方式,也或者有相同的控制方式。
这其中,“控制码”(按所控制的变换方式分,)又分为选择控制码、分组控制码、移位控制码、运算控制码、重复控制码,通过人为约定的方法,使每一种“控制码”的码值,均对应定义一种变换方式。
其中的“选择控制码”,对应控制着对“受控码”的码段选取,在变换过程中“受控码”或者是全部用来变换,或者是选取部分码段进行变换的,“选择控制码”的每一种码值均对应有一种“受控码”码段的选取方式。(例如,可以人为约定1、2、3……n分别对应从“受控码”的第n位开始,选取此后的m位,进行变换。因为这种对应是人工约定的,可以有无穷的对应方法,只需要在具体实施时,加以明确统一即可,下同)。
其中的“分组控制码”,对应控制着对“受控码”的码段进行分组,在变换过程中,把选取的“受控码”码段分成若干组,“分组控制码”每一种码值均对应有一种分组方式。(例如可以人为约定1、2、3……n分别对应让“受控码”按顺序分组、按奇数分组、按偶数分组,或者按位分组,1、2、3……分别代表1位一组、2位一组、3位一组……等等,可以有无穷的约定方式)。
其中的“移位控制码”,对应控制着对“受控码”的移位,在变换时,把选取的“受控码”或者按位移动、或者按组(多位组合一起)移动,“移位控制码”的每一种码值均对应有一种移位方式。(例如,可以人为约定1、2、3……n分别对应让“受控码”的第x位(组) 移动到第y位(组)的位置、或者与第y位(组)的位置交换,这类似于扑克牌的洗牌,可以有无穷的洗牌结果)。
其中的“替代控制码”,对应控制着对“受控码”的替代,在变换时,把选取的“受控码”替代成约定的代码。
其中的“映射控制码”,对应控制着对“受控码”的映射,在变换时,把选取的“受控码”,按相应(不同的)的映射表进行映射变换,“映射控制码”的每一种码值均对应有一种映射表格,使“受控码”在相应的映射表格里找到到对应值。(例如,可以人为约定,1、 2、3……n分别对应让“受控码”的码值按第a、b、c、d等不同的映射表进行代换)。
其中的“运算控制码”,对应控制着对“受控码”的运算,在变换时,把选取的“受控码”按位或按分组进行运算,“运算控制码”的每一种码值对应一种(加减乘除等)基本运算和逻辑运算,使“受控码”进行相应的运算变换。(例如,可以人为约定1、2、3……n分别对应让分组的“受控码”进行“加、减、乘、除,乘方、开方”等基本运算,以及“与、或、非”等逻辑运算)。
其中的“重复控制码”,对应控制着对“受控码”的变换的重复次数,在变换过程“重复控制码”的每一种码值对应一种重复次数。(例如,可以人为约定1、2、3……n分别对应重复1、2、3次……n)。
或者,这种变换的重复次数是固定的。(例如,可以人为约定这种变换过程是重复n次)。
三、这种在“控制码”的控制下对“受控码”进行的选择、分组、移位、替代、映射、运算、重复(等模式)的变换,其变换模式,或者是全部进行的、或者部分进行的。
在时间顺序上,或者是并列同步进行的、或者是前后分步进行的、或者是混合进行的。
(例如,可以人为约定,或者选择、分组、移位、替代、映射、运算全部进行,或者只进行分组、移位、运算等部分;可以人为约定,“受控码”一串前几位进行移位,中间几位进行映射,后面几位进行运算;也可以人为约定先运算、再映射、再移位;)。
(为方便叙述,把)这种属于不同类型的变换,按工作步骤,分为“时分复变”、“片分复变”、“码分复变”、“混合复变”。
其中,所述的“时分复变”,是指选择、分组、移位、替代、映射、运算是按次序进行的,其控制方式称为“时分复控”或“时分码控”。(“子变换”的次序是固定地按默认的次序轮流进行)。
其中,所述的“片分复变”,选择、分组、移位、替代、映射、运算按数码分片段进行的,其控制方式称为“片分复控”或“片分码控”。(“子变换”的分配是固定地按默认的区域分片进行)。
其中,所述的“码分复变”,是指选择、分组、移位、替代、映射、运算是按数码定义进行的,其控制方式称为“码分复控”或“码分码控”。
(“子变换”的次序直接由控制码给出,控制码不仅对应“子变换”,直接指定“子变换”的位置和次序,例如,21代表在第二段进行映射变换)。
其中,所述的“混合复变”,是指选择、分组、移位、替代、映射、运算是上述三种步骤混合进行的,其控制方式称为“混分复控”或“混分码控”。
(变换、变换模式、子变换)它们之间的关系是,在整体的“变换”下有多个“变换模式”,每个“变换模式”下,有多个“子变换”(也即有多个“变换小单元”)。
它们之间的关系是,在整体的“变换”下有多个“变换模式”,每个“变换模式”下,有多个“子变换”。
本发明的有益效果:
到目前为止,世界上使用的加密方法,其“密钥”都是固定不变的,为了安全,需要人为地、不定期地进行密钥更换,密钥更换需要传输,这本身就存在安全性问题。
由于本发明引入了自动变化的“变易钥”,是一次性使用的密钥,所以加密会更加安全。
由于本发明引入了动态的“明钥”和静态的“暗钥”两者相互反复调和,形成“变易钥”,使得“变易钥”的变化更加多端又更加隐秘。
由于这种反复的变换是离散的约定的,能够有很快的变换速度和很高的效率,更加适合软件的实施和嵌入式芯片的使用。
由于密钥可以超级长,可以轻松地使用几K,甚至几M长度的密钥,就无法破译。
由于基于码控的变换,加密解密的速度可以非常快。
现有的加密方法 | 本发明的加密方法 |
固定密钥 | 变易密钥 |
双钥不对称,单钥对称 | 双钥对称 |
密钥长度有限 | 密钥长度可以超长 |
基于算法的复杂性 | 基于码控的多样性 |
为了更好地说明问题,我们简单回顾一下加密技术的现状。
通过对于加密技术的历史发展和现状的简单梳理、分析,我们可以发现,到目前为止,尽管加密的技术方法有成百上千,但有两个共同点:
1、加密的密钥是固定的。密钥在它的生命周期里是固定不变的,除非使用了一段时间需要人为地加以修改。
2、加密只有两种不同体系,“对称密钥加密”和“不对称密钥加密”。
由于“对称密钥加密”它是使用单一密钥的,我们可以称之为“单钥对称”方法;由于“不对称密钥加密”它是使用两个密钥的,我们可以称之为“双钥不对称”方法,在上世纪七十年代以前,所有的加密体系都是“单钥对称”的,在此后才有“双钥不对称”的。
本发明技术,是在现有“固定密钥”的体系外,发明创造出的密钥不固定的“非定密钥”体系。
本发明技术,是在现有“单钥对称”和“双钥不对称”两大体系外,发明创造出的第三种体系“双钥对称”体系。
现有的加密技术,是基于计算的同一性、运算的复杂性(存在规律性),它依赖于加密算法本身的复杂性。
本发明的加密技术,是基于计算的离散性、组合的多样性、随机性和变易的无限性(没有规律),它依赖于变易组合的多样性、随机性。
换言之,它基于码控约定的多样性,而不依赖于算法本身的复杂性。
一个一个小运算单元的组合,进行简单的运算和多变的组合,(相对传统加密方法)更适合计算机处理,尤其适合嵌入式系统;加密和解密的速度也更加快捷;也更加适合与程序的编写,是加密技术可以得到更加广泛的应用。
不同的加密体系,其安全性首先依赖于算法(世界各国一直在寻找更加先进的算法)。
相同的加密体系,其安全性依赖于密钥长度。
我们把“密钥被重复使用的概率”,称之为“密钥的复用率”。一般的,其复用率越高、被破译的概率越大,所以,在实际个工作中,需要不断地更新密钥。
我们把“破译的开销”与“加解密的开销”的两者之比,称之为“加密的效率”。加密的效率,取决于加密算法和密钥长度。一般的,密钥越长,越安全,但开销越大。
本发明的技术的最大意义在于,可以根本改变这种状况。
1、密钥可以无限大(只要存储容许),可以轻易使用几千字节长度的密钥(暗钥),不需要不断更换密钥。(目前使用的DES加密系统,由于算法复杂,一般的密钥长度仅几十比特)。
2、它可以使己方的加密解密开销很低,而敌方的破译开销无限大。
具体实施方式
下面根据本发明的方法,设置一个具体的加密变换方法,用以实施加密解密。
一、暗钥。
分为“预储暗钥”和“分组暗钥”。
1、预储暗钥。预先存储的、预置的数码串(密钥),1K字节(Byte)1Byte=8bit
2、分组暗钥。选择“预储暗钥”中的其中8字节,作为分组加密过程使用的暗钥。
二、明钥。
分为“预备明钥”和“分组明钥”。
1、预备明钥。16字节,公开的数码串,或已公开的“虚文”(加密后公开传送的文件)。
2、分组明钥。8字节。选择“预备暗钥”中的其中8字节,每组各不相同。
分组明钥中,①、第一组使用“引导码”,②、第二组开始使用前一组的“虚文”。
三、“引导码”的设定。
“引导码”包括“日期码”和“事件码”。有8个字节。
1、事件码,4字节。随机码或者情况说明。
2、日期码,4字节。使每天能够不同,可确保65535天(180年左右)不重复。
【0000-FFFF。0000-65535。近180年不会重复(65535天/365=179,179年)。2000 年1月1日元旦为0000,2日为0001,以此类推。】
“引导码”由加密方确定,每一加密文件,均需要设置一个以上的“引导码”。(文件数据较长时,分段设立多个“引导码”)
四、“分组暗钥”的选择。
每组使用的“分组暗钥”各不相同,均在“预储暗钥”的1k字节中选择其中的8字节(64 位),作为本组的“分组暗钥”。
选择的方法,包括:起始位置、选位间隔、分组间隔等。
通过“事件码”确定,借用其中的4字节(FFFF,32位)。
使“事件码”与暗钥的前32位异或,得到新的32位码。作为“选择控制码”。
(1)、选择的方法1:“指针”直接指示。
当“选择控制码”(abcd)=48651324时,在“预储暗钥”第4位、第8位、第6位、第 5位的值,此后1位、再后3位、再后2位、再后4位的值,分别是6、5、8、9、8、7、2、 3,那么,本组的“分组暗钥”,就是“65898723”。
(2)、选择的方法2:包括:起始位置、选位间隔、分组间隔等。
1、起始位置。第一次“分组暗钥”的首位位置,由第5、第6两个字节(16位)中记录的数值确定,(如其值为12,则“存储暗钥”的第一位作为第一次“分组暗钥”的首位。)
2、选位间隔。在“存储暗钥”中,每隔N位选择1位,共选择64位,组成本组的“分组暗钥”。其跳跃的距离N由第7个字节(8位)中记录的数值确定,(如其值为11,则每隔 11位在“存储暗钥”中取一位。)
3、分组间隔。每次“分组暗钥”的首位位置也各不相同,每次向右移N位。其右移的距离N由第8字节(8位)中记录的数值确定,(如其值为10,则每次分组的首位在“预储暗钥”中右移10位,也即,本次的首位比上一次右移10位。)
4、选择时超过实际长度,则均从头继续循环。
5、最终组成8字节(64位)的“分组暗钥”。
五、“分组明钥”的选择。
每组使用的“分组明钥”各不相同,均在“预备明钥”(已经使用了的“虚文”等数据)中选择其中的8字节(64位),作为本组的“分组明钥”。
第一组,直接使用“引导钥”作为“分组明钥”。
第二组开始,在16个字节(128位)的“分组虚文”中选择8字节(64位)。
其中,第二组在第一组的“虚文”中选择,第三组在第二组的“虚文”中选择,以此类推,均在前组的“虚文”中选择8字节,作为本组的“明钥”。
选择的方法,包括:起始位置、选位间隔等。
通过“预备明钥”(上一组“虚文”)确定,借用其中的两个字节(FF,16位)。
使“预备明钥”的前16位与暗钥的第33~48位异或,得到新的16位码。作为“选择控制码”。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
起始位置 | 选位间隔 | ||||||
F | F | F | F | F | F | F | F |
1、起始位置。“分组明钥”的首位位置,由第6字节的数值确定,(如其值为12,则“预备明钥”的第一位作为第一次“分组明钥”的首位。)
2、选位间隔。从第二位开始,在“预备明钥”中,每隔N位选择1位,共选择64位,组成本组的“分组明钥”。其跳跃的距离N由第7字节的数值确定,(如其值为11,则每隔11 位在“预备明钥”中取一位。)
3、选择时超过实际长度,则均从头继续循环。
4、最终组成8字节(64位)的“分组明钥”。
六、码控变换。
按次序分组地进行“码控变换”,获取“变易钥”。
每一次均按下列步骤,实现“明钥+秘钥→动态钥”的变换。
1、合拼
把64位的“分组明钥”和64位的“分组暗钥”合并,成为128位的码串。
2、交叉
前64位与后64位逐位交叉穿插,形成新的128位码。
前64位(1、2、3、4、……)与后64位(a、b、c、d、……)的排列变换示意:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | …… | a | b | c | d | e | f | g | i | j | …… |
X | X | X | X | X | X | X | X | X | …… | X | X | X | X | X | X | X | X | X | …… |
交叉后变换成,如下表所示:
1 | a | 2 | b | 3 | c | 4 | d | 5 | e | 6 | f | 7 | g | 8 | i | 9 | j | …… | …… |
X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | …… | …… |
形成新的128位(16个字节)字符串,如下表所示:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
F | F | F | F | F | F | F | F | F | F | F | F | F | F | F | F |
3、分项
形成“控制码”ki(k1,k2,k3);“被控码”Mi(M1,M2,M3),Ni(N1,N2,N3)。
4、码控
由“控制码”ki控制“被控码”Mi,Ni进行变换。其“人为约定”的变换关系如下表。
k<sub>i</sub> | M<sub>i</sub>/N<sub>i</sub> | 结果 | ||
0 | (0)00 00 | 加 | M<sub>i</sub>与N<sub>i</sub>相加,结果放置在M<sub>i</sub> | |
1 | (1)00 01 | 减 | M<sub>i</sub>与N<sub>i</sub>相减,结果放置在M<sub>i</sub> | |
2 | (2)00 10 | 与 | M<sub>i</sub>与N<sub>i</sub>相与,结果放置在M<sub>i</sub> | |
3 | (3)00 11 | 或 | M<sub>i</sub>与N<sub>i</sub>相或,结果放置在N<sub>i</sub> | |
4 | (4)01 00 | 异或 | M<sub>i</sub>与N<sub>i</sub>相异或,结果放置在N<sub>i</sub> | |
5 | (5)01 01 | 非 | M<sub>i</sub>与N<sub>i</sub>各自取非,放置在原处。 | |
6 | (6)01 10 | 大交换 | M<sub>i</sub>与N<sub>i</sub>相互交换 | |
7 | (7)01 11 | 小交换 | M<sub>i</sub>与N<sub>i</sub>各自互换(前4位与后4位) | |
8 | (8)10 00 | 大跳位 | M<sub>i</sub>的第1位与N<sub>i</sub>的第1位,互跳 | |
9 | (9)10 01 | 大跳位 | M<sub>i</sub>的第3位与N<sub>i</sub>的第3位,互跳 | |
10 | (A)10 10 | 小跳位 | M<sub>i</sub>与N<sub>i</sub>各自互跳(第1位与的第5位) | |
11 | (B)10 11 | 小跳位 | M<sub>i</sub>与N<sub>i</sub>各自互跳(第3位与的第7位) | |
12 | (C)11 00 | 大循环移位 | M<sub>i</sub>与N<sub>i</sub>联动,循环左移1位 | |
13 | (D)11 01 | 大循环移位 | M<sub>i</sub>与N<sub>i</sub>联动,循环右移1位 | |
14 | (E)11 10 | 小循环移位 | M<sub>i</sub>与N<sub>i</sub>各自,循环左移2位 | |
15 | (F)11 11 | 小循环移位 | M<sub>i</sub>与N<sub>i</sub>各自,循环右移2位 |
根据表格中所“人为约定”的设置,确定控制关系。
通过“控制码”ki控制“被控码”Mi,Ni进行变换后,其相互运算的结果,放在相应的位置。
【注:这种约定方式是无穷无尽的,这里只约定了其中的一个方式。】
5、重复
重复第2步到第4步,最后形成新的128位(16个字节)字符串。
6、形成“变易钥”
取128位字符串中的前120位(前15个字节),作为每组的“变易钥”。
这其中第3步到第5步,甚至也可以省略,可以更加简单地实现“明钥+秘钥→动态钥”的变换。
七、加密和解密。
1、加密。
对需要加密的文件数据(“实文”),进行分组。每组120位(15个字节)。
按照前叙的第三条方法,设定出“引导码”。从加密方自己的存储器中,提取“预储暗钥”。
按照第四条方法,按次序分步相应地,选择出“分组暗钥”。
按照第五条方法,按次序分步相应地,选择出“分组明钥”。
按照第六条方法,按次序分步相应地,变换出“变易钥”。
按次序分步相应地,使分组的“实文”,与各自对应的“变易钥”逐位“异或”,加8位的校验码,形成128位(16个字节)的分组“虚文”。
2、传输或存储。
把“引导码”与各个分组的“虚文”,按照前后顺序连接,进行传输或存储。
3、解密。
从加密的“虚文”文件集合中,提取“引导码”和各个分组的“虚文”。从解密方自己的存储器中,提取“预储暗钥”。
按照第四条方法,按次序分步相应地,选择出“分组暗钥”。
按照第五条方法,按次序分步相应地,选择出“分组明钥”。
按照第六条方法,按次序分步相应地,变换出“变易钥”。
按次序分步相应地,使分组的“虚文”与对应的“变易钥”逐位“异或”【仅取前120位(15个字节)】。
把各个分组的“实文”,按照前后顺序连接,即获得解密的文件。
这样的加密方法,可以用很简单的软件程序实施,其程序可以用几百个机器周期,甚至几十个机器周期就可以完成。平均加密1bit的数据,大约需要几个甚至一个不到的机器周期,要远远快于DES加密的速度。
八、定向加密。
对于群体内部的加密通讯,可以实现向特定组或特定成员的定向加密。定向加密后,相应的人员才可以解密。
方法是:1、在“明钥”中,设置有“定向指针”。2、在“暗钥”中,设置有“定向分区”。
1、在“明钥”中,设置有“定向指针”
借用“明钥”中“事件码”(“引导码”的一部分)的1/2个字节(4bit),作为“定向指针”的寄存位。
2、在“暗钥”中,设置有“定向分区”,每个“定向分区”存储“定位暗钥”
每个对象均有固定的存储地址,存储空间4个字节,分别借用“预储暗钥”其中的4字节(FFFF,32位),0-65535。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | …… |
成员 | 小组 | 大组 | 群 | |||||||
FFFF | FFFF | FFFF | FFFF | FFFF | FFFF | FFFF | FFFF | FFFF | FFFF | …… |
通过程序设定,由“定向指针”确定“定位暗钥”的取舍。
对于加密方:
①、在“引导钥”(“明钥”)的“定向指针”中设定解密对象的编码,(成员、小组、大组、群,编码分别为000、001、010、011)。
②、在相应的对象(成员、小组、大组、群)的地址中,迁人解密对象的“定位暗钥”。
对于解密方:
确定自己所在群、大组、小组、成员所对应的“定位暗钥”值即可。
程序运行时,根据“定向指针”,在使用“暗钥”时,自动避开限定对象的区域。
(——例如,对于不使用的区域进行屏蔽,使其与“0”相“与”,或者与“1”相“或”。
面向“群”的,屏蔽“成员、小组、大组”存储区域;
面向“大组”的,屏蔽“成员、小组”存储区域;
面向“小组”的,屏蔽“成员”存储区域;
面向“成员”的,存储区域全部不屏蔽。)
Claims (9)
1.变易密钥的码控式数据加密方法,所谓的“数据加密”,是指“加密方”通过预定的“变换方法”和“密钥”,把数据从“实文”变换成“虚文”,以便能够安全地加以传输或存储,“解密方”再通过对应的“变换方法”和“密钥”,把“虚文”变换成“实文”,恢复出原有数据,所述的“实文”是指需要加密的、或者是经解密恢复的原文数据,“虚文”是指已经加密了的文件数据,一般的,现有各种各样的数据加密方法,其“变换方法”和“密钥”相对而言都是固定的,
本发明提供的“变易密钥的码控式数据加密”方法,其特征是:
在加密过程和解密过程中,“密钥”是变化的,是分别通过“明钥+暗钥→变易钥”方式的变换而实时产生出的,
所述的“明钥”是指能公开传输的“代码”,在加密解密过程中,由其中一方产生传输给另一方,
所述的“暗钥”是指不公开传输的“代码”,在加密解密前,已经由加密方和解密方双方预先持有的、双方相同的“代码”,
所述的“明钥+暗钥→变易钥”变换,是通过“码控变换”的方式,把“明钥”和“暗钥”变换成“变易钥”,这种“明钥+暗钥→变易钥”的“码控变换”,方法分步如下:
第一、使“明钥”和“暗钥”按预先约定的方法,进行选择、混合,合成“组合码”,或称“中间码”,
第二、“中间码”按预先约定的方法,进行分组,把“中间码”分成若干组,在每一组内,分成“控制码”和“受控码”两部分,
第三、按预先约定的方法,使每一个“控制码”对应一种变换方式,去约束控制“受控码”进行变换,也即“受控码”按“控制码”值约定的操作进行变换,每一个组的变换也都各自独立,构成相互独立的“变换小单元”,在各种“变换小单元”中,每一种变换方式与“控制码”的值,是有固定的对应关系的,是一一对应的,
以“控制码”约定对“受控码”实施变换的方式,称为“码控的方式”,各种不同约定的“码控”组合,构成“离散的码控”,
第四、这其中,各自独立的变换方式或者有:选择、分组、移位、替代、映射、运算的“小变换”,
第五、各组的“受控码”经过各自变换后,与“控制码”按预定的方式重新组合,合成新的“中间码”,
第六、重复第二至第五条,对“中间码”进行重新分组、变换,重新分组、变换的方法,或者与前一轮的分组、变换是相同的,或者与前一轮的分组、变换是相异的,
第七、这种变换的重复次数,或者约定是固定次数的,或者约定是第一次“中间码”的某几位数的值,
第八、进行了预定的重复次数后,结束重复,最后一次变换所生成的“中间码”,形成“变易钥”,
这种变换,其核心为“双钥、双码、叠变,离散、约定、码控”,
双钥:具有动态的“明钥”和静态的“暗钥”,由此双钥进行混合,
双码:混合后拆分成“控制码”和“受控码”两部分,
叠变:由“控制码”控制“受控码”进行变换,依据双码,反复多次累积叠加,
离散:这种变换,是由一个个离散的“变换小单元”的组合,
码控:这种变换,其中的“变换小单元”是通过“控制码”对“受控码”进行控制而实现的,
约定:这种变换,其离散的形式、码控的方式和叠变的累积,都是人为约定的,
这种“明钥+暗钥→变易钥”的变换,称之为“双钥双码叠变,离散约定码控”变换,简称为“双钥双码离散码控变换”,或者简称“双钥叠变码控变换”、“双钥码控离散变换”、“双钥对称的码控变换”、“双钥码控变换”、“码控变换”,
这其中,使“组合码”分成“控制码”和“受控码”,所反复进行彼此控制的变换,称为“码控的复变”,
在具体的加密过程中,“加密方”把需要加密的“实文”进行分组,在进行每一分组的加密时,先提取己方预存或预选的“暗钥”,并选定“明钥”,通过“明钥+暗钥→变易钥”变换,获得动态的“变易钥”,再通过“变易钥”对分组的“实文”进行加密,获得分组的“虚文”,这种“实文→虚文”,其方法是以下的一种或者多种的组合:1、把“实文”的分组和“变易钥”直接“异或”获得“虚文”,2、通过“变易钥”对“实文”进行“码控的复变”获得“虚文”,3、以“变易钥”作为常规密钥,进行加密获得“虚文”,最后把各分组的“虚文”和“明钥”直接或合成整体,进行存储或者发送给“解密方”,
对应的,解密时,“解密方”把已经加密了的“虚文”分组,并把得到的“明钥”和“解密方”预存或预选的“暗钥”,通过“明钥+暗钥→变易钥”变换,获得动态的“变易钥”,再通过“变易钥”对“虚文”进行分组解密,重新获得“实文”,这种“虚文→实文”,其方法是以下的一种或者多种的组合:1、把“虚文”的分组和“变易钥”直接“异或”获得“实文”,2、通过“变易钥”对“虚文”进行“码控的复变”获得“实文”,3、以“变易钥”作为常规密钥,进行解密获得“实文”,最后把各分组的“实文”段合成整体,完成解密,
在进行加密解密时,“明钥”或由“加密方”实时产生,与加密后的“虚文”一起,共同传递给“解密方”,或者是使用由此前存储下来的“虚文”段、“实文”段、“变易钥”数据,“暗钥”或是预先存储于“加密方”“解密方”的双方的存储器中,
在加密中,或者也有“插入干预”的方式,
所谓的“插入干预”是指,在加密系统运作一段时间后,对变换方法中的参数进行部分或整体变更,1、对“码控”法则的对应关系进行变换,2、对预置“暗钥”的数值进行变换,这种变更,或者通过简单的映射、替换,
这种变更,或者是定期的,或者是不定期的、随机进行的,
在进行“插入干预”时,双方之间的信息传递,或者通过其他方式或者加密手段传输,可以更加安全,
整个加密体系,具有前期“预置暗钥”、实时“动态变换”两阶段,而一旦有“插入干预”,则具有前期“预置暗钥”、中期“插入干预”、实时“动态变换”三阶段。
2.根据权利要求1所述的“变易密钥的码控式数据加密方法”,其特征是:
其“明钥”的产生,或是按预先的约定,由以下的一种或者多种信息数据,进行组合、选择:1、时间日期值,2、时序编号,3、实时产生出的代码,2、已经使用过的“虚文”分组,3、已经使用过的“实文”分组,4、已经使用过的“变易钥”,
这样的组合、选择,是使“明钥”由“预备明钥”变换成“分组明钥”,
所谓“预备明钥”是指,预备用来作为“明钥”的信息数据,
所谓“分组明钥”是指,从“预备明钥”中的数据进行选择、变换,作为实际工作的“明钥”,
这种从“预备明钥”到“分组明钥”的选择变换,1、或者是按时间日期值,来“码控”选择“预备明钥”的部分代码,2、或者是按次序,来“码控”选择“预备明钥”的部分代码,3、或者是按“码控”的方式,来“码控”选择“预备明钥”的部分代码,从而产生出“分组明钥”,
这其中,通过“码控”的方式选择“分组明钥”,其操作,1、或者由“暗钥”或“明钥”的一部分直接作为“控制码”,2、或者由“暗钥”的一部分先与部分“明钥”混合后,作为“控制码”,3、或者由“虚文”、“实文”、“变易码”的一部分或混合,作为“控制码”,进而控制着“预备明钥→分组明钥”的变换,
其“暗钥”的产生,或是由预先存储的较长的“暗钥”选择、调取其中的一部分代码,进行组合、变换,
这样的组合、变换,是使“暗钥”由“预储暗钥”变换成“分组暗钥”,
所谓“预储暗钥”是指,预先存储在加密方和解密方的数据代码,
所谓“分组暗钥”是指,从“预储暗钥”中的数据进行选择变换,作为实际工作的“暗钥”,
这种从“预储暗钥”到“分组暗钥”的选择变换,1、或者是按时间日期值,来“码控”选择“预储暗钥”的部分代码,2、或者是按次序,来“码控”选择“预储暗钥”的部分代码,3、或者是按“码控”的方式,来“码控”选择“预储暗钥”的部分代码,从而产生出“分组暗钥”,
这其中,通过“码控”的方式选择“分组明钥”,其操作,1、或者由“暗钥”或“明钥”的一部分直接作为“控制码”,2、或者由“暗钥”的一部分先与部分“明钥”混合后,作为“控制码”,3、或者由“虚文”、“实文”、“变易码”的一部分或混合,作为“控制码”,进而控制着“预储暗钥→分组暗钥”的变换。
3.根据权利要求1或2所述的“变易密钥的码控式数据加密方法”,其特征是:
在“明钥”中,设置有“定向指针”;在“预储暗钥”中,设置有“定向分区”,
从“预储暗钥”获取“分组暗钥”时,根据“定向指针”的数值,使用或者回避“定向分区”中存在的“定位暗钥”,
所谓的“定向指针”是指,“明钥”中,有约定(特定)字节的位置,其内容数据是作为“指针”,指向“暗钥”的“定向分区”地址,
所谓的“定向分区”是指,“暗钥”中有约定(特定)字节的位置,分别存储不同级别的“定位暗钥”,操作时,根据“定向指针”寻址,
所谓的“定位暗钥”是指,暗钥是分级的,个人和组群所使用的暗钥所存放的位置相互隔离,存放在不同的位置,是固定位置的。
4.根据权利要求1或2所述的“变易密钥的码控式数据加密方法”,其特征是:
在具体的加密过程,分组加密的第一组或者前几组,所使用的“分组明钥”,是由其中一方实时产生的,这种“分组明钥”,称为“引导钥”,
后续的分组加密,所使用的“分组明钥”,或者使用“虚文”,或者使用“实文”,或者使用“变易钥”,或者是交替使用“虚文”、“实文”、“变易钥”,或者使用“虚文”、“实文”、“变易钥”的组合代码。
5.根据权利要求1所述的“变易密钥的码控式数据加密方法”,其特征是:
加密解密时的分组,是分片进行的,若干组构成一片区,在第一片区的各组加密变换时,其用于生成“变易钥”的“明钥”是实时产生的,在第二片区的各组加密变换时,其用于生成“变易钥”的“明钥”是第一片区对应各组的“虚文”或“实文”或“变易钥”,或者上述这些代码的选择组合,第三片区的各组“明钥”,使用第二片区对应的各组“虚文”或“实文”或“变易钥”或者组合,后续的片区,以此类推。
6.根据权利要求1所述的“变易密钥的码控式数据加密方法”,其特征是:
在前期“预置暗钥”、中期“插入干预”、实时“动态变换”各个阶段中,各种的约定,都是人为的,这些构成具体方法的各种约定,或者是公开的,或者是不公开的。
7.根据权利要求1所述的“变易密钥的码控式数据加密方法”,其特征是:
对于各自独立的变换方式:选择、分组、移位、替代、映射、运算、重复,
其中的“选择”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的模式、长度或者地址的选择控制,这其中,1、选择模式是指:由“控制码”的值确定其中的分组、移位、运算、映射或重复的模式,2、选择长度是指:由“控制码”的值确定从较长的数据中选择一部分,“控制码”不同的值表示不同的长度,3、选择地址是指:以“控制码”为指针,确定从长数据中按指针值所指的位置,挑选出相应的码位,
其中的“分组”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的长度或者方式的分组控制,其分组的长度单位或者是“位”,也或者是“字节”、“字”、“帧”、“串”,
其中的“移位”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的位置的移动、交换控制,其移动的长度单位或者是“位”,也或者是“字节”、“字”、“帧”、“串”,
其中的“替代”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的方式的替代控制,
其中的“映射”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的码值变换,这种“(数-数)映射”,或者是固定式的,也或者是寻址式的,其“映射”或者是一对一的,也或者是一位或者多位数据,
所谓“固定式”的,是指或者固定地映射为相应的值,不同的“控制码”或者有不同的映射,但同一“控制码”下,其映射也一定,所谓“寻址式”的,是指或者先在包括“受控码”在内的整个“码串”中进行寻址,在其相应的位置中找出相应的值,作为变换的控制,
其中的“运算”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的方式的运算控制,所述的“运算”或者是算术运算,也或者是逻辑运算,这种控制,其编码所对应的,或者是单一的运算符,也或者是直接的算式,所述的算式,或者是单项式也或者是多项式,
其中的“重复”,是指“控制码”不同的编码值,将按约定确定着对“受控码”进行不同的次数的重复变换,
这些用以控制“受控码”的“控制码”,也或者部分缺省,固定地映射为相应的值,或者相应的控制方式。
8.根据权利要求1所述的“变易密钥的码控式数据加密方法”,其特征是:
每一个“控制码”或者是一位的,或者是多位的,“控制码”不同的值有不同的控制方式,也或者有相同的控制方式,
这其中,“控制码”又分为“选择控制码”、“分组控制码”、“移位控制码”、“运算控制码”、“重复控制码”,通过人为约定的方法,使每一种“控制码”的码值,均对应定义一种变换方式,
其中的“选择控制码”,对应控制着对“受控码”的码段选取,在变换过程中“受控码”或者是全部用来变换,或者是选取部分码段进行变换的,“选择控制码”的每一种码值均对应有一种“受控码”码段的选取方式,
其中的“分组控制码”,对应控制着对“受控码”的码段进行分组,在变换过程中,把选取的“受控码”码段分成若干组,“分组控制码”每一种码值均对应有一种分组方式,
其中的“移位控制码”,对应控制着对“受控码”的移位,在变换时,把选取的“受控码”或者按位移动、或者按组移动,“移位控制码”的每一种码值均对应有一种移位方式,
其中的“替代控制码”,对应控制着对“受控码”的替代,在变换时,把选取的“受控码”替代成约定的代码,
其中的“映射控制码”,对应控制着对“受控码”的映射,在变换时,把选取的“受控码”,按相应的映射表进行映射变换,“映射控制码”的每一种码值均对应有一种映射表格,使“受控码”在相应的映射表格里找到到对应值,
其中的“运算控制码”,对应控制着对“受控码”的运算,在变换时,把选取的“受控码”按位或按分组进行运算,“运算控制码”的每一种码值对应一种基本运算和逻辑运算,使“受控码”进行相应的运算变换,
其中的“重复控制码”,控制着对“受控码”的变换的重复次数,在变换过程“重复控制码”的每一种码值对应一种重复次数,或者,这种变换的重复次数是固定的。
9.根据权利要求1所述的“变易密钥的码控式数据加密方法”,其特征是:
这种在“控制码”的控制下对“受控码”进行的选择、分组、移位、替代、映射、运算、重复的变换,其变换模式或者是全部进行的、或者部分进行的,
在时间顺序上,或者是并列同步进行的、或者是前后分步进行的、或者是混合进行的,这种属于不同类型的变换,按工作步骤,分为“时分复变”、“片分复变”、“码分复变”、“混合复变”,
其中所述的“时分复变”,是指选择、分组、移位、替代、映射、运算是按次序进行的,其控制方式称为“时分复控”或“时分码控”,
其中所述的“片分复变”,是指选择、分组、移位、替代、映射、运算是按“数码”分片段进行的,其控制方式称为“片分复控”或“片分码控”,
其中所述的“码分复变”,是指选择、分组、移位、映射、运算是按数码定义进行的,其控制方式称为“码分复控”或“码分码控”,
其中所述的“混合复变”,是指选择、分组、移位、替代、映射、运算是上述三种步骤混合进行的,其控制方式称为“混分复控”或“混分码控”,
它们之间的关系是,在整体的“变换”下有多个“变换模式”,每个“变换模式”下,有多个“子变换”。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811350112 | 2018-11-08 | ||
CN2018113501124 | 2018-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159721A true CN111159721A (zh) | 2020-05-15 |
CN111159721B CN111159721B (zh) | 2024-03-01 |
Family
ID=70555597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811538759.XA Active CN111159721B (zh) | 2018-11-08 | 2018-12-11 | 变易密钥的码控式数据加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159721B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287407A (zh) * | 2020-10-30 | 2021-01-29 | 芜湖安途智能制造有限公司 | 一种安全加密芯片 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997012459A1 (en) * | 1995-09-26 | 1997-04-03 | Xian Kan Lin | A method for encryption of file |
CN1246007A (zh) * | 1999-02-10 | 2000-03-01 | 河北工业大学 | 排列码加密解密方法及其排列码加密解密器 |
DE102006030325A1 (de) * | 2006-06-30 | 2008-01-03 | Gerhard Kosel | Verfahren für die Konstruktion eines Schlüsselstrom-Generators zur Erzeugung von Pseudo-Zufallszahlen für kryptographische Anwendungen |
CN101742060A (zh) * | 2008-11-21 | 2010-06-16 | 康佳集团股份有限公司 | 动态密码控制方法 |
WO2011015510A1 (de) * | 2009-08-06 | 2011-02-10 | Fachhochschule Schmalkalden | Echtzeitfähige quantencomputersichere verschlüsselung von daten aller art |
CN104125059A (zh) * | 2013-04-28 | 2014-10-29 | 陈麟华 | 复合时变密码和时变式数据加密方法 |
CN104868995A (zh) * | 2014-02-20 | 2015-08-26 | 陈麟华 | “编码约定控制变换式”信息认证法和信息加解密法 |
CN107147487A (zh) * | 2017-05-23 | 2017-09-08 | 高胜法 | 对称密钥随机分组密码 |
-
2018
- 2018-12-11 CN CN201811538759.XA patent/CN111159721B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997012459A1 (en) * | 1995-09-26 | 1997-04-03 | Xian Kan Lin | A method for encryption of file |
CN1246007A (zh) * | 1999-02-10 | 2000-03-01 | 河北工业大学 | 排列码加密解密方法及其排列码加密解密器 |
DE102006030325A1 (de) * | 2006-06-30 | 2008-01-03 | Gerhard Kosel | Verfahren für die Konstruktion eines Schlüsselstrom-Generators zur Erzeugung von Pseudo-Zufallszahlen für kryptographische Anwendungen |
CN101742060A (zh) * | 2008-11-21 | 2010-06-16 | 康佳集团股份有限公司 | 动态密码控制方法 |
WO2011015510A1 (de) * | 2009-08-06 | 2011-02-10 | Fachhochschule Schmalkalden | Echtzeitfähige quantencomputersichere verschlüsselung von daten aller art |
CN104125059A (zh) * | 2013-04-28 | 2014-10-29 | 陈麟华 | 复合时变密码和时变式数据加密方法 |
CN104868995A (zh) * | 2014-02-20 | 2015-08-26 | 陈麟华 | “编码约定控制变换式”信息认证法和信息加解密法 |
CN107147487A (zh) * | 2017-05-23 | 2017-09-08 | 高胜法 | 对称密钥随机分组密码 |
Non-Patent Citations (2)
Title |
---|
YONG WANG: "A chaos-based image encryption algorithm with variable control parameters", 《CHAOS, SOLITONS AND FRACTALS》, no. 2009, pages 1 - 11 * |
秦军波;王兴军;: "基于中国剩余定理和动态分组的密钥分配算法", 信息安全与通信保密, no. 06, pages 191 - 193 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287407A (zh) * | 2020-10-30 | 2021-01-29 | 芜湖安途智能制造有限公司 | 一种安全加密芯片 |
CN112287407B (zh) * | 2020-10-30 | 2021-12-10 | 武汉奇书科技有限公司 | 一种安全加密芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN111159721B (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU635466B2 (en) | Method of cryptographically transforming electronic digital data from one form to another | |
KR100657062B1 (ko) | 정보 암호화 방법 및 이 방법을 실현하는 장치 | |
EP1927212B1 (en) | Homophonic substitution symmetric key encryption | |
CN109861810B (zh) | 一种基于混沌块加密算法的数据加密方法及解密方法 | |
CN109951268B (zh) | 基于位置换和位变换的加密解密方法和装置 | |
JPH11509940A (ja) | データブロックおよび鍵を非線形的に結合する暗号方法および装置 | |
KR19990002840A (ko) | 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘 | |
Alqad et al. | A new approach for data cryptography | |
US20070189518A1 (en) | 3-D quaternion quantum fractal encryption | |
CN101814985B (zh) | 应用多混沌映射多动态s盒的分组密码系统 | |
CN116418481A (zh) | 一种文本隐私数据双重加密保护方法、装置及设备 | |
EP1059760A1 (en) | Method for the block-encryption of discrete data | |
CN111159721A (zh) | 变易密钥的码控式数据加密方法 | |
WO2000056004A1 (en) | Method and apparatus for encoding and decoding information | |
US7103180B1 (en) | Method of implementing the data encryption standard with reduced computation | |
CN116405194A (zh) | 一种基于北斗短报文的数据加密传输方法 | |
CN107493164B (zh) | 一种基于混沌系统的des加密方法和系统 | |
CN115987490A (zh) | 一种适用于arx结构的轻量级分组密码算法白盒化构造方法 | |
RU2738321C1 (ru) | Способ криптографического преобразования и устройство для его осуществления | |
CN110247754B (zh) | 一种分组密码fbc的实现方法及装置 | |
KR101076747B1 (ko) | 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치 | |
CN110061832B (zh) | 以汉字作为密码的对称密码算法的实现方法 | |
CN108133450A (zh) | 一种基于混合反馈的混沌图像加密方法 | |
KR101790325B1 (ko) | 암호화 및 복호화 시스템 | |
CN108777622B (zh) | 一种二进制流散列取模加密解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |