本人开始就对压缩有感兴趣,研究没啥好说的,没成功,无意发现了一个数据转化过程可以当作加密使用,随后又发现了几个相似的转化,转化后的数据各不相同,只国为它们转换有一定的周期循环,就命为循环加密。
定义:二进制通过特定的计数法计算并排列得到的二进制,具有部分或全部循环的二进制数据叫循环数据,这种转化方法叫循环加密。
一般步骤:将N位的二进制数据(*1)前加1位0(*2),再将连续相同的数转化为1、01、001等以1为结束的计算法的数据(*3),并且将各个数据呈现出垂条型(*4),从垂条型的第一横排开始取,直到最后一横排,取其中的前N位(*5)。
如:0010,010010
*1 *2 *3 *4 *5
0010 00010 00111 011 0110
0
1
010010 0010010 0110111 01011 0101111
1 1
可变量:*1可在二进制转化前+或-一个数、左右对调或反码。
*2可加0,1,00,11,01,10
*3计算法有二种:下面的代表:1, 2, 3, 4, 5…(个)
1、全部循环:1,01,001,0001,00001…
0,10,110,1110,11110…
2、部分循环:0,00,010,0101,01001…
*4一般取法:从第一横排从左开始取
特殊的:从X横排从左(或右)开始取
*5可在二进制转化后+或-一个数、左右对调或反码。
全部循环(二种):
一、周期大概固定的:
如下面5种:(2^N为2的N次方)
1、将N位的二进制数据前加1位0,再将连续的1或0转化为1、01、001等以1为结束的计算法的数据,并且将各个数据连接起来,取其中的前N位。
周期分4段:1。全为0 2。最后一项为1其它为0 3。00…0010到01…1111 4。10…000到11…111
连续加密可产生(2^(N-1)-1)^2种不同结果
2、将N位的二进制数据前加1位0,再将连续的1或0转化为1、01、001等以1为结束的计算法的数据,并且将各个数据呈现出垂条型,从垂条型的第一横排开始取,直到最后一横排,取其中的前N位。
周期分3段:1。全为0 2。00…0001到01…1111 3。10…000到11…111
连续加密可产生(2^N)*((2^N)-1)种不同结果
3、将N位的二进制数据前加1位1,再将连续的1或0转化为1、01、001等以1为结束的计算法的数据,并且将各个数据呈现出垂条型, 从垂条型的第一横排开始取,直到最后一横排,取其中的前N位。
周期分1段:00…000到11…111
连续加密可产生2^N种不同结果
4、将N位的二进制数据前加2位0,再将连续的1(或0)转化为1、01、001等以1为结束的计算法的数据,
并且将各个数据呈现出垂条型,从垂条型的第一横排开始取,直到最后一横排,去掉最前最后各1位。
周期分1段:00…000到11…111
连续加密可产生2^N种不同结果
5、N位的二进制数据前1位是0加、0非0加1,加0时将连续的1(或0)转化为1、01、001等以1为结束的计算法的数据,并且将各个数据呈现出垂条型。加1时将连续的1(或0)转化为0、10、110等以0为结束的计算法的数据,并且将各个数据呈现出垂条型。
周期分4段:1。全为0 2。全为1 3。00…0010到01…1111 4。10…000到11…110
连续加密可产生(2^(N-1)-1)^2种不同结果
二、周期随N的变化而变化:
如:将N位的二进制数据前加1位0,再将连续相同的数转化为1、01、001等以1为结束的计算法的数据,并且将各个数据呈现出垂条型,从垂条型的第一横排开始取,直到最后一横排,取其中的前N位,并左右对调。
当N=3时转化如下面:(→表示转化的方向)
前:000、001、010、011、100、101、110、111
后:000、010、110、100、011、111、101、001
循环:000→000 001→010→110→101→111→001 011→100→011
当N=4时转化如下面:
前:0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111
后:0000、0010、0110、1000、1010、1110、1100、0100、0011、1011、1111、0111、1001、1101、0101、0001
循环:0000→0000 0011→1000→0011 0101→1110
0001→0010→1100→1011→0111→0100→1010→1111→0001
部分循环:
如1:将N位的二进制数据前加1位0,再将连续相同的数转化为1、00、011、0101等以1为结束的计算法的数据,并且将各个数据呈现出垂条型,从垂条型的第一横排开始取,直到最后一横排,取其中的前N位。(垂条型除第2横排以0结束其佘以1结束)
当N=3时转化如下面:
前:000、001、010、011、100、101、110、111
后:010、011、011、000、110、111、101、101
循环:000→010→011→000 111→101→111
↑ ↑
非循环: 001 100→110
如2:将N位的二进制数据前加1位0,再将连续相同的数转化为1、00、011、0101等以1为结束的计算法的数据,并且将各个数据呈现出垂条型,从垂条型的第一横排开始取,直到最后一横排,取其中的前N位。(垂条型都以1结束)
当N=3时转化如下面:
前:000、001、010、011、100、101、110、111
后:010、011、010、000、110、111、100、100
循环: 010→010 100→110→100
↑ ↑
非循环:001→011→000 101→111
特点:随N的变化而变化。如:将N位的二进制数据前加1位0,再将连续的1或0转化为1、01、001等以1为结束的计算法的数据,并且将各个数据呈现出垂条型,从垂条型的第一横排开始取,直到最后一横排,取其中的前N位。
N=7 1001110 →1100110
N=8后 01001110→01001110
N=8后 11001110→01001110
应用:加密、密码验证
如有不对称、复制到TXT中看。。。
大哥大姐不要用“年龄”压人。。。
最早发的地址
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课