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

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

?? loop_fish2.c

?? CROSSCRYPT是FILEDISK的拓展
?? C
?? 第 1 頁 / 共 2 頁
字號:
    z<<=8;    z|=Mul_5B[b[1]];    z<<=8;    z|=Mul_EF[b[1]];    z<<=8;    z|=Mul_EF[b[1]];    sbox[i+256]=z;    z=Mul_EF[b[2]];    z<<=8;    z|=b[2];    z<<=8;    z|=Mul_EF[b[2]];    z<<=8;    z|=Mul_5B[b[2]];    sbox[i+512]=z;    z=Mul_5B[b[3]];    z<<=8;    z|=Mul_EF[b[3]];    z<<=8;    z|=b[3];    z<<=8;    z|=Mul_5B[b[3]];    sbox[i+768]=z;  }}/* Reed-Solomon code parameters: (12,8) reversible code   g(x) = x**4 + (a + 1/a) x**3 + a x**2 + (a + 1/a) x + 1   where a = primitive root of field generator 0x14D */#define RS_GF_FDBK      0x14D   /* field generator */#define RS_rem(x) \    { UCHAR  b  =   x >> 24; \      DWORD32 g2 = ((b << 1) ^ ((b & 0x80) ? RS_GF_FDBK : 0 )) & 0xFF; \      DWORD32 g3 = ((b >> 1) & 0x7F) ^ ((b & 1) ? RS_GF_FDBK >> 1 : 0 ) ^ g2 ; \      x = (x << 8) ^ (g3 << 24) ^ (g2 << 16) ^ (g3 << 8) ^ b; \    }static DWORD32 rs_mds(DWORD32 k0, DWORD32 k1){  int i, j;  DWORD32 r;  for (i = r = 0; i < 2; i++)  {    r ^= (i) ? k0 : k1;     /* merge in 32 more key bits */    for (j = 0; j < 4; j++) /* shift one UCHAR at a time */      RS_rem(r);  }  return r;}#define		INPUT_WHITEN		0	/* subkey array indices */#define		OUTPUT_WHITEN		4#define		ROUND_SUBKEYS		8	/* use 2 * (# rounds) */#define		TOTAL_SUBKEYS		40void init_key(fish2_key * key){  int i, k64Cnt;  int keyLen = key->keyLen;  int subkeyCnt = TOTAL_SUBKEYS;  DWORD32 A, B;  DWORD32 k32e[4], k32o[4];	/* even/odd key dwords */  k64Cnt = (keyLen + 63) / 64;	/* round up to next multiple of 64 bits */  for (i = 0; i < k64Cnt; i++)  {				/* split into even/odd key dwords */    k32e[i] = ((DWORD32 *)key->key)[2 * i];    k32o[i] = ((DWORD32 *)key->key)[2 * i + 1];    /* compute S-box keys using (12,8) Reed-Solomon code over GF(256) */    /* store in reverse order */    key->sboxKeys[k64Cnt - 1 - i] =      Bswap(rs_mds(Bswap(k32e[i]), Bswap(k32o[i])));  }  for (i = 0; i < subkeyCnt / 2; i++)	/* compute round subkeys for PHT */  {    A = f32(i * 0x02020202, k32e, keyLen);		/* A uses even key dwords */    B = f32(i * 0x02020202 + 0x01010101, k32o, keyLen);	/* B uses odd  key							   dwords */    B = ROL(B, 8);    key->subKeys[2 * i] = A + B;	/* combine with a PHT */    key->subKeys[2 * i + 1] = ROL(A + 2 * B, 9);  }  init_sbox(key);}static DWORD32 f32_sbox(DWORD32 x,DWORD32 *sbox)	//inline{  /* Run each UCHAR thru 8x8 S-boxes, xoring with key UCHAR at each stage. */  /* Note that each UCHAR goes through a different combination of S-boxes. */  return (sbox[        (x)     &0xff]^          sbox[256 + (((x)>> 8)&0xff)]^          sbox[512 + (((x)>>16)&0xff)]^          sbox[768 + (((x)>>24)&0xff)]);}#define roundE_m(x0,x1,x2,x3,rnd) \      t0 = f32_sbox( x0, key->sbox_full ) ; \      t1 = f32_sbox( ROL(x1,8), key->sbox_full ); \      x2 ^= t0 + t1 + key->subKeys[2*rnd+8]; \      x3 = ROL(x3,1); \      x3 ^= t0 + 2*t1 + key->subKeys[2*rnd+9]; \      x2 = ROR(x2,1);int blockEncrypt_CBC(fish2_key *key,UCHAR *src,UCHAR *dst,int len){ DWORD32 xx0,xx1,xx2,xx3,t0,t1,iv0,iv1,iv2,iv3;  if (len & 0xF) return -1;  iv0=0;  iv1=0;  iv2=0;  iv3=0;  for (;len>=16;len-=16)  {    if ( ( len & 0x1FF) == 0)    { iv0=0;      iv1=0;      iv2=0;      iv3=0;    }    xx0=Bswap(((DWORD32 *)src)[0]) ^ key->subKeys[0] ^ iv0;    xx1=Bswap(((DWORD32 *)src)[1]) ^ key->subKeys[1] ^ iv1;    xx2=Bswap(((DWORD32 *)src)[2]) ^ key->subKeys[2] ^ iv2;    xx3=Bswap(((DWORD32 *)src)[3]) ^ key->subKeys[3] ^ iv3;    src+=16;    roundE_m(xx0,xx1,xx2,xx3,0);    roundE_m(xx2,xx3,xx0,xx1,1);    roundE_m(xx0,xx1,xx2,xx3,2);    roundE_m(xx2,xx3,xx0,xx1,3);    roundE_m(xx0,xx1,xx2,xx3,4);    roundE_m(xx2,xx3,xx0,xx1,5);    roundE_m(xx0,xx1,xx2,xx3,6);    roundE_m(xx2,xx3,xx0,xx1,7);    roundE_m(xx0,xx1,xx2,xx3,8);    roundE_m(xx2,xx3,xx0,xx1,9);    roundE_m(xx0,xx1,xx2,xx3,10);    roundE_m(xx2,xx3,xx0,xx1,11);    roundE_m(xx0,xx1,xx2,xx3,12);    roundE_m(xx2,xx3,xx0,xx1,13);    roundE_m(xx0,xx1,xx2,xx3,14);    roundE_m(xx2,xx3,xx0,xx1,15);    iv0=xx2 ^ key->subKeys[4];    iv1=xx3 ^ key->subKeys[5];    iv2=xx0 ^ key->subKeys[6];    iv3=xx1 ^ key->subKeys[7];    ((DWORD32 *)dst)[0] = Bswap(iv0);    ((DWORD32 *)dst)[1] = Bswap(iv1);    ((DWORD32 *)dst)[2] = Bswap(iv2);    ((DWORD32 *)dst)[3] = Bswap(iv3);    dst+=16;  }  return len;}#define roundD_m(x0,x1,x2,x3,rnd) \      t0 = f32_sbox( x0, key->sbox_full); \      t1 = f32_sbox( ROL(x1,8),key->sbox_full); \      x2 = ROL(x2,1); \      x3 ^= t0 + 2*t1 + key->subKeys[rnd*2+9]; \      x3 = ROR(x3,1); \      x2 ^= t0 + t1 + key->subKeys[rnd*2+8];int blockDecrypt_CBC(fish2_key *key,UCHAR *src,UCHAR *dst,int len){ DWORD32 xx0,xx1,xx2,xx3,t0,t1,lx0,lx1,lx2,lx3,iv0,iv1,iv2,iv3;  if (len & 0xF) return -1;  iv0=0;  iv1=0;  iv2=0;  iv3=0;  for (;len>=16;len-=16)  {    if ( ( len & 0x1FF) == 0)    { iv0=0;      iv1=0;      iv2=0;      iv3=0;    }    lx0=iv0;iv0=Bswap(((DWORD32 *)src)[0]);xx0=iv0 ^ key->subKeys[4];    lx1=iv1;iv1=Bswap(((DWORD32 *)src)[1]);xx1=iv1 ^ key->subKeys[5];    lx2=iv2;iv2=Bswap(((DWORD32 *)src)[2]);xx2=iv2 ^ key->subKeys[6];    lx3=iv3;iv3=Bswap(((DWORD32 *)src)[3]);xx3=iv3 ^ key->subKeys[7];    src+=16;    roundD_m(xx0,xx1,xx2,xx3,15);    roundD_m(xx2,xx3,xx0,xx1,14);    roundD_m(xx0,xx1,xx2,xx3,13);    roundD_m(xx2,xx3,xx0,xx1,12);    roundD_m(xx0,xx1,xx2,xx3,11);    roundD_m(xx2,xx3,xx0,xx1,10);    roundD_m(xx0,xx1,xx2,xx3,9);    roundD_m(xx2,xx3,xx0,xx1,8);    roundD_m(xx0,xx1,xx2,xx3,7);    roundD_m(xx2,xx3,xx0,xx1,6);    roundD_m(xx0,xx1,xx2,xx3,5);    roundD_m(xx2,xx3,xx0,xx1,4);    roundD_m(xx0,xx1,xx2,xx3,3);    roundD_m(xx2,xx3,xx0,xx1,2);    roundD_m(xx0,xx1,xx2,xx3,1);    roundD_m(xx2,xx3,xx0,xx1,0);    ((DWORD32 *)dst)[0] = Bswap(xx2 ^ key->subKeys[0] ^ lx0);    ((DWORD32 *)dst)[1] = Bswap(xx3 ^ key->subKeys[1] ^ lx1);    ((DWORD32 *)dst)[2] = Bswap(xx0 ^ key->subKeys[2] ^ lx2);    ((DWORD32 *)dst)[3] = Bswap(xx1 ^ key->subKeys[3] ^ lx3);    dst+=16;  }  return len;}/*int transfer_fish2(struct loop_device *lo, int cmd, char *raw_buf,                  char *loop_buf, int size, int real_block){ if (cmd == READ)    blockDecrypt_CBC((fish2_key *)lo->key_data,raw_buf,loop_buf,size);  else    blockEncrypt_CBC((fish2_key *)lo->key_data,loop_buf,raw_buf,size);  return 0;}int fish2_init(struct loop_device *lo,struct loop_info *info){ fish2_key *key;  if (info->lo_encrypt_key_size<16 || info->lo_encrypt_key_size>32)    return -EINVAL;  key=(fish2_key *)kmalloc(sizeof(fish2_key),GFP_KERNEL);  if (key==NULL)    return -ENOMEM;  lo->key_data=key;  memset(key->key,0,32);  key->keyLen=info->lo_encrypt_key_size << 3;  memcpy(key->key,info->lo_encrypt_key,info->lo_encrypt_key_size);  init_key(key);  return 0;}static int fish2_release(struct loop_device *lo){ if (lo->key_data!=NULL)  {    kfree(lo->key_data);    lo->key_data=NULL;  }  return(0);}static void fish2_lock(struct loop_device *lo){	MOD_INC_USE_COUNT;}static void fish2_unlock(struct loop_device *lo){	MOD_DEC_USE_COUNT;}static struct loop_func_table fish2_funcs ={ number: LO_CRYPT_FISH2,  transfer: transfer_fish2,  init: fish2_init,  release: fish2_release,  lock: fish2_lock,  unlock: fish2_unlock};#ifdef MODULEint __init init_module(void)#elseint __init loop_fish2_init(void)#endif{  int err;  if ((err=loop_register_transfer(&fish2_funcs)))  {    printk(KERN_WARNING "Couldn't register Twofish encryption\n");    return err;  }  printk(KERN_INFO "loop: registered Twofish encryption \n");  return 0;}#ifdef MODULEvoid cleanup_module(void){  if (loop_unregister_transfer(LO_CRYPT_FISH2))    printk(KERN_WARNING "Couldn't unregister Twofish encryption\n");  printk(KERN_INFO "loop: unregistered Twofish encryption \n");}#endifMODULE_LICENSE("GPL");*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美www视频| 欧美日韩三级一区二区| 亚洲成a人片综合在线| 中文字幕成人网| 精品sm在线观看| 风间由美一区二区三区在线观看 | 国产亚洲一区二区在线观看| 91福利精品第一导航| 高清shemale亚洲人妖| 国产一区二区三区在线观看免费视频| 一区二区免费看| 亚洲欧美电影一区二区| 国产亚洲欧美日韩日本| 欧美成人一区二区三区在线观看 | 美女脱光内衣内裤视频久久网站| 久久久不卡网国产精品二区| 日韩久久久精品| 日韩女优毛片在线| 精品国产3级a| wwwwxxxxx欧美| 国产三级精品视频| 国产精品三级电影| 久久久噜噜噜久久人人看| 在线视频欧美精品| 91色.com| a美女胸又www黄视频久久| 国模冰冰炮一区二区| 国产一区二区精品久久99| 国产精品77777| 不卡一区中文字幕| 在线日韩一区二区| 欧美欧美欧美欧美| 欧美一区二区三区免费视频| 欧美电影免费观看高清完整版| 欧美一级淫片007| 久久久影视传媒| 中文字幕一区二区三区色视频 | 视频一区在线播放| 日本 国产 欧美色综合| 国产在线日韩欧美| 国产成人av影院| 色老汉av一区二区三区| 欧美日韩精品系列| 久久久久久久久久美女| 亚洲青青青在线视频| 亚洲高清不卡在线| 国产精品一区二区无线| 色老汉av一区二区三区| 欧美一卡二卡三卡| 日韩欧美二区三区| 一区二区视频免费在线观看| 婷婷成人激情在线网| 国产一区二区三区四区在线观看| av电影天堂一区二区在线| 欧美裸体一区二区三区| 国产精品无遮挡| 日韩高清不卡在线| 成人免费av资源| 91精品国产综合久久久蜜臀粉嫩| 国产欧美日韩不卡| 午夜天堂影视香蕉久久| 成人免费视频网站在线观看| 欧美性感一类影片在线播放| 精品福利在线导航| 亚洲自拍都市欧美小说| 成人午夜在线免费| 日韩一区二区在线观看| 亚洲图片激情小说| 国产综合久久久久影院| 欧美日韩aaaaaa| 国产精品美女久久久久aⅴ | 国产精品不卡一区| 丝袜国产日韩另类美女| 国产精品88av| 日韩一区二区三区电影 | 九九热在线视频观看这里只有精品| 成人少妇影院yyyy| 久久美女艺术照精彩视频福利播放| 轻轻草成人在线| 欧美日韩高清在线| 国产拍揄自揄精品视频麻豆| 亚洲妇女屁股眼交7| 在线这里只有精品| 日韩一区在线看| 国产精品伊人色| 91精品国产一区二区| 亚洲视频一区在线观看| 亚洲午夜一区二区| 色悠久久久久综合欧美99| 久久麻豆一区二区| 另类综合日韩欧美亚洲| 欧美日韩中文字幕一区| 亚洲视频 欧洲视频| 国产91丝袜在线18| 久久精品一区二区三区不卡| 日韩高清一区在线| 在线不卡的av| 日本午夜一本久久久综合| 91免费观看视频| 亚洲日本青草视频在线怡红院| 粉嫩蜜臀av国产精品网站| 国产无遮挡一区二区三区毛片日本| 国产一区二区h| 国产精品久久久久久久久免费桃花 | 91免费版在线| 亚洲午夜三级在线| 欧美电影一区二区| 久久99九九99精品| 国产午夜精品在线观看| 成人美女在线视频| 亚洲影视在线播放| 日韩欧美久久久| 成人网在线播放| 亚洲欧美日韩国产综合在线| 欧美怡红院视频| 日本免费在线视频不卡一不卡二| 精品三级在线看| 成人福利视频网站| 亚洲成a人片在线不卡一二三区| 欧美一级片免费看| www.日本不卡| 午夜精彩视频在线观看不卡| 欧美变态口味重另类| 国产91精品入口| 亚洲va欧美va人人爽午夜| 久久夜色精品国产噜噜av| 国产成人av一区| 亚洲一区二区三区爽爽爽爽爽| 日韩欧美色综合| 色综合久久综合中文综合网| 蜜臀91精品一区二区三区| 国产精品网站导航| 欧美一级专区免费大片| 99re成人在线| 久久精品99国产精品日本| 一区二区三区四区蜜桃| 欧美不卡视频一区| 日本高清无吗v一区| 久久99精品久久只有精品| 亚洲精品伦理在线| 国产欧美日韩综合| 91精品在线麻豆| 91久久精品网| 成人av在线网| 美国三级日本三级久久99| 国产精品丝袜黑色高跟| 日韩欧美高清一区| 欧美人伦禁忌dvd放荡欲情| 成人毛片在线观看| 国产一区二区免费看| 午夜视频一区在线观看| 亚洲视频在线一区观看| 日本一区二区视频在线| 日韩欧美色综合网站| 欧美日韩一卡二卡三卡| 在线欧美日韩精品| av资源站一区| 丁香一区二区三区| 国产老妇另类xxxxx| 极品少妇xxxx精品少妇| 视频一区二区欧美| 日日摸夜夜添夜夜添国产精品| 成人欧美一区二区三区视频网页| 欧美不卡激情三级在线观看| 91精品在线免费观看| 欧美日韩国产片| 成人av片在线观看| av一本久道久久综合久久鬼色| 国产成a人亚洲精品| 国产精品自在在线| 国产1区2区3区精品美女| 国产精品88av| 成人天堂资源www在线| 成人h精品动漫一区二区三区| 丁香六月综合激情| 国产成人精品免费视频网站| 成人网页在线观看| av网站一区二区三区| 色综合色狠狠天天综合色| 欧美羞羞免费网站| 欧美精品丝袜久久久中文字幕| 欧美精品久久久久久久多人混战| 欧美三级中文字幕在线观看| 日本高清不卡视频| 欧美日本高清视频在线观看| 欧美二区在线观看| 久久女同精品一区二区| 国产精品初高中害羞小美女文| 亚洲视频一区在线| 午夜欧美在线一二页| 久久精品99久久久| 成人激情免费电影网址| 色噜噜狠狠一区二区三区果冻| 欧美午夜电影网| 26uuu亚洲| 亚洲欧洲三级电影| 一区二区三区在线免费观看| 一区二区理论电影在线观看| 天使萌一区二区三区免费观看| 日韩黄色小视频|