字节上不同位置的比特重新赋值、相互替换的加密方法

文档序号:7926256阅读:364来源:国知局
专利名称:字节上不同位置的比特重新赋值、相互替换的加密方法
字节上不同位置的比特重新赋值、相互替换的加密方法
技术领域
本发明涉及计算机数据处理技术,尤其涉及计算机数据加密的技术。背景技术
传统的移位法就是将明文字母表中的字母循环左移一定位置,构成密文字 母表,这种密码的交换过程就是将明文字母表中的字母的位置下标变换为数字, 与秘钥进行加法运算,其结果作为密文字母表中的字母的位置下标,该位置相
对应的字母即为密文字母。DES加密标准采用分组密码体制,就是对密码多次 进行移位和替代的混合运算,其过程主要是将64位明文分组进行初始置换,然 后分成左右两部分进行循环移位与变换,最后形成密文。
发明内容
本发明的目的是通过一种字节上不同位置的比特重新赋值、相互替换的加 密方法,原始的文件数据经过比特重新赋值、赋值参数生成、替换参数生成、 相关参数合并等步骤,转换生成赋值参数和替换参数,生成的替换参数在总量 上少于原始的文件数据,必须和赋值参数共同组合,才能形成加密文件,从而 达到加密的目的。
为了解决上述技术问题,本发明所采用的技术方案是提供一种字节上不 同位置的比特重新赋值、相互替换的加密方法,该方法包括以下步骤比特重 新赋值、赋值参数生成、替换参数生成、相关参数合并,经过比特重新赋值、 赋值参数生成、替换参数生成、相关参数合并等步骤,依次对文件数据中相关 字节编码的某一位置上的比特进行重新赋值处理,生成赋值参数,比特重新赋 值处理后,部分原始编码的比特数值发生变化,部分原始编码的比特数值未发 生变化,这些编码的若干比特在字节中的排列位置再经过相互替换,在替换参 数生成过程结束以后,生成的替换参数在总量上少于原始的文件数据,必须和 赋值参数共同组合,才能形成加密文件,从而达到加密的目的。
根据本发明的一优选方法,在比特重新赋值的过程中,要求同时被选择进 行处理的比特在各字节中所在的排列位置相同,然后,依次对文件数据中的每 一个字节编码第1位置上的比特数值进行赋值分析和处理,判断该位置上的比 特数值是否为0,如果为0,该位置上的比特数值维持不变,如果为1,就要对 该位置上的比特数值进行赋值处理,使其数值为0,比特重新赋值事件可以通过生成赋值参数来表示,赋值参数为1个字节,赋值参数字节上的8个比特正好 一一对应同时进行赋值处理的8个字节中每一个字节中第1位置上的比特,接 着,将经过比特重新赋值处理后生成的编码的若干比特在字节中的排列位置重 新排列,按照字节和相邻字节中比特原有位置的正常排列顺序排列的方式,对 单个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替 换处理,在替换参ft生成的过程结束以后,生成的替换参数在字节总量上少于 原始文件的数据量,最后,将生成的替换参数字节和生成的赋值参数字节进行 组合,形成加密文件。
根据本发明的一优选方法,在比特重新赋值的过程中,要求同时被选择进 行处理的比特在各字节中所在的排列位置还可以不同,对文件数据中的每一个 字节编码相同或者不同位置上的比特数值进行赋值分析和处理,判断该位置上 的比特数值的标准还可以为1,将经过比特重新赋值处理后生成的编码的若干比 特在字节中的排列位置重新排列的方式还可以有多种。
本发明的有益效果是通过本发明的一种字节上不同位置的比特重新赋值、 相互替换的加密方法,,经过比特重新赋值、赋值参数生成、替换参数生成、相 关参数合并等步骤,依次对文件数据中相关字节编码的某一位置上的比特进行 重新赋值处理,生成赋值参数,比特重新赋值处理后,部分原始编码的比特数 值发生变化,部分原始编码的比特数值未发生变化,这些编码的若干比特在字 节中的排列位置再经过相互替换,在替换参数生成过程结束以后,生成的替换 参数在总量上少于原始的文件数据,必须和赋值参数共同组合,才能形成加密 文件,从而达到加密的目的。

图1是本发明的工作原理流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
图l是本发明的工作原理流程示意图,主要包括以下步骤步骤ll比特重 新赋值,步骤13赋值参数生成,步骤15替换参数生成,步骤17相关参数合并。
本发明的技术路线包括比特重新赋值ll、赋值参数生成13、替换参数生成 13、相关参数合并17等步骤,通过这些步骤,将文件数据中相关字节编码的某 一位置上的比特进行重新赋值处理,在进行赋值处理的过程中,使这些相关字 节编码的所在位置及其字节编码某些比特的所在位置彼此建立起内在的联系, 这种内在联系可以通过多种数学模型完成,在赋值处理完成时生成赋值参数,比特重新赋值处理后,部分原始编码的比特数值发生变化,部分原始编码的比 特数值未发生变化,这些编码的若干比特在字节中的排列位置再经过相互替换, 在替换参数生成过程结束以后,生成的替换参数在总量上少于原始的文件数据, 必须和赋值参教共同组合,才能形成加密文件。
步骤ll:比特重新赋值
按照本发a力技术方案的要求,所说比特重新赋值,就是按照一定的规律性, 将原始数据中某些相关字节编码的某些位置上的比特进行重新赋值处理,使其 比特数值由1或0赋值为0或1,举例来说,将一组原始数据各字节中处于第1 位置的比特重新赋值,凡是比特数值为1的均赋值为0,或者凡是比特数值为0 的均赋值为1,经过赋值处理以后,各个字节第1位置上的比特数值均为0或1, 由于"各个字节第1位置上的比特数值均为0或1"这个特征具有明显的规律 性,在技术上是可以重现的、可控的,这就为本发明提供了技术上的保证。
按照本发明技术方案的权利要求,在比特重新赋值的过程中,"数量为8或 者8的倍数的若干组字节中相关字节上指定位置的比特数值如果为1,可以同时 将其赋值为0。"在比特重新赋值的过程中,要根据预先制定的加密方案,依次 对文件数据中的每一个字节编码的某一位置上的比特数值进行赋值分析和处 理,判断该位置上的比特数值是否为0,如果为0,该位置上的比特数值维持不 变,如果为1,就要对该位置上的比特数值进行赋值处理,使其数值为0,反之, 也可以此类推。比特重新赋值处理可能导致每一个字节的原始编码发生变化。 本发明的技术方案要求,在比特重新赋值结束时,发生数值变化和未发生数值 变化的字节编码均构成替换参数生成的依据。比特重新赋值事件可以通过生成 一个赋值参数来表示,赋值参数为1个字节,赋值参数字节不同位置上的比特 数值1或0用来表示需要处理的字节的原始编码发生数值变化或未发生数值变 化的不同状态,这两种状态均作为赋值参数生成的依据。
本发明之所以将文件数据分成字节数量为8的若干组字节,是因为按照本 发明的技术要求,在比特重新赋值的步骤结束时,需要生成一个赋值参数,可 以规定赋值参数为一个字节,要求参数的编码包含同时进行赋值处理的8个字 节上彼此相关位置上的比特数值是否发生变化的信息。 一个字节由8个比特组 成,作为赋值参数字节上的8个比特正好——对应同时进行赋值处理的8个字 节中每一个字节上的某个比特。本发明之所以还可以将文件数据分成一组字节 数量为8的倍数的若干组字节,是因为在这种状态下,赋值参数字节上的8个 比特可以按照8的倍数对应彼此间隔距离满足8的倍数的相关字节上彼此相关的比特,作为赋值参数字节上的8个比特同样正好——对应8个字节中每一个 字节上的某个比特。当然,赋值参数字节上的8个比特对应8个字节倍数的一 组数据相对与对应8个字节的一组数据,其运算更加复杂。本发明为了筒洁明 了 ,只针对赋值参数字节上的8个比特对应8个字节这一状况进行举例说明。
按照本发明技术方案的权利要求,在比特重新赋值的过程中,"字节中相关 字节上指定位置的比特凄t值如果为0,可以同时将其赋值为1。"因此,在比特 重新赋值处理步骤中,使需要处理的比特数值由1赋值为0的具体方法及其遵 循的有关规定,同样可以适用于使需要处理的比特数值由0赋值为1的办法及 其与之配套的有关规定所替换,同样在本发明的保护范围中。本说明书就不一 一描述。
按照本发明技术方案的权利要求,在比特重新赋值的过程中,"同时进行比 特重新赋值处理的一组字节中的相关字节上,被选择进行处理的比特在各字节 中所在的排列位置可以相同或不同。"以需要进行处理的数据为8个字节进行说 明
建立一组字节编码公式如下 A (A1A2A3A4A5A6A7A8) B ( B1B2B3B4B5B6B7B8 ) C ( C1C2C3C4C5C6C7C8 ) D (D1D2D3歸5D6D7D8 ) E ( E1E2E3E4E5E6E7E8 ) F ( F1F2F3F4F5F6F7F8 ) G (G1G2G3G4G5G6G7G8) H ( H1H2H3H4H5隨7H8 )
其中
A、 B、 C、 D、 E、 F、 G、 H表示字节,A1—A8、 B1-B8、 C1-C8、 Dl-D8、 E1—E8、 Fl-F8、 Gl-G8、 Hl-H8分别表示字节A、 B、 C、 D、 E、 F、 G、 H中顺序排列的比 特,1-8表示比特在字节中的位置;字节A由比特Al-A8组成,即Al是字节A 的第l位置上的比特,依次类推,A8是字节A的第8位置上的比特,依次类推, 字节H由比特Hl-H8组成,即H1是字节H的第l位置上的比特,依次类推,H8 是字节H的第8位置上的比特。
将上述字节编码简化,则形成一组筒化的字节编码 A1A2A3A4A5A6A7A8 B1B2B3B4B5B6B7B8 C1C2C3C4C5C6C7C8 D1D2D3D4D5歸7D8 E1E2E3E4E5E6E7E8 F1F2F3F4F5F6F7F8 G1G2G3G4G5G6G7G8 H1H2H3H4H5H6H7H8
现在进行赋值处理,规定在赋值处理中,被选择进行处理的比特在各字节 中所在的排列位置相同,因此,可以要求各个字节的第一个比特的数值赋值, 经过比特重新赋值处理后,上述一组简化的字节编码各个字节上第1位置的比 特A1、 Bl、 Cl、 Dl、 El、 Fl、 Gl、 Hl的数值均为0,则形成一组赋值处理的简化的字节编码
01A2A3A4A5A6A7A8 01B2B3B4B5B6B7B8 01C2C3C4C5C6C7C8 01D2歸4D5歸7D8 01E2E3E4E5E6E7E8 01F2F3F4F5F6F7F8 01G2G3G4G5G6G7G8 01H2H3H4H5H6H7H8
如果规定在赋值处理中,被选择进行处理的比特在各字节中所在的排列位 置不同,那么,可以要求A字节上第l位置、B字节上第2位置、C字节上第3 位置、D字节上第4位置、E字节上第5位置、F字节上第6位置、G字节上第7 位置、H字节上第8位置的比特重新赋值,经过比特重新赋值处理后,上述一组 筒化的字节编码则形成另外一组f武值处理的简化的字节编码 01A2A3A4A5A6A7A8 B102B3B4B5B6B7B8 C1C203C4C5C6C7C8 D1D2D304D5歸7D8 E1E2E3E405E6E7E8 F1F2F3F4F506F7F8 G1G2G3G4G5G607G8 H1H2H3H4H5H6H708
需要指出的是,被选择进行处理的比特在各字节中所在的排列位置不同, 其加密过程更加复杂,破解难度也随之增强。本说明书就不一一描述。
比特重新赋值的具体过程如下
随机选取的文件数据字节的二进制编码如下 01010010 01100001 01110010 00100001 00011010 00000111 00000000 11001111
10010000 01110011 00000000 00000000 00001101 00000000 00000000
00000000 00000000 00000000 00000000 11011101 00101011 01110100 11000000
10000010 00110011 00000000 00001110 11011100 01000010 00000000 00111000
要求在对上述数据进行比特重新赋值处理的过程中,被选择进行处理的比 特在各字节中所在的排列位置相同且在各个字节上的第1位置。
上述文件数据4行8列,总字节合计32个,其中,字节中编码第l位置上 的比特数值为1的字节包括第1行的第8字节、第2行的第1字节、第3行的 第5、 8字节、第4行的第1、 5字节,其余字节中编码第1位置上的比特数值 均为0。
现在,对上述字节的编码进行赋值处理,第l行第8字节的编码为11001111,
其第l位置上的比特数值为1,比特重新赋值处理就是将这个位置上的比特数值
赋值为0,赋值处理后,第1行第8字节的原始编码发生变化,其数值调整为 01001111,第1行第1-7字节编码分别为01010010、 01100001、 01110010、00100001、 00011010、 00000111、 00000000,其字节第1位置上的比特数值均 为0,无需进行赋值处理,其字节的原始编码保持不变。
依次类推,经过比特重新赋值处理后,上述随机选取的文件数据字节的二
进制编码变化如下
01010010 01100G01 01110010 00100001 00011010 00000111 00000000 01001111
00010000 01110011 00000000 00000000 00001101 00000000 00000000 00000000
00000000 00000000 00000000 00000000 01011101 00101011 01110100 01000000
00000010 00110011 00000000 00001110 01011100 01000010 00000000 00111000
经过比特重新赋值的处理后,上述文件数据还是4行8歹'J ,总字节合计还 是32个,但是,发生变化后的全部文件数据字节的二进制编码的第l位置上的 比特数值均为0,这就为将来的替换参数生成步骤的实现提供了技术可行的依据。
如果要求在对上述数据进行比特重新赋值处理的过程中,被选择进行处理
的比特在各字节中所在的排列位置不同,要求各行第1字节上第1位置、第2 字节上第2位置、第3字节上第3位置、笫4字节上第4位置、第5字节上第5 位置、第6字节上第6位置、第7字节上第7位置、第8字节上第8位置的比
特重新赋值,经过比特重新赋值处理后,上述随机选取的文件数据字节的二进
制编码变化如下
01010010 00100001 01010010 00100001 00010010 00000011 00000000 11001110
00010000 00110011 00000000 00000000 00000101 00000000 00000000
00000000 00000000 00000000 00000000 11010101 00101011 01110100 11000000
00000010 00110011 00000000 00001110 11010100 01000010 00000000
oomooo
可以看出,被选择进4亍处理的比特在各字节中所在的排列位置相同与不同, 比特重新赋值处理的编码变化的结果完全不一样。步骤13:赋值参数生成
按照本发明技术方案的要求,所说赋值参数生成,就是指在比特重新赋值 的过程中,要根据字节编码某个位置上的比特是否重新赋值这一事件产生与之 对应的若干指令,这些指令称为赋值参数,赋值参数可以为一个字节,该字节 的8个比特一一对应文件数据中的8个字节里的每一个字节中的某一个特定位 置上的比特,赋值参数字节不同位置上的比特数值(0或1)表示与其对应的文 件数据中的8个字节里的每一个字节中的某一个特定^:置上的比特在比特重新 赋值的过程中是否发生重新赋值事件。因此,比特是否重新赋值这个事件是赋 值参数生成的依据。如果文件数据中的8个字节里的某一字节的某一个特定位 置上的比特重新赋值,赋值参数字节中与之对应的一个特定位置上的比特赋值 为1或0,如果文件数据中的8个字节里的某一字节的某一个特定位置上的比特 原本为0,赋值参数字节中与之对应的一个特定位置上的比特赋值为0或1。
按照本发明技术方案的权利要求,在赋值参数生成过程中,"生成的赋值参 数字节上的8个比特一一对应一组字节中的8个字节中每1个字节上指定位置 的1个比特,所对应的8个字节中的每1个字节上被指定的比特与其它7个字 节上被指定的字节彼此相关。","赋值参数字节中的任意1个比特所对应的一组 字节中的8个字节中每1个字节上指定位置的比特在字节里所在的排列位置与 其它字节上指定的比特在字节里所在的排列位置可以相同或不同。"
本发明之将文件数据分成字节数量为8的若干组字节,是因为在比特重新 赋值的步骤结束时,需要生成一个赋值参数,在这个参数上应该包含以下信息 比特在字节上的排列位置,比特是否重新赋值。生成的赋值参数为一个字节, 作为赋值参数字节上的8个比特正好——对应同时进行赋值处理的8个字节中 每一个字节上的某个比特。与此同时,还要求所对应的8个字节中的每1个字 节上被指定的比特与其它7个字节上被指定的字节彼此相关,这些彼此相关的 关联性,必须M术上可以通过多种数学模型表达出来。生成的赋值参数字节 上的8个比特一一对应一组字节中的8个字节中每1个字节上指定位置的1个 比特,其方式可以有多种可以由赋值参^:字节上的8个比特——对应8个字 节中每l个字节上第l、 2、 3、 4、 5、 6、 7或者第8位置上的比特,在这种状 态下,赋值参^t字节中的任意1个比特所对应的一组字节中的8个字节中每1 个字节上指定位置的比特在字节里所在的排列位置与其它字节上指定的比特在 字节里所在的排列位置是相同的;也可以由赋值参数字节上的第1位置的比特 对应8个字节中第1字节上第1位置的比特,由赋值参数字节上的第2位置的比特对应8个字节中第1字节上第2位置的比特,依次类推,由赋值参数字节 上的第8位置的比特对应8个字节中第1字节上第8位置的比特,等等,在这 种状态下,赋值参数字节中的任意1个比特所对应的一组字节中的8个字节中 每1个字节上指定位置的比特在字节里所在的排列位置与其它字节上指定的比 特在字节里所在的排列位置是不同的。
按照本发明技术方案的权利要求,在赋值参数生成过程中,"文件数据中某 一字节某一个特定位置上的比特重新赋值,赋值参数字节中与之对应的比特赋 值为1",或者"文件数据中某一字节某一个特定位置上的比特重新赋值,赋值 参数字节中与之对应的比特赋值为0"。在赋值参数生成过程中,允许赋值参数 的比特用0或1两种不同的数值表达比特是否重新赋值这一事件,增加了加密 数据的破解难度,因此,同样属于本发明的保护范围。本说明书就不——描述。
赋值参数生成的具体过程如下
继续以上述随机选取的文件数据字节的二进制编码为例说明,该编码如下 01010010 01100001 01110010 00100001 00011010 00000111 00000000 11001111
00000000 00000000 00000000 00000000 11011101 00101011 01110100 11000000
10000010 00110011 00000000 00001110 11011100 01000010 00000000 00111000
现在,对上述字节的编码进行赋值参数生成的处理,同时要求"比特重新 赋值,赋值参数字节中与之对应的比特赋值为1",在赋值过程中,第l行的第
1字节编码为01010010,由于其第1位置上的比特数值为0,无需进行赋值处理,
其字节的原始编码保持不变,需要生成的与之对应的赋值参数字节中第1位置
上的比特为0,表示第1行的第1字节中第1位置上的比特数值没有进行赋值处 理,第1行的第2-7字节编码分别为01100001、 01110010、 00100001、 00011010、 00000111、 00000000,由于其第l位置上的比特数值同样分别为0,也无需进行
赋值处理,其字节的原始编码保持不变,需要生成的与之对应的赋值参数字节
中第2-7位置上的比特同样为0,表示第1行的第2-7字节中第1位置上的比特 数值均没有进行赋值处理,第1行的第8字节编码为11001111,由于其第1位
置上的比特数值为1,需要进行赋值处理,其字节的原始编码随之发生变化,需要生成的与之对应的赋值参数字节中第8位置上的比特为1,表示第1行的第8 字节中第1位置上的比特数值进行赋值处理,至此,在第1行的第1-8字节的 比特重新赋值处理结束的同时,与之相对应生成1个赋值参数字节,该赋值参 数字节的编码为00000001。
依次类推,对应上述32个随机选取的文件数据字节的二进制编码生成4个 赋值参数字节,4个赋值参数字节的编码如下
00000001 10000000 10001001 10001000
如果对上述字节的编码进行赋值参数生成的处理,同时要求"比特重新赋 值,赋值参数字节中与之对应的比特赋值为0",生成的4个赋值参数字节的编 石马如下
10000000 01111111 01110110 01110111
比特重新赋值过程中,赋值参数字节中与之对应的比特赋值为0或1,生成 的赋值参数完全不一样。 步骤15:替换参数生成
按照本发明技术方案的要求,所说替换参数生成,就是将经过比特重新赋 值处理后生成的编码的若干比特在字节中的排列位置重新排列,在替换参数生 成的过程中,可以用某个字节编码中某些特定位置上的比特数值替换该字节和 其它字节编码中另外一些特定位置上的比特数值,替换排列完成后生成的编码 称为替换参数,上述排列通过单个字节中不同位置的比特相互替换和彼此相关 的字节之间的不同位置的比特的相互替换实现的,实现的方式有多种。特别需 要指出的是,无论采用何种方式,均要达到以下目标在替换参数生成的过程 结束以后,生成的替换参数在字节总量上少于原始的文件数据。这是本发明的 技术特征。因为,经过比特重新赋值处理后,全部数据字节编码上第1位置的 比特数值为0,这种有失见律的排列为字节本身或者字节和其它字节比特数值的 相互移动替换,提供了技术上的条件。在比特重新赋值步骤中经过处理的字节 编码之所以可以在替换参数生成的步骤中进行重新排列组合,基于以下条件的 出现文件数据中相关字节编码的位置排列或者字节编码中某些比特的位置的 排列有内在的规律性,这种规律性可以通过数学模型的计算重复实现且重复实 现的结果完全一样,因此,这种规律是可以完全控制和操作的。比特重新赋值 步骤实现了经过处理的全部字节中的编码上第1位置的比特数值为0的技术要 求,赋值参数生成步骤使比特重新赋值步骤的完成具有规律性和操作性,因此, 建立在上述技术条件上的替换参数生成步骤就具备了技术保证。下面进一步详细说明。
继续以上述一组简化的字节编码为例说明 A1A2A3A4A5A6A7A8 B1B2B3B4B5B6B7B8 C1C2C3C4C5C6C7C8 D1D2D3D4D5D6D7D8 E1E2E3E4E5E6E7E8 F1F2F3F4F5F6F7F8 G1G2G3G4G5G6G7G8 H1H2H3H4H5H6H7H8
建立一组编码比特位置排列序号 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
将一组筒化的字节编码和一组编码比特位置排列序号合并,建立一组简化 的字节编码比特位置排列顺序表
Al0iA2o2A3o3A4o4A5o5A6o6A7o7A8o8 Bl09B2i0B3iiB4i2B5i3B6i4B7i5B8i6 Cli7C2i8C3i9C42oC52iC622C723C824 Dl25D226D327D428D529D63oD73iD832 EI33E234E335E436E537E638E739E840 FI41F242F343F444F545F646F747F848 Gl49G25oG35iG452G553G654G755G856 Hl57H258H359H460H56iH662H763H864
在一组简化的字节编码比特位置排列顺序表中可以看到由下标表示的Ol — 64的序号,其中,下标01表示比特Al排列位置的序号,下标02表示比特A2 排列位置的序号,依次类推,下标64表示比特H8的排列位置的序号。
在经过本发明的比特重新赋值的处理以后, 一组简化的字节编码各个字节 中第l位置上的比特的比特数值均为0,形成一组赋值处理的筒化的字节编码 01A2A3A4A5A6A7A8 01B2B3B4B5B6B7B8 01C2C3C4C5C6C7C8 01D2D3D4D5D6D7D8 01E2E3E4E5E6E7E8 01F2F3F4F5F6F7F8 01G2G3G4G5G6G7G8 01H2H3H4H5H6H7H8
重新建立一组赋值处理的简化的字节编码比特位置排列顺序表 01oiA2o2A3o3A4o4A5o5A6o6A7o7A8o8 01o9B2ioB3iiB4i2B5i3B6i4B7i5B8i6 01l7C2i8C3i9C42oC52iC622C723C824 Ol25D226D327D428D529D63oD73iD832 0l33E234E335E436E537E638E739E840 014iF242F343F444F545F646F747F848 0149G250G35iG452G553G654G755G856 Ol57H258H359H46oH56iH662H763H864
由于一组赋值处理的简化的字节编码比特位置排列顺序表中各个字节的第
l位置的比特数值均为O,因此,对一组赋值处理的简化的字节编码进行适当的
替换参数生成的处理就变得具有可控的规律性和操作性,可以通过建立相关的
数学模型来表达,这就为用某字节编码中某些特定位置上的比特数值替换该字 节和其它字节编码中另外一些特定位置上的比特数值提供了技术条件。
现在进行替换参数生成的处理。按照本发明技术方案的权利要求,在替换参数生成的过程中,"单个字节中 不同位置的比特相互替换和彼此相关的字节之间的不同位置的比特的相互替
换"的方式有多种
1、 按照字节和相邻字节中比特原有位置的正常排列顺序排列的方式,对单 个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换 处理
该方式要求在替换参数生成的过程中比特位置排列序号按照原有次序保持 不变,即一组编码比特位置排列序号在替换参数生成的过程结束以后排列如下 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
现在,可以将A字节中的比特A2、 A3、 A4、 A5、 A6、 A7、 A8和B字节中的 比特B2组成一个新的A字节,依次顺序排列,将B字节中的比特B3、 B4、 B5、 B6、 B7、 B8和C字节中的比特C2、 C3组成一个新的B字节,将C字节中的比特 C4、 C5、 C6、 C7、 C8和D字节中的D2、 D3、 D4组成一个新的C字节,将D字节 中的D5、 D6、 D7、 D8和E字节的E2、 E3、 E4、 E5组成一个新的D字节,将E 字节中的E6、 E7、 E8和F字节的F2、 F3、 F4、 F5、 F6组成一个新的E字节, 将F字节中的F7、 F8和G字节中的G2、 G3、 G4、 G5、 G6、 G7组成一个新的F 字节,将G字节中的G8和H字节中的H2、 H3、 H4、 H5、 H6、 H7、 H8组成一个 新的G字节,由于原H字节中的比特2—8全部参与了新的G字节的比特数值的 替换,新生成的H字节中的全部比特数值均为0,最后,生成由替换参数组成的 编码
A2A3A4A5A6A7A8A2 B3B4B5B6B7B8C2C3 C4C5C6C7C8D2D3D4 D5D6D7D8E2E3E4E5 E6E7E8F2F3F4F5F6 F7F8G2G3G4G5G6G7 G8H2H3謹5H6H7H8 0 0 0 0 0 0 0 0
与此对应的由替换参数组成的编码比特位置排列顺序表如下 A2oiA3o2A4o3A5o4A6o5A7o6A8o7A2。8 B3o9B4ioB5iiB6i2B7i3B8i4C2i5C3i6 C4i7C5i8C6i9C72oC82iD222D323D424 D525D626D727D828E229E33oE43iE532 E633E734E835F236F337F438F539F64() F74iF842G243G344G445G546G647G748 G849H250H35lH452H553H654H755H856 O57 O58 O59 060 061 。62 063 064
2、 按照字节和相邻字节中比特原有位置的正常排列交替排列的方式,对单
个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换
处理该方式要求在替换参数生成的过程中比特位置排列序号按照原有次序交替
排列,即一组编码比特位置排列序号在替换参数生成的过程结束以后排列如下 01 03 02 04 05 07 06 08 09 11 10 12 13 15 14 16 17 19 18 20 21 23 22 24 25 27 26 28 29 31 30 32 33 35 34 36 37 39 38 40 41 43 42 44 45 47 46 48 49 51 50 52 53 55 54 56 57 58 59 60 61 62 63 64 其中57—64的序号维持不变。
与此对应的由替换参数组成的编码比特位置排列顺序表如下 A2oiA403A3o2A5o4A6o5A8o7A7o6A208 B3o9B5iiB410B6i2B7i3C2i5B8i4C3i6 C4i7C6i9C5i8C72oC82iD323D222D424 D525D727D626D828E229E43iE33oE532 E633E835E734F236F337F539F438F640 F74iG243F842G344G445G647G546G748 G849H35iH250H452H553H755H654H856 O57 O58 O59 060 061 062 063 064
3、 按照字节和相邻字节中比特原有位置的奇偶排列顺序排列的方式,对单 个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换 处理
该方式要求在替换参数生成的过程中比特位置排列序号按照原有次序的奇 数偶数次序顺序排列,即一组编码比特位置排列序号在替换参数生成的过程结 束以后排列如下
01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 57 58 59 60 61 62 63 64 其中57—64的序号维持不变。
与此对应的由替换参数组成的编码比特位置排列顺序表如下 A20iA403A6o5A8o7B3o9B5iiB7i3C2i5 C4i7C6i9C82iD323D525D727E229E43i E633E835F337F539F74iG243G445G647 G849H35iH553H755A3o2A5o4A7o6A2o8 B4ioB6i2B8i4C3i6C5i8C72oD222D424 D626D828E33oE532E734F236F438F640 F842G344G546G748H250H452H654H856 O57 058 059 060 06i 062 063 064
4、 按照字节和相邻字节中比特原有位置的奇偶排列交替排列的方式,对单 个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换 处理
该方式要求在替换参数生成的过程中比特位置排列序号按照原有次序的奇 数偶数次序交替排列,即一组编码比特位置排列序号在替换参数生成的过程结 束以后排列如下01 03 05 07 02 04 06 08 09 11 13 15 10 12 14 16 17 19 21 23 18 20 22 24 25 27 29 31 26 28 30 32 33 35 37 39 34 36 38 40 41 43 45 47 42 44 46 48 49 51 53 55 50 52 54 56 57 58 59 60 61 62 63 64 其中57—64的序号维持不变。
与此对应的由替换参数组成的编码比特位置排列顺序表如下 A20iA403A6o5A8o7A3o2A5o4A7o6A208 B3o9B5iiB7i3C2i5B4i0B6i2B8i4C3i6 C417C6i9C82iD32;C5i8C72oD222D424 D525D727E229E43iD626D828E33oE532 E633E835F337F539E734F236F438F640 F7"G243G445G647F842G344G546G748 G849H35iH553H755H25oH452H654H856 057 058 059 060 06l 062 063 064
5、 按照字节和相邻字节中比特原有位置的等差排列顺序排列的方式,对单 个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换 处理
该方式要求在替换参数生成的过程中比特位置排列序号按照原有次序的等 差排列次序顺序排列,即一组编码比特位置排列序号在替换参数生成的过程结 束以后排列如下
01 04 07 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 02 05 08 11 14 17 20 23 26 29 32 35 38 41 44 47 50 53 56 03 06 09 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 58 59 60 61 62 63 64 其中57—64的序号维持不变。
与此对应的由替换参数组成的编码比特位置排列顺序表如下
A2oiA504A8o7B4i0B7i3C3i6C6i9D222 D525D828E43iE734F337F64oG243G546 G849H452H755A3o2A6o5A2o8B5iiB8i4 C4i7C72oD323D626E229E532E835F438
F74iG344G647H25oH553H856A4o3A7o6 B3o9B6i2C2i5C5i8C82iD424D727E33o E633F236F539F842G445G748H35iH654 057 058 059 060 06i 062 063 064
6、 按照字节和相邻字节中比特原有位置的等差排列交替排列的方式,对单 个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换 处理
该方式要求在替换参数生成的过程中比特位置排列序号按照原有次序的等 差排列次序交替排列,即一组编码比特位置排列序号在替换参数生成的过程结 束以后排列如下
01 04 07 02 05 08 03 06 09 10 13 16 11 14 17 12 15 18 19 22 25 20 23 26 21 24 27 28 31 34 29 32 35 30 33 36 37 40 43 38 41 44 39 42 45 46 49 5247 50 53 48 51 54 55 56 57 58 59 60 61 62 63 64 其中57—64的序号维持不变。
与此对应的由替换参数组成的编码比特位置排列顺序表如下 A2oiA5o4A8o7A3o2A6o5A2o8A403A706 B3o9B4i0B7i3C3i6B5iiB8i4C4i7B6i2 C2i5C5i8C6i9D222D525C72oD323D626 C82iD424D727D828E43iE734E229E532 E835E33oE633F236F337F64oG243F438 F74iG344F539F842G445G546G849H452 G647H250H553G748H35iH654H755H856 O57 058 059 060 061 062 063 064
经过替换参数生成的处理后,上述编码生成一组由8个字节组成的替换参 数,但是,其中最后l个字节的编码为0。本发明的技术要求是,如果全部数据 中,由若干个字节构成的一组字节中相互之间彼此各有一个字节的编码相同, 这个字节在一组字节中的排列顺序有一定的规律性,这个规律性可以用数学模 型表达,则这个字节可以忽略不计。在举例说明中,有若干组字节,每一组字 节的数量为8,经过本发明的比特重新赋值和替换参数生成的处理后,每一组字 节中必有1个字节的编码及其排列位置在各组字节中相同,这个规律性一定可 以通过数学模型表达。因此,上述编码生成的一组由8个字节组成的替换参数 可以用由7个字节组成的一组等价的替换参数表达 A2oiA5o4A8o7A3o2A6o5A2o8A4o3A7o6 B3o9B4ioB7i3C3i6B5iiB8i4C4i7B6i2 C2i5C5i8C6i9D222D525C72oD323D626 C82iD424D727D828E43iE734E229E532 E835E33oE633F236F337F64oG243F438 F74iG344F539F842G445G546G849H452 G647H250H553G748H35iH654H755H856
为此,在经过本发明的比特重新赋值和替换参数生成的处理后, 一组由8
个字节组成的编码转换成一组由7个字节组成的编码,实现了在替换参数生成
的过程结束以后,生成的替换参数在字节总量上少于原始的文件数据的目标。
替换参数生成的具体过程如下 具体举例i兑明如下
随机选取的文件数据字节的二进制编码 01010010 01100001 01110010 00100001 00011010 00000111 00000000 11001111
00000000
00000000 00000000 00000000 00000000 11011101 00101011 01110100 1100000010000010 00110011 00000000 00001110 11011100 01000010 00000000 00111000
上述文件数据4行8列,总字节合计为32个。
随机选取的文件数据字节的二进制编码经过比特重新赋值处理后的二进制
编码变化如下
01010010 01100001 01110010 00100001 00011010 00000111 00000000 01001111
00000000 00000000 00000000 00000000 01011101 00101011 01110100 01000000
00000010 00110011 00000000 00001110 01011100 01000010 00000000 00111000
上述文件数据4行8列,总字节合计还是32个,全部文件数据字节的二进 制编码的第1个比特数值均为0。
这里,按照字节和相邻字节中比特原有位置的正常排列顺序排列的方式, 对单个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互
替换处理
先分析第l行二进制编码
1、按照字节和相邻字节中比特原有位置的正常排列顺序排列的方式,对单 个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互替换
处理,其方式^L定A1—A8字节顺序排列,如果A1字节第l位置上的比特数值 为0,则将Al字节第2位置上的比特数值替换Al字节第1位置上的比特数值, 将Al字节笫3位置上的比特数值替换Al字节第2位置上的比特数值,依次类 推,在完成A1字节比特数值的替换以后,开始对A2字节的比特数值进行替换。 在替换处理中,如果A1字节上已经没有多余的比特数值可以用于替换时,则选 取与Al字节相邻的A2字节中相关位置上的比特数值继续进行替换,直到Al字 节各个位置上的比特数值替换结束。然而,由于在比特重新赋值处理过程中, A1—A8字节中第1位置上的比特数值均为0,按照本发明的技术要求,可以将 其省略考虑,为此,现在需要选取与Al字节相邻的A2字节第2位置上的比特 数值去替换Al字节第8位置上的比特数值,从而完成Al字节8个比特的数值 替换。需要指出的是,由于A2字节第l位置的比特数值为0,第2位置的比特2
数值已经在此前用于替换A1字节第8位置上的比特数值,因此,A2字节的比特 数值的替换实际上是从第3位置上的比特数值开始的,将A2字节第3位置上的 比特数值替换A2字节第1位置上的比特数值,将A2字节第4位置上的比特数 值替换A2字节第2位置上的比特数值,依次类推,在A2字节上已经没有多余 的比特数值可以用于替换时,则选取与A2字节相邻的A3字节中相关位置上的 比特数值继续进行替换,将A3字节第2位置上的比特数值替换A2字节第7位 置上的比特数值,将A3字节第3位置上的比特数值替换A2字节第8位置上的 比特数值,从而完成A2字节8个比特的数值替换。继续依次类推,完成A3、 A4、 A5、 A6、 A7字节的比特数值替换。特别需要指出的是,按照本发明的技术要求, 在替换参数生成的过程结束以后,生成的替换参数在字节总量上少于原始的文 件数据。这个过程实际上从字节Al的调整就开始了,由于Al—A8字节第1位 置的比特数值均为0 (也可以均为1,也可以部分为0部分为1,其条件是字节 上这些比特位置的分布具有规律性),比特数值的每一次相互替换均是用字节上 排列位置相对在后的比特数值替换排列位置相对在前的比特数值,或者用排列 位置相对在后的字节上的某些比特数值替换排列位置相对在前的字节上的某些 比特数值。继续举例说明如下,将A7字节第8位置上的比特数值替换A7字节 第1位置上的比特数值,将A8字节第2 — 7位置上的比特数值依次顺序替换A7 字节第82—8位置上的比特数值,从而完成A7字节8个比特的数值替换。至此, 在A7字节替换完成以后,A8字节的编码变为00000000,这个编码可以忽略不 计,其原因就在于,每组8个字节的比特数值替换均会出现这种相同的结果, 即第8字节的编码数值在经过比特数值替换以后均为0。
具体分析,第1行8个字节,每个字节中第l位置的比特数值均为0, 0的 排列具有特定的规律,这个规律可以通过生成的赋值参数的信息上获取,可以 用某字节编码中某些特定位置上的比特数值替换该字节和其它字节编码中另外 一些特定位置上的比特数值,具体讲,就是将第1行第1字节中第2-8位置上 数值分别为l、 0、 1、 0、 0、 1、 0的7个比特和第2字节中第2位置上数值为1 的1个比特组成一个新字节,依次顺序排列,将第1行第2字节中第3-8位置 上数值分别为l、 0、 0、 0、 0、 l的6个比特和第3字节中第2-3位置上数值分 别为1、 1的2个比特组成一个新字节,将第1行第3字节中第4-8位置上数值 分别为l、 0、 0、 1、 0的5个比特和第4字节中第2-4位置上数值分别为0、 1、 0的3个比特组成一个新字节,将第1行第4字节中第5-8位置上数值分别为0、 0、 0、 1的4个比特和第5字节中第2-5位置上数值分别为0、 0、 1、 1的4个比特组成一个新字节,将第1行第5字节中第6-8位置上数值分别为0、 1、 0 的3个比特和第6字节中第2-6位置上数值分别为0、 0、 0、 0、 1的5个比特 组成一个新字节,将第1行第6字节中第7-8位置上数值分别为1、 1的2个比 特和第7字节中第2-7位置上数值分别为0、 0、 0、 0、 0、 0的6个比特组成一 个新字节,将第l行第7字节中第8位置上数值为0的1个比特和第8字节中 第2-8位置上数值分别为1、 0、 0、 1、 1、 1、 1的7个比特组成一个新字节, 生成的替换参数编码为
10100101 10000111 10010010 00010011 01000001 11000000 01001111 依次类推,经过比特重新赋值处理后的二进制编码再经过替换参数生成的 处理,生成的替换参数如下
10100101 10000111 10010010 00010011 01000001 11000000 01001111 00100001 U001100 00000000 00000001 10100000 00000000 00000000 00000000 00000000 00000000 00001011 10101010 11111010 01000000 00000100 11001100 00000000 11101011 10010000 10000000 00111000 现在,经过替换参数生成的处理后,生成的替换参数总字节合计28个,达
到了在替换参数生成的过程结束以后,生成的替换参数在字节总量上少乎原始 的文件数据的目标。
还可以按照字节和相邻字节中比特原有位置的奇偶排列顺序排列的方式, 对单个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互
替换处理,第1行8个字节的替换结果如下
11001001 11000001 01000011 00001011 00110010 11000110 01000011
还可以按照字节和相邻字节中比特原有位置的等差排列顺序排列的方式, 对单个字节中不同位置的比特和彼此相关的字节之间不同位置的比特进行相互
替换处理,第1行8个字节的替换结果如下
10000100 01110100 00100101 11100100 10011111 10100000 00010001
上述几种方法替换处理的结果如下,可以看出,处理的具体方式不同,得 到的加密效果也不同。
替换参数生成的方法还可以有多种组合方式,这里无须"~一举例说明。
步骤17:相关参数合并
到目前为止,尽管生成的替换参数字节的二进制编码与原始数据不同,达 到加密目的,但是,由于字节的减少,造成在还原原始数据时缺少必不可少的 还原依据,无法实现本发明的目的。因此,只要将生成的替换参数字节和生成的赋值参数字节进行组合,就可以实现本发明的目的。
生成的替换参数字节和生成的赋值参数字节的组合可以有多种方式,这里 也无须——举例i兌明。
上述字节上不同位置的比特重新赋值、相互替换的加密方法,其中比特重
新赋值处理步骤中使需要处理的比特数值由1转换成0的具体方法及其遵循的 有关规定,同样可以适用于使需要处理的比特数值由0转换成1的办法及其与
之配套的有关规定所替换,同样在本发明的保护范围中。本说明书就不一一描 述。
上述的详细描述仅是示范性描述,本领域技术人员在不脱离本发明所保护 的范围和精神的情况下,可根据不同的实际需要设计出各种实施方式。
权利要求
1、一种字节上不同位置的比特重新赋值、相互替换的加密方法,所述方法包括以下步骤a. 比特重新赋值;b. 赋值参数生成;c. 替换参数生成;d. 相关参数合并。
2、 根据权利要求1所述的字节上不同位置的比特重新赋值、相互替换的加 密方法,其特征在于al.步骤a的比特重新赋值过程中,数量为8或者8的倍数的若千组字节中 相关字节上指定位置的比特数值如果为1,可以同时将其赋值为0。a2.步骤a的比特重新赋值过程中,数量为8或者8的倍数的若干组字节中 相关字节上指定位置的比特数值如果为0,可以同时将其赋值为1。
3、 根据权利要求2所述的字节上不同位置的比特重新赋值、相互替换的加 密方法,其特征在于步骤a的比特重新赋值过程中,同时进行比特重新赋值 处理的 一组字节中的相关字节上,被选择进行处理的比特在各字节中所在的排 列位置可以相同或不同。
4、 根据权利要求l所述的字节上不同位置的比特重新赋值、相互替换的加 密方法,其特征在于步骤b的赋值参数生成过程中,生成的赋值参数字节上 的8个比特——对应一组字节中的8个字节中每1个字节上指定位置的1个比 特,所对应的8个字节中的每1个字节上被指定的比特与其它7个字节上被指 定的字节彼此相关。
5、 根据权利要求4所述的字节上不同位置的比特重新赋值、相互替换的加密方法,其特征在于生成的赋值参数字节中的任意1个比特所对应的一组字 节中的8个字节中每1个字节上指定位置的比特在字节里所在的排列位置与其 它字节上指定的比特在字节里所在的排列位置可以相同或不同。
6、 根据权利要求l、 4或5所述的字节上不同位置的比特重新赋值、相互 替换的加密方法,其特征在于步骤b的赋值参数生成过程中,文件数据中某 一字节某一个特定位置上的比特重新赋值,赋值参数字节中与之对应的比特赋 值为1。
7、 根据权利要求l、 4或5所述的字节上不同位置的比特重新赋值、相互替换的加密方法,其特征在于步驟b的赋值参数生成过程中,文件数据中某 一字节某一个特定位置上的比特重新赋值,赋值参数字节中与之对应的比特赋 值为0。
8、 根据权利要求l、 4或5所述的字节上不同位置的比特重新赋值、相互 替换的加密方法,其特征在于步骤b的赋值参数生成过程中,文件数据中某 一字节某一个特定位置上的比特数值由0赋值为1,赋值参数字节中与之对应 的比特数值赋值为1。
9、 根据权利要求l、 4或5所述的字节上不同位置的比特重新赋值、相互 替换的加密方法,其特征在于步骤b的赋值参数生成过程中,文件数据中某 一字节某一个特定位置上的比特数值由0赋值为1,赋值参数字节中与之对应 的比特数值赋值为0。
10、 根据权利要求1所述的字节上不同位置的比特重新赋值、相互替换的 加密方法,其特征在于步骤c的替换参数生成过程中,单个字节中不同位置 的比特相互替换和彼此相关的字节之间的不同位置的比特的相互替换采取下列 方式cl.按照字节和相邻字节中比特原有位置的正常排列顺序排列; c2.按照字节和相邻字节中比特原有位置的奇偶排列顺序排列; c3.按照字节和相邻字节中比特原有位置的等差排列顺序排列。
全文摘要
通过本发明的一种字节上不同位置的比特重新赋值、相互替换的加密方法,经过比特重新赋值、赋值参数生成、替换参数生成、相关参数合并等步骤,依次对文件数据中相关字节编码的某一位置上的比特进行重新赋值处理,生成赋值参数,比特重新赋值处理后,部分原始编码的比特数值发生变化,部分原始编码的比特数值未发生变化,这些编码的若干比特在字节中的排列位置再经过相互替换,在替换参数生成过程结束以后,生成的替换参数在总量上少于原始的文件数据,必须和赋值参数共同组合,才能形成加密文件,从而达到加密的目的。
文档编号H04L9/06GK101420295SQ20081021778
公开日2009年4月29日 申请日期2008年12月1日 优先权日2008年12月1日
发明者毅 刘, 畅 刘, 刘江海 申请人:刘江海
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1