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

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

?? udes.c

?? DES算法實現程序,可用于DOS、WINDOWS、UNIX、LINUX等各平臺。
?? C
字號:
/****************************************/
/*PROGRAM:udes.C                        */
/*        DES function on UNIX          */
/*By Dongshifang                        */
/****************************************/
#include<stdio.h>
#include<malloc.h>
#include<time.h>
#include<string.h>
#include <signal.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<sys/termio.h>

typedef unsigned char uchar;
//typedef unsigned short ushort;

void endes(uchar src[8],uchar pwd[8],uchar cipher[8]);
void undes(uchar cipher[8],uchar pwd[8],uchar src[8]);

void generate_key(uchar inkey[8],uchar outkey[17][6]);
void fun_encode(uchar a[4],uchar k[6],uchar outstr[4]);
void x_matrix(uchar *instr,const uchar *index,uchar *outstr,uchar outstr_bits);

const uchar index_org1[64]=
	  {
	  58,50,42,34,26,18,10,2,
	  60,52,44,36,28,20,12,4,
	  62,54,46,38,30,22,14,6,
	  64,56,48,40,32,24,16,8,
	  57,49,41,33,25,17, 9,1,
	  59,51,43,35,27,19,11,3,
	  61,53,45,37,29,21,13,5,
	  63,55,47,39,31,23,15,7
	  };
const uchar index_org2[64]=
	  {
	  40,8,48,16,56,24,64,32,
	  39,7,47,15,55,23,63,31,
	  38,6,46,14,54,22,62,30,
	  37,5,45,13,53,21,61,29,
	  36,4,44,12,52,20,60,28,
	  35,3,43,11,51,19,59,27,
	  34,2,42,10,50,18,58,26,
	  33,1,41, 9,49,17,57,25
		};
const uchar index_org3[48]=
	 {
	 32, 1, 2, 3, 4, 5,
	  4, 5, 6, 7, 8, 9,
	  8, 9,10,11,12,13,
	 12,13,14,15,16,17,
	 16,17,18,19,20,21,
	 20,21,22,23,24,25,
	 24,25,26,27,28,29,
	 28,29,30,31,32,1
	 };
const uchar index_org4[32]=
	  {
	  16, 7,20,21,29,12,28,17,
		1,15,23,26, 5,18,31,10,
		2, 8,24,14,32,27, 3, 9,
	  19,13,30, 6,22,11, 4,25
	  };
const uchar tab_org[8][64]=
	 {
		{//1
		14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7,
		 0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8,
		 4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,
		15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13
		},
		{//2
		15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10,
		 3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5,
		 0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15,
		13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9
		},
		{//3
		10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8,
		13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1,
		13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7,
		 1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12
		},
		{//4
		 7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15,
		13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9,
		10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4,
		 3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14
		},
		{//5
		 2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,
		14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6,
		 4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,
		11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3
		},
		{//6
		12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,
		10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8,
		 9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6,
		 4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13
		},
		{//7
		 4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1,
		13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6,
		 1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,
		 6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12
		},
		{//8
		13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7,
		 1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2,
		 7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8,
		 2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11
		}
	 };
const uchar index_key11[28]=
	 {
	 57,49,41,33,25,17,9,
	  1,58,50,42,34,26,18,
	 10, 2,59,51,43,35,27,
	 19,11, 3,60,52,44,36
	 };
const uchar index_key12[28]=
	 {
	 63,55,47,39,31,23,15,
	  7,62,54,46,38,30,22,
	 14, 6,61,53,45,37,29,
	 21,13, 5,28,20,12, 4
	 };
const uchar index_key20[48]=
	 {
	 14,17,11,24, 1, 5,
	  3,28,15, 6,21,10,
	 23,19,12, 4,26, 8,
	 16, 7,27,20,13, 2,
	 41,52,31,37,47,55,
	 30,40,51,45,33,48,
	 44,49,39,56,34,53,
	 46,42,50,36,29,32
	 };
const uchar index_rotate[16]=
	 {1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1};

void endes(uchar src[8],uchar pwd[8],uchar cipher[8])
{
uchar  xstr[8],i,j;
uchar org[17][8],key[17][6];

  //1:Gen 16 KEY
  generate_key(pwd,key);

  //2:org replace
  x_matrix(src,index_org1,org[0],64);

  for(i=0;i<16;i++)
  {
  //3:Gen next org left
  memmove(org[i+1],org[i]+4,4);

  //4:call encode function
  fun_encode(org[i]+4,key[i+1],xstr);

  //5:XOR ,form Last org[i+1] right
  for(j=0;j<4;j++)
	org[i+1][j+4]=xstr[j]^org[i][j];
	}//for(i)

  //6:exchange org left and right
  memcpy(xstr,org[16]+4,4);
  memcpy(xstr+4,org[16],4);

  //7:displace cipher
  x_matrix(xstr,index_org2,cipher,64);
}

void undes(uchar cipher[8],uchar pwd[8],uchar src[8])
{
uchar xstr[8],j;
char i;
uchar org[17][8],key[17][6];

  //1:Gen 16 KEY
  generate_key(pwd,key);

  //2:org displace
  x_matrix(cipher,index_org1,org[16],64);

  //3:exchange org left and right
  memcpy(xstr,org[16]+4,4);
  memcpy(xstr+4,org[16],4);
  memcpy(org[16],xstr,8);

  for(i=15;i>=0;i--)
  {
  //4:Gen last org right
  memcpy(org[i]+4,org[i+1],4);

  //5:call encode function
  fun_encode(org[i+1],key[i+1],xstr);

  //6:XOR ,form Last org[i] left
  for(j=0;j<4;j++)
   org[i][j]=xstr[j]^org[i+1][j+4];
  }//for(i)

  //replace cipher
  x_matrix(org[0],index_org2,src,64);
}

void fun_encode(uchar a[4],uchar k[6],uchar outstr[4])
{
uchar m,n,cc,j,xstr[8],resp[8];
ushort tmpu;

  //1:org select,from 32 bits to 48 bits
  x_matrix(a,index_org3,xstr,48);

	//2:XOR org and k
  for(j=0;j<6;j++)
	 resp[j]=xstr[j]^k[j];

  //3:last select,from 48 bits to 32 bits
  for(j=0;j<8;j++)
    {
    //get 6 bits from 48 bits resp
	 tmpu=(ushort)(resp[j*6/8]<<8)+resp[j*6/8+1];
    xstr[j]=(tmpu<<(j*6%8))>>8;
	 }

  for(j=0;j<8;j++)
    {
    cc=xstr[j];
    //fetch VALUE from tab_org
    m=((cc>>6)&0x02)+((cc>>2)&0x01);
    n=(cc>>3)&0x0f;
    cc=m*16+n;
    xstr[j]=tab_org[j][cc];
    }//for(j)

  //4:form 32 bits outstr--32 bits
  for(j=0;j<4;j++)
	resp[j]=(xstr[2*j]<<4)+(xstr[2*j+1]&0x0f);

  //5:replace org right
  x_matrix(resp,index_org4,outstr,32);
}

void generate_key(uchar inkey[8],uchar outkey[17][6])
{
uchar resp[8],xstr[6],c[17][4],d[17][4],i,cc;
long tmpl;

	//shift key
  memcpy(resp,inkey,8);
  /*
  for(i=0;i<8;i++)
	  {
	  for(j=1,m=0;j<8;j++)
		 if((inkey[i]>>(j-1))&0x01)m++;
	  resp[i]=(inkey[i]<<1)+m%2;
	  }
	*/

	//1:select 28 bits--c[i]
	x_matrix(resp,index_key11,c[0],28);
	//2:select 28 bits--d[i]
	x_matrix(resp,index_key12,d[0],28);

  for(i=0;i<16;i++)
	{
	//3:rotate c[i] and d[i]
	  tmpl=((long)c[i][0]<<24)+((long)c[i][1]<<16)
	 +((long)c[i][2]<< 8)+ (long)(c[i][3]&0xf0);
	  tmpl<<=index_rotate[i];
	  c[i+1][1]=tmpl>>16;
	  c[i+1][2]=tmpl>> 8;
	  c[i+1][3]=tmpl&0xf0;
	  c[i+1][0]=tmpl>>24;

	  tmpl=((long)d[i][0]<<24)+((long)d[i][1]<<16)
	 +((long)d[i][2]<< 8)+ (long)(d[i][3]&0xf0);
	  tmpl<<=index_rotate[i];
	  d[i+1][1]=tmpl>>16;
	  d[i+1][2]=tmpl>> 8;
	  d[i+1][3]=tmpl&0xf0;
	  d[i+1][0]=tmpl>>24;
	  c[i+1][3]|=(c[i][0]>>(8-index_rotate[i]))<<4;
	  d[i+1][3]|=(d[i][0]>>(8-index_rotate[i]))<<4;

	//4:form 56 bits--resp
	memcpy(resp,c[i+1],3);
	resp[3]=(c[i+1][3]&0xf0)+(d[i+1][0]>>4);
	resp[4]=(d[i+1][0]<<4)+(d[i+1][1]>>4);
	resp[5]=(d[i+1][1]<<4)+(d[i+1][2]>>4);
	resp[6]=(d[i+1][2]<<4)+(d[i+1][3]>>4);

	//5:select 48 bits key[i]
	x_matrix(resp,index_key20,xstr,48);
	memcpy(outkey[i+1],xstr,6);
	}//for(i)
}

void x_matrix(uchar *instr,const uchar *index,uchar *outstr,uchar outstr_bits)
{
uchar i,cc;

 if(outstr_bits%8)
  memset(outstr,0x00,outstr_bits/8+1);
 else
   memset(outstr,0x00,outstr_bits/8);

 for(i=0;i<outstr_bits;i++)
   {
   cc=instr[(index[i]-1)/8] << (index[i]-1)%8;
   cc&=0x80;
   if(cc)
     outstr[i/8]+=cc >> i%8;
   }//for
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美老肥妇做.爰bbww| 欧美日韩亚洲丝袜制服| 91女人视频在线观看| 91精品免费在线| 亚洲桃色在线一区| 蜜臀精品久久久久久蜜臀| 成人免费av网站| 久久综合网色—综合色88| 一区二区三区中文字幕电影 | 亚洲综合久久久久| 国产精一品亚洲二区在线视频| 欧美视频中文一区二区三区在线观看| 精品99一区二区三区| 亚洲成va人在线观看| 国产成人无遮挡在线视频| 91精品国产综合久久精品麻豆| 亚洲免费av高清| 东方aⅴ免费观看久久av| 欧美sm美女调教| 蜜臀久久久久久久| 欧美猛男gaygay网站| 亚洲在线中文字幕| 色综合天天综合在线视频| 国产区在线观看成人精品| 国产最新精品精品你懂的| 欧美一级搡bbbb搡bbbb| 天堂在线亚洲视频| 欧美日韩夫妻久久| 一区二区三区精品| 色激情天天射综合网| 亚洲免费观看高清完整版在线| a4yy欧美一区二区三区| 国产精品视频麻豆| 国产超碰在线一区| 中文字幕不卡一区| 风流少妇一区二区| 久久精品一区蜜桃臀影院| 国产精品一区二区91| 久久影院午夜论| 国产成人鲁色资源国产91色综| 久久久www成人免费毛片麻豆 | 在线观看日韩一区| 日韩美女啊v在线免费观看| 丰满放荡岳乱妇91ww| 亚洲国产成人自拍| 99久久99久久精品免费观看| 伊人开心综合网| 欧美精选一区二区| 精品一区二区三区在线播放| 国产亚洲一二三区| av一区二区三区| 一区二区三区国产| 91麻豆精品国产91久久久久久 | 亚洲va欧美va人人爽| 欧美日韩午夜精品| 久久国产精品无码网站| 久久久国产午夜精品| 色一情一乱一乱一91av| 午夜国产精品一区| 精品国内片67194| 99国内精品久久| 蜜臀av性久久久久蜜臀aⅴ | 色综合视频在线观看| 亚洲国产一二三| 精品久久久久久久久久久久久久久久久| 国产福利一区二区| 一区二区在线观看免费视频播放| 91精品国产乱| 成人的网站免费观看| 亚洲福利视频一区| 久久久电影一区二区三区| 91高清视频在线| 国产成人在线色| 同产精品九九九| 国产精品乱人伦中文| 欧美高清视频在线高清观看mv色露露十八| 久久疯狂做爰流白浆xx| 亚洲视频中文字幕| 欧美成人精品1314www| 色婷婷综合久色| 国产精品亚洲成人| 亚洲综合一区二区三区| 国产网红主播福利一区二区| 欧美久久久影院| 91在线精品一区二区| 黄色小说综合网站| 午夜不卡av在线| 亚洲欧洲制服丝袜| 久久久久97国产精华液好用吗| 7777精品伊人久久久大香线蕉最新版 | 91丝袜美女网| 国产精品白丝av| 免费看精品久久片| 夜夜爽夜夜爽精品视频| 欧美激情在线看| 精品国产乱码久久久久久1区2区| 欧洲一区二区av| 色婷婷综合久色| 91视频观看视频| caoporm超碰国产精品| 国产一区二区伦理| 免费成人在线播放| 日日夜夜精品视频天天综合网| 亚洲色大成网站www久久九九| 国产午夜精品福利| 久久一区二区三区国产精品| 日韩欧美一级二级| 欧美男男青年gay1069videost| 欧美性生活久久| 在线观看不卡一区| 欧美亚一区二区| 欧美少妇bbb| 精品视频一区二区三区免费| 色视频欧美一区二区三区| www.在线成人| 91视频免费播放| 欧美在线综合视频| 欧美日韩一区三区| 欧美日韩色一区| 欧美老肥妇做.爰bbww视频| 欧美日高清视频| 欧美一区二区三区成人| 欧美一级黄色录像| 日韩一区二区麻豆国产| 日韩免费视频一区二区| 日韩美女主播在线视频一区二区三区| 欧美一级日韩免费不卡| 久久综合色综合88| 国产视频一区在线观看| 中文字幕高清不卡| **性色生活片久久毛片| 亚洲黄色小视频| 蜜臀av一区二区在线观看| 国产一区二区女| 色天天综合久久久久综合片| 欧美日韩性生活| 亚洲精品一线二线三线| 国产色一区二区| 一区二区三区在线观看欧美| 日韩电影在线观看网站| 美脚の诱脚舐め脚责91| 国产麻豆9l精品三级站| 国产成人av电影免费在线观看| 色欧美片视频在线观看在线视频| 欧美日韩国产电影| 久久亚洲二区三区| 中文字幕一区av| 三级久久三级久久| 国产精品一二三四五| 日本道精品一区二区三区| 日韩你懂的在线观看| 国产精品电影一区二区三区| 亚洲一区二区三区精品在线| 久久精品99国产国产精| 大美女一区二区三区| 欧美日韩你懂得| 亚洲国产精品激情在线观看| 亚洲成人综合网站| 国内欧美视频一区二区 | 国产精品一区在线| 91年精品国产| www国产成人免费观看视频 深夜成人网| 欧美极品aⅴ影院| 首页国产欧美久久| 菠萝蜜视频在线观看一区| 91精品国产一区二区三区 | 不卡av免费在线观看| 欧美日韩国产精选| 国产欧美精品一区二区色综合| 午夜天堂影视香蕉久久| 成人国产精品免费观看| 欧美一区二区视频在线观看2020| 国产精品九色蝌蚪自拍| 日本sm残虐另类| 日本国产一区二区| 中文字幕欧美国产| 狂野欧美性猛交blacked| 日本韩国一区二区三区视频| 国产肉丝袜一区二区| 日韩精品一卡二卡三卡四卡无卡| 91色.com| 中文字幕日韩av资源站| 久久国产精品免费| 欧美丰满少妇xxxxx高潮对白| 亚洲老司机在线| 99久久伊人精品| 亚洲国产精品成人综合| 国产一区二区三区不卡在线观看 | 亚洲人成网站精品片在线观看| 国产麻豆日韩欧美久久| 欧美一区二区在线视频| 一区二区三区成人| 91在线视频观看| 亚洲精品自拍动漫在线| 成人妖精视频yjsp地址| 久久久99久久精品欧美| 国产乱子轮精品视频| 精品国产乱码久久久久久图片| 美女在线视频一区| 日韩区在线观看|