亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tstupdatelasted-ok-sq-ci-al-20050824.cpp

?? 序列加密算法
?? CPP
字號:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<malloc.h>
#include<time.h>
///////////////////////////////////////////
typedef unsigned char BYTE;
////////////////////////////////////////
void ByteToBit(BYTE *Out, BYTE *In, int bits);
void BitToByte(BYTE *Out, BYTE *In, int bits);
void RightRotate(BYTE *bit_key,int length,int *vector,int n);
void StartKey(BYTE *BitKey,BYTE *BitK1,BYTE *BitK2);
void InitLFSR(BYTE *BitK1,BYTE *BitK2,int *vector1,int *vector2);
void GeneratesB(BYTE *BitK1,BYTE *BitK2,BYTE *BitB);
void iterate(BYTE *QuenceB,BYTE *Z,BYTE *BitZstar);
void GeneratesY(BYTE *BitB,BYTE *X0,BYTE *BitY);
void GeneratesZ(BYTE *BitY,BYTE *BitZ);
void GeneratesZstar(BYTE *BitY,BYTE *BitZstar);
void Run(BYTE *BitK1,BYTE *BitK2,BYTE *QuenceB,int *vector1,int *vector2,BYTE *Z,BYTE *BitZstar);
////////////////////////////////////////
/*ByteToBit
return None;
Out:Out
In:Input
*/
void ByteToBit(BYTE *Out, BYTE *In, int bits)
{
    	for(int i=0; i<bits; ++i)
        	Out[i] = (In[i>>3]>>(7-(i&7))) & 1;
}
/*BitToByte*/
void BitToByte(BYTE *Out, BYTE *In, int bits)//?
{
    memset(Out, 0, bits>>3);
    for(int i=0; i<bits; ++i)
    {
		Out[i>>3]|=In[i]<<(7-i&7);
    }
}
/*LFSR運轉函數
BitKey:運轉前狀態
length:LFSR的長度
vector:LFSR的特征值
n:運轉次數*/
void RightRotate(BYTE *bit_key,int length,int *vector,int n)
{
	BYTE temp=0;	//temp存放當前狀態經過反饋函數得到的值

	for(int i=0;i<n;i++)
	{
	//等號右邊為反饋函數
	temp = bit_key[vector[0]] ^ bit_key[vector[1]] ^ bit_key[vector[2]] ^ bit_key[vector[3]] ^ bit_key[4]^1;

	//整個64bit右移一位
	for(int j=length;j>0;j--)
		bit_key[j]=bit_key[j-1];

	//用temp填補右移后的空位
	bit_key[0]=temp;
	}	
}
/*
分離出K1和K2
BitKey:原始80bit密鑰
BitK1:32bit子密鑰
BitK2:48bit子密鑰
*/
void StartKey(BYTE *BitKey,BYTE *BitK1,BYTE *BitK2)
{
	int i=0;
	for(i=0;i<32;i++)
		BitK1[i]=BitKey[i];
	for(i=0;i<48;i++)
		BitK2[i]=BitKey[i+32];
}
/*
初始化LFSR(兩個)
BitK1:子密鑰1
BitK2:子密鑰2
vector1:LFSR1的特征值
vector2:LFSR2的特征值
*/
void InitLFSR(BYTE *BitK1,BYTE *BitK2,int *vector1,int *vector2)
{
	BYTE K10,K20;
	BitToByte(&K10,BitK1+24,8);
	BitToByte(&K20,BitK2+40,8);

	RightRotate(BitK1,32,vector1,(int)K10);
	RightRotate(BitK2,48,vector2,(int)K20);
}
/*
生成第一步的8bit輸出
BitK1,BitK2:運轉后的LFSR值
BitB:存放輸出的8bit*/
void GeneratesB(BYTE *BitK1,BYTE *BitK2,BYTE *BitB)
{
	BitB[0]=BitK1[23];
	BitB[1]=BitK2[43];
	BitB[2]=BitK2[19];
	BitB[3]=BitK2[0];
	BitB[4]=BitK1[7];
	BitB[5]=BitK2[32];
	BitB[6]=BitK1[0];
	BitB[7]=BitK2[13];	
}
/*迭代步驟
 QuenceB:存放了一系列的B值輸出(byte)
 Z:最后生成的用于加密的8bit字節
 BitK2:用以確定X初值*/
void iterate(BYTE *QuenceB,BYTE *Z,BYTE *BitZstar)
{
	BYTE *BitY,*X0;
	BYTE *BitZ;
	int i=0;

	BitY=(BYTE *)malloc(16);
	memset(BitY,0,16);

	X0=(BYTE *)malloc(1);
	memset(X0,0,1);

	BitZ=(BYTE *)malloc(8);
	memset(BitZ,0,8);
//	BitZstar=(BYTE *)malloc(8);
//	memset(BitZstar,0,8);
	
//	BitToByte(&X0,BitK2+40,8);
	
	
	for(i=0;i<10;i++)
	{
//		if(i==0)
//			X0=K20;//?????????????????
//		else
			BitToByte(X0,BitZstar,8);

		GeneratesY(QuenceB+i*8,X0,BitY);

		GeneratesZ(BitY,BitZ);

		GeneratesZstar(BitY,BitZstar);
		BitToByte(Z+i,BitZ,8);
	}
}
/*迭代過程的Y生成過程
BitB:8bit
X0:運算所用值(初始為K20,以后為Zstar)
BitY:存放生成的16bitY*/
void GeneratesY(BYTE *BitB,BYTE *X0,BYTE *BitY)
{
	BYTE B;
	int Y=0;


	BitToByte(&B,BitB,8);

	Y=((int)(pow((int)(B^(*X0)),2.0)+1))%(int)(pow(2,16));

	ByteToBit(BitY,(BYTE *)&Y,16);

}
/*由Y根據要求生成輸出Z
*BitY:Y串
*BitZ:Z串
*/
void GeneratesZ(BYTE *BitY,BYTE *BitZ)
{
	BitZ[0]=BitY[15];
	BitZ[1]=BitY[13];
	BitZ[2]=BitY[12];
	BitZ[3]=BitY[9];
	BitZ[4]=BitY[7];
	BitZ[5]=BitY[4];
	BitZ[6]=BitY[3];
	BitZ[7]=BitY[2];
}
/*由Y生成,用于確定下一個X0
BitY:Y串
BitZstar:用于X0的串*/
void GeneratesZstar(BYTE *BitY,BYTE *BitZstar)
{
	BitZstar[0]=BitY[14];
	BitZstar[1]=BitY[11];
	BitZstar[2]=BitY[10];
	BitZstar[3]=BitY[8];
	BitZstar[4]=BitY[6];
	BitZstar[5]=BitY[5];
	BitZstar[6]=BitY[1];
	BitZstar[7]=BitY[0];
}
/*初始化后開始運行*/
void Run(BYTE *BitK1,BYTE *BitK2,BYTE *QuenceB,int *vector1,int *vector2,BYTE *Z,BYTE *BitZstar)
{
	int i;
//	BYTE X0;
	for(i=0;i<10;i++)
	{
		RightRotate(BitK1,32,vector1,1);
		RightRotate(BitK2,48,vector2,1);
		GeneratesB(BitK1,BitK2,QuenceB+i*8);	
	}
 	iterate(QuenceB,Z,BitZstar);
	for(i=0;i<10;i++)
	{
		printf("%x\t",Z[i]);
	}
	printf("\n");
}
/*加解密
Out:處理后的結果(byte)
In:原始文件(byte)
Z:加密用*/
void Crypt(BYTE *Out,BYTE *In,int readbyte,BYTE *Z)
{
	int i=0;
	for(i=0;i<readbyte;i++)
		Out[i]=In[i]^Z[i];
}

void main()
{
	BYTE Key[11]="Ceressiaww";	
	BYTE *BitKey;
	BYTE *BitK1,*BitK2,*BitZstar;
	BYTE *QuenceB;
	BYTE *Z;
	BYTE *buf;
	int vector1[5]={31,6,5,1,0},vector2[5]={47,8,6,3,0};
	int i,readbyte=0;
	FILE *fpr,*fpw;
	clock_t start,end;
	double elasped;
	
	BitKey=(BYTE *)malloc(80);
	memset(BitKey,0,80);

	BitK1=(BYTE *)malloc(32);
	memset(BitK1,0,32);
	BitK2=(BYTE *)malloc(48);
	memset(BitKey,0,48);

	QuenceB=(BYTE *)malloc(8*10);
	memset(QuenceB,0,8*10);
	
	Z=(BYTE *)malloc(10);
	memset(Z,0,10);

	buf=(BYTE *)malloc(10);
	memset(buf,0,10);

	BitZstar=(BYTE *)malloc(8);
	memset(BitZstar,0,8);

	ByteToBit(BitKey,Key,80);

	StartKey(BitKey,BitK1,BitK2);
	InitLFSR(BitK1,BitK2,vector1,vector2);
	memcpy(BitZstar,BitK2+40,8);

/*	for(i=0;i<32;i++)
	{
		if(i%8==0)
			printf("\n");
		printf("%d",BitK1[i]);
	}

	for(i=0;i<48;i++)
	{
		if(i%8==0)
			printf("\n");
		printf("%d",BitK2[i]);
	}*/

start=clock();
for(i=0;i<6;i++)
{
	Run(BitK1,BitK2,QuenceB,vector1,vector2,Z,BitZstar);
}
end=clock();
//	for(i=0;i<10;i++)
//	{
//		printf("%x",Z[i]);
//		printf("\n");
//	}
	elasped=((double)(end-start))/CLOCKS_PER_SEC;
	printf("\nGeneratesZ is %f\n",elasped);

/*
	fpr=fopen("h:\\txt\\tst-1024.txt","rb");
	fpw=fopen("h:\\txt\\C1024.txt","wb");

	start=clock();
	for(int k=0;k<1024*4;k++)
	{
		rewind(fpr);
//	start=clock();
	while(!feof(fpr))
	{
		memset(buf,0,1024);
		memset(Z,0,1024);
		memset(QuenceB,0,1024*8);
		memset(Z,0,1024);
		readbyte=fread(buf,1,1024,fpr);
		
		Run(BitK1,BitK2,QuenceB,vector1,vector2,Z,BitZstar);
		Crypt(buf,buf,readbyte,Z);

		fwrite(buf,1,readbyte,fpw);
	}
//	end=clock();
//	elasped=((double)(end-start))/CLOCKS_PER_SEC;
//	printf("\nEncrypt-Elasped is %f\n",elasped);
	}
	end=clock();
	elasped=((double)(end-start))/CLOCKS_PER_SEC;
	printf("\nEncrypt-Elasped is %f\n",elasped);
	fclose(fpr);
	fclose(fpw);
*/
/*
	fpr=fopen("h:\\txt\\C1024.txt","rb");
	fpw=fopen("h:\\txt\\PC1024.txt","wb");

	start=clock();
	while(!feof(fpr))
	{
		memset(buf,0,1024);
		memset(Z,0,1024);
		memset(QuenceB,0,1024*8);
		memset(Z,0,1024);
		readbyte=fread(buf,1,1024,fpr);

		Run(BitK1,BitK2,QuenceB,vector1,vector2,Z,BitZstar);
		Crypt(buf,buf,readbyte,Z);

		fwrite(buf,1,readbyte,fpw);
	}
	end=clock();
	elasped=((double)(end-start))/CLOCKS_PER_SEC;
	printf("\nDecrypt-Elasped is %f\n",elasped);
	
	fclose(fpr);
	fclose(fpw);

	printf("\n");
	for(i=0;i<10;i++)
	{
		printf("%x",Z[i]);
		printf("\n");
	}*/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美系列亚洲系列| 欧美日韩国产经典色站一区二区三区 | 久久先锋影音av鲁色资源| 91麻豆精品视频| 国产一区二区91| 亚洲第一主播视频| 1000部国产精品成人观看| 精品久久久久久久久久久久久久久 | 欧美精品久久久久久久多人混战 | youjizz国产精品| 久久99精品网久久| 亚洲第一精品在线| 亚洲精品久久久蜜桃| 国产日韩欧美综合在线| 日韩一区二区免费视频| 欧美乱妇一区二区三区不卡视频 | 欧美韩国日本一区| 精品日韩在线观看| 91精品国产手机| 欧美日韩一区二区在线观看 | 亚洲国产精品久久不卡毛片| 国产精品女同互慰在线看| 精品日韩欧美在线| 91精选在线观看| 欧美色图在线观看| 在线免费观看日本一区| 色综合久久综合中文综合网| 99久久综合99久久综合网站| 大陆成人av片| 国产69精品久久久久毛片| 国产一区二区伦理片| 六月丁香婷婷久久| 奇米777欧美一区二区| 视频一区在线视频| 午夜av电影一区| 午夜影院在线观看欧美| 视频一区二区欧美| 视频一区国产视频| 免费人成黄页网站在线一区二区| 天天影视涩香欲综合网| 日韩成人免费电影| 美女视频黄 久久| 久久97超碰色| 国产一区在线看| 国产+成+人+亚洲欧洲自线| 高清shemale亚洲人妖| 成人99免费视频| 色婷婷精品大视频在线蜜桃视频| 91浏览器在线视频| 欧美日韩国产在线播放网站| 欧美日韩午夜精品| 日韩欧美一区二区久久婷婷| 26uuu亚洲婷婷狠狠天堂| 国产欧美中文在线| 中文字幕综合网| 五月天视频一区| 九九热在线视频观看这里只有精品| 精品一区二区三区在线播放视频| 国产精品一区二区久久不卡| 成人性生交大片免费看视频在线 | 五月婷婷久久综合| 九色|91porny| 91美女片黄在线观看91美女| 欧美日韩国产综合视频在线观看 | 99麻豆久久久国产精品免费| 欧美综合一区二区| 日韩视频一区在线观看| 国产视频一区在线观看| 亚洲精品国久久99热| 日韩精品色哟哟| 福利电影一区二区三区| 日本精品视频一区二区| 日韩女优视频免费观看| 国产精品免费视频一区| 亚洲国产精品自拍| 国产美女精品一区二区三区| 北条麻妃国产九九精品视频| 欧美日韩亚洲不卡| 国产日韩欧美高清在线| 一区二区三区精品久久久| 麻豆成人综合网| 91一区二区在线| 日韩欧美色综合网站| 亚洲天堂久久久久久久| 美女看a上一区| 色婷婷精品久久二区二区蜜臀av | 久久久久亚洲蜜桃| 亚洲精品高清在线| 国产一区二区美女| 欧美乱妇20p| 亚洲欧美激情小说另类| 美女久久久精品| 在线观看国产日韩| 国产精品九色蝌蚪自拍| 精品一区中文字幕| 欧美日韩国产一区| 国产精品夫妻自拍| 狠狠色丁香九九婷婷综合五月| 欧美中文字幕一二三区视频| 国产精品久久久久永久免费观看 | 亚洲另类色综合网站| 国产一区二区三区四区五区美女 | 亚洲男人天堂一区| 激情综合色综合久久| 欧美日韩一区二区欧美激情| 亚洲三级在线播放| 国产成人超碰人人澡人人澡| 欧美精品日韩精品| 夜夜嗨av一区二区三区网页 | 国产盗摄女厕一区二区三区| 日韩午夜激情免费电影| 五月综合激情网| 欧美性欧美巨大黑白大战| 中文字幕日韩欧美一区二区三区| 国产一区中文字幕| 精品国产伦一区二区三区观看方式| 亚洲成a人v欧美综合天堂下载| 一本到三区不卡视频| 国产精品成人一区二区三区夜夜夜| 久久se精品一区二区| 日韩亚洲电影在线| 麻豆精品一区二区综合av| 3751色影院一区二区三区| 亚洲韩国一区二区三区| 欧美性视频一区二区三区| 亚洲免费观看高清完整版在线| av亚洲精华国产精华精华| 国产精品国产三级国产aⅴ中文| 国产精品亚洲一区二区三区妖精| 精品国产亚洲在线| 韩国av一区二区三区四区| 久久在线免费观看| 国产一区二区精品久久91| xvideos.蜜桃一区二区| 国产一区视频在线看| 久久久99精品久久| 成年人国产精品| 亚洲精品伦理在线| 欧美日韩精品专区| 免费av网站大全久久| 日韩精品自拍偷拍| 国产一区二区三区免费观看| 久久久精品免费观看| 国产不卡视频一区| 成人欧美一区二区三区黑人麻豆| 99久久伊人精品| 亚洲午夜免费福利视频| 91精品久久久久久久91蜜桃| 蜜乳av一区二区| 中文字幕国产一区二区| 97se亚洲国产综合自在线不卡| 亚洲精品成人少妇| 777欧美精品| 国产久卡久卡久卡久卡视频精品| 亚洲国产经典视频| 欧美在线综合视频| 青青草国产成人av片免费| 精品粉嫩超白一线天av| 成人听书哪个软件好| 亚洲另类在线一区| 日韩午夜三级在线| 成人激情图片网| 亚洲国产日日夜夜| 久久日韩粉嫩一区二区三区| www.成人网.com| 天天操天天干天天综合网| xnxx国产精品| 91福利资源站| 国内精品久久久久影院色| 亚洲免费看黄网站| 欧美www视频| 色综合久久久久网| 激情欧美一区二区| 一区二区在线观看不卡| 日韩精品在线一区二区| 99久久婷婷国产精品综合| 肉色丝袜一区二区| 国产精品美女久久久久久| 欧美日韩精品一区二区三区蜜桃 | 亚洲激情网站免费观看| 日韩欧美一区电影| 91国产免费看| 国产成都精品91一区二区三| 日韩中文字幕1| 成人免费在线视频| 26uuu成人网一区二区三区| 欧美三级欧美一级| 高清成人免费视频| 久久国产尿小便嘘嘘尿| 一区二区免费看| 国产人成一区二区三区影院| 欧美精品黑人性xxxx| 成人sese在线| 国产综合久久久久久鬼色| 午夜精品福利一区二区蜜股av| 中文字幕精品三区| 精品国产123| 日韩一区二区三区观看| 在线观看一区不卡| 不卡视频免费播放|