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

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

?? des.h

?? DES算法c++描述
?? H
字號:

//  IBM PC Implementation of the DES Cryptographic Algorithm by
//  Dr B. R. Gladman (gladman@seven77.demon.co.uk)
//
//  Some of the techniques in this DES source code are derived 
//  from ideas developed by Richard Outerbridge and Eric Young.  
//  I gratefully acknowledge their contribution.
//
//  Note on Bit Numbering.  The DES bit numbering is the reverse of that
//  used on the intel series processors.  Thus to translate between bits
//  and numeric values requires a reversal of bit sequences.  To achieve
//  this for external numbers the initial and final DES permutations and
//  the initial key permutation are adjusted to take care of the changed
//  bit order.  The other changes required are in the calculation of the
//  s_box inputs and outputs. The bits numbering reversal on s_box input
//  is obtained by reordering the s_box tables.  The bit reversal within
//  output nibbles is done by reordering the exit permutation.

#ifndef byte
#  define byte(x,n)   ((unsigned char)((x) >> (8 * (n))))
#endif

#ifndef _MSC_VER

#define rotr(x,n)   (((x) >> ((int)(n))) | ((x) << (32 - (int)(n))))
#define rotl(x,n)   (((x) << ((int)(n))) | ((x) >> (32 - (int)(n))))

#else

#include <stdlib.h>

#pragma intrinsic(_lrotr,_lrotl)
#define rotr(x,n)   _lrotr(x,n)
#define rotl(x,n)   _lrotl(x,n)

#endif

#define bit_swap(a,b,n,m)       \
    tt = ((a >> n) ^ b) & m;    \
    b ^= tt; a ^= (tt << n)

#define ip_old(x,y)                     \
    bit_swap((x),(y),  4, 0x0f0f0f0fL); \
    bit_swap((y),(x), 16, 0x0000ffffL); \
    bit_swap((x),(y),  2, 0x33333333L); \
    bit_swap((y),(x),  8, 0x00ff00ffL); \
    bit_swap((x),(y),  1, 0x55555555L); \
    (x) = rotl((x), 1);                 \
    (y) = rotl((y), 1)

#define fp_old(x,y)                     \
    (y) = rotr((y), 1);                 \
    (x) = rotr((x), 1);                 \
    bit_swap((x),(y),  1, 0x55555555L); \
    bit_swap((y),(x),  8, 0x00ff00ffL); \
    bit_swap((x),(y),  2, 0x33333333L); \
    bit_swap((y),(x), 16, 0x0000ffffL); \
    bit_swap((x),(y),  4, 0x0f0f0f0fL)

#define ip(x,y)                     \
    (x) = rotr((x), 4);             \
    tt = ((x) ^ (y)) & 0x0f0f0f0fL; \
    (y) ^= tt;                      \
    (x) = rotr((x) ^ tt, 12);       \
    tt = ((y) ^ (x)) & 0xffff0000L; \
    (y) ^= tt;                      \
    (x) = rotr((x) ^ tt, 18);       \
    tt = ((x) ^ (y)) & 0x33333333L; \
    (y) ^= tt;                      \
    (x) = rotr((x) ^ tt, 22);       \
    tt = ((y) ^ (x)) & 0xff00ff00L; \
    (y) ^= tt;                      \
    (x) = rotr((x) ^ tt,  9);       \
    tt = ((x) ^ (y)) & 0x55555555L; \
    (x) = rotl((x) ^ tt, 2);        \
    (y) = rotl((y) ^ tt, 1)

#define fp(x,y)                     \
    (y) = rotr((y), 1);             \
    (x) = rotr((x), 2);             \
    tt = ((x) ^ (y)) & 0x55555555L; \
    (y) ^= tt;                      \
    (x) = rotl((x) ^ tt,  9);       \
    tt = ((y) ^ (x)) & 0xff00ff00L; \
    (y) ^= tt;                      \
    (x) = rotl((x) ^ tt, 22);       \
    tt = ((x) ^ (y)) & 0x33333333L; \
    (y) ^= tt;                      \
    (x) = rotl((x) ^ tt, 18);       \
    tt = ((y) ^ (x)) & 0xffff0000L; \
    (y) ^= tt;                      \
    (x) = rotl((x) ^ tt, 12);       \
    tt = ((x) ^ (y)) & 0x0f0f0f0fL; \
    (y) ^= tt;                      \
    (x) = rotl((x) ^ tt, 4)

#ifdef  BIG_TABLES

#define round(x0,x1,ki)                                        \
    l1  = (rotr(x1, 4) ^ *(((unsigned long*)key) + ki + 1));   \
    l0  = (x1 ^ *(((unsigned long*)key) + ki));                \
    x0 ^= sx_tab[0][byte(l0,0)] | sx_tab[1][byte(l1,0)]        \
        | sx_tab[2][byte(l0,1)] | sx_tab[3][byte(l1,1)]        \
        | sx_tab[4][byte(l0,2)] | sx_tab[5][byte(l1,2)]        \
        | sx_tab[6][byte(l0,3)] | sx_tab[7][byte(l1,3)]

#else

#define round(x0,x1,ki)                                                     \
    l1  = (rotr(x1, 4) ^ *(((unsigned long*)key) + ki + 1)) & 0x3f3f3f3f;   \
    l0  = (x1 ^ *(((unsigned long*)key) + ki)) & 0x3f3f3f3f;                \
    x0 ^= sx_tab[0][byte(l0,0)] | sx_tab[1][byte(l1,0)]                     \
        | sx_tab[2][byte(l0,1)] | sx_tab[3][byte(l1,1)]                     \
        | sx_tab[4][byte(l0,2)] | sx_tab[5][byte(l1,2)]                     \
        | sx_tab[6][byte(l0,3)] | sx_tab[7][byte(l1,3)]

#endif

#ifdef  __cplusplus

extern "C"
{
    void des_ky(void *kval, void *key);
    void des_ec(const void *i_blk, void *o_blk, void *key);
    void des_dc(const void *i_blk, void *o_blk, void *key);
};

#else

void des_ky(void *kval, void *key);
void des_ec(const void *i_blk, void *o_blk, void *key);
void des_dc(const void *i_blk, void *o_blk, void *key);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久亚洲综合影院红桃| 懂色av一区二区在线播放| 欧美大肚乱孕交hd孕妇| 国产宾馆实践打屁股91| 亚洲一区二区三区爽爽爽爽爽| 日韩欧美国产小视频| 91美女视频网站| 国产福利精品一区二区| 婷婷一区二区三区| 亚洲视频免费在线观看| 久久日韩精品一区二区五区| 91久久人澡人人添人人爽欧美| 国产综合色在线视频区| 亚洲韩国精品一区| 亚洲色图欧美偷拍| 欧美激情一区二区在线| 精品国产一区二区三区av性色 | 婷婷综合另类小说色区| 国产精品三级视频| www国产精品av| 欧美一卡2卡三卡4卡5免费| 91黄色免费观看| 成人污视频在线观看| 国内精品第一页| 日韩专区中文字幕一区二区| 亚洲综合色噜噜狠狠| 国产精品久久久久久妇女6080| 久久久久九九视频| 欧美成人艳星乳罩| 日韩一区二区在线观看| 欧美日韩国产一二三| 欧美伊人精品成人久久综合97| 99精品视频一区| 99视频国产精品| aa级大片欧美| 99re在线精品| 91色综合久久久久婷婷| av综合在线播放| 91在线云播放| 94-欧美-setu| 欧美视频自拍偷拍| 欧美日韩高清影院| 777xxx欧美| 欧美大片在线观看一区二区| 欧美成人女星排名| 久久精品日韩一区二区三区| 久久久亚洲精品一区二区三区| 精品国产亚洲一区二区三区在线观看 | 亚洲色图视频免费播放| 亚洲品质自拍视频| 亚洲一区二区三区爽爽爽爽爽| 一区二区三区丝袜| 亚洲chinese男男1069| 午夜精品福利视频网站| 日本不卡视频在线观看| 理论片日本一区| 经典三级视频一区| 国产精品一区免费在线观看| 成人午夜视频免费看| 99精品1区2区| 欧美日韩日日摸| 日韩亚洲电影在线| 国产精品色哟哟网站| 亚洲精品乱码久久久久久黑人 | 日韩欧美中文字幕精品| 精品成人私密视频| 综合色中文字幕| 天天免费综合色| 国产精品一区在线观看你懂的| 成人激情校园春色| 欧美视频在线一区| 欧美成人猛片aaaaaaa| 一区在线中文字幕| 天天综合色天天综合色h| 国内精品伊人久久久久影院对白| 成人免费视频app| 欧美人动与zoxxxx乱| 久久精品亚洲精品国产欧美| 一区二区三区四区五区视频在线观看| 日本不卡一区二区三区| 东方欧美亚洲色图在线| 欧美性猛交一区二区三区精品 | 一二三区精品视频| 麻豆精品一区二区综合av| 成人v精品蜜桃久久一区| 欧美午夜不卡视频| 国产亚洲综合色| 亚洲电影一级片| 国产99精品视频| 欧美日本乱大交xxxxx| 国产人伦精品一区二区| 亚洲一区影音先锋| 国产aⅴ综合色| 日韩欧美三级在线| 亚洲另类在线一区| 久久国产综合精品| 91福利精品视频| 国产日产欧产精品推荐色| 日韩一区精品视频| 一本久久精品一区二区| 久久影院视频免费| 天天影视涩香欲综合网| 91视频在线观看免费| 精品99久久久久久| 日韩电影免费一区| 欧洲一区在线电影| 国产精品乱人伦中文| 久久精品国产精品青草| 欧美亚一区二区| 专区另类欧美日韩| 国产成人欧美日韩在线电影| 日韩三级免费观看| 亚洲成人手机在线| 91老司机福利 在线| 亚洲国产精品成人综合色在线婷婷| 首页国产丝袜综合| 欧美四级电影网| 一区二区三区高清不卡| 成人99免费视频| 久久久三级国产网站| 青青草精品视频| 3atv在线一区二区三区| 亚洲一二三区在线观看| 色综合色狠狠综合色| 亚洲欧美综合在线精品| 国产激情精品久久久第一区二区| 日韩女优电影在线观看| 奇米四色…亚洲| 在线不卡一区二区| 亚洲图片欧美视频| 在线影院国内精品| 亚洲精品伦理在线| 欧美性大战久久| 午夜精品久久久久久| 欧美丰满美乳xxx高潮www| 亚洲国产另类av| 欧美日韩国产首页| 蜜桃视频在线一区| 91精品国产福利在线观看| 日韩和欧美一区二区三区| 欧美精品第一页| 视频一区欧美精品| 日韩欧美专区在线| 国产美女精品在线| 国产精品午夜久久| 91丨porny丨蝌蚪视频| 一区2区3区在线看| 欧美精品丝袜久久久中文字幕| 日日摸夜夜添夜夜添国产精品| 欧美二区三区的天堂| 美女一区二区视频| 久久午夜电影网| 99在线热播精品免费| 亚洲一二三四久久| 欧美成人三级在线| 国产不卡高清在线观看视频| 中文字幕一区日韩精品欧美| 91美女片黄在线观看91美女| 亚洲成av人片在www色猫咪| 欧美一卡2卡三卡4卡5免费| 国产一区二区三区| 亚洲视频一区二区在线观看| 欧美人xxxx| 国产精品自在在线| 亚洲欧美二区三区| 8x福利精品第一导航| 国产资源在线一区| 国产精品免费免费| 欧美精品亚洲二区| 国产毛片精品一区| 亚洲另类在线视频| 精品国免费一区二区三区| 波多野结衣中文字幕一区二区三区 | 日韩av成人高清| 久久精品一区二区| 欧美中文字幕一区| 精品一区二区三区免费观看| 国产精品家庭影院| 538在线一区二区精品国产| 国产精品一级二级三级| 一区二区在线观看视频 | 久久五月婷婷丁香社区| 色94色欧美sute亚洲线路二| 男男成人高潮片免费网站| 国产精品毛片无遮挡高清| 欧美日韩国产首页| 丰满白嫩尤物一区二区| 午夜视频久久久久久| 国产免费观看久久| 欧美精品久久久久久久多人混战| 成人不卡免费av| 久久99国产精品成人| 一二三四社区欧美黄| 国产欧美一区二区精品性色| 欧美色精品天天在线观看视频| 激情小说欧美图片| 午夜视黄欧洲亚洲| 中文字幕制服丝袜一区二区三区| 日韩视频在线永久播放| 欧美亚洲国产一卡|