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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? idea.cpp

?? 此文件是實(shí)現(xiàn)加解密算法的函數(shù)庫(kù)
?? CPP
字號(hào):
// idea.cpp - written and placed in the public domain by Wei Dai

#include "pch.h"
#include "idea.h"
#include "misc.h"

NAMESPACE_BEGIN(CryptoPP)

static const int IDEA_KEYLEN=(6*IDEA::ROUNDS+4);  // key schedule length in # of word16s

#define low16(x) ((x)&0xffff)	// compiler should be able to optimize this away if word is 16 bits
#define high16(x) ((x)>>16)

// should use an inline function but macros are still faster in MSVC 4.0
#define DirectMUL(a,b)					\
{										\
	assert(b <= 0xffff);				\
										\
	word32 p=(word32)low16(a)*b;		\
										\
	if (p)								\
	{									\
		p = low16(p) - high16(p);		\
		a = (word)p - (word)high16(p);	\
	}									\
	else								\
		a = 1-a-b;						\
}

#ifdef IDEA_LARGECACHE
bool IDEA::Base::tablesBuilt = false;
word16 IDEA::Base::log[0x10000];
word16 IDEA::Base::antilog[0x10000];

void IDEA::Base::BuildLogTables()
{
	if (tablesBuilt)
		return;
	else
	{
		tablesBuilt = true;
		
		word x=1;
		word32 i;
		
		for (i=0; i<0x10000; i++)
		{
			antilog[i] = (word16)x;
			DirectMUL(x, 3);
		}
		
		for (i=0; i<0x10000; i++)
			log[antilog[i]] = (word16)i;
	}
}

void IDEA::Base::LookupKeyLogs()
{
	word* Z=key;
	int r=ROUNDS;
	do
	{
		Z[0] = log[Z[0]];
		Z[3] = log[Z[3]];
		Z[4] = log[Z[4]];
		Z[5] = log[Z[5]];
		Z+=6;
	} while (--r);
	Z[0] = log[Z[0]];
	Z[3] = log[Z[3]];
}

inline void IDEA::Base::LookupMUL(word &a, word b)
{
	a = antilog[low16(log[low16(a)]+b)];
}
#endif // IDEA_LARGECACHE

void IDEA::Base::UncheckedSetKey(CipherDir direction, const byte *userKey, unsigned int length)
{
	AssertValidKeyLength(length);
	
#ifdef IDEA_LARGECACHE
	BuildLogTables();
#endif
	
	EnKey(userKey);
	
	if (direction==DECRYPTION)
		DeKey();
	
#ifdef IDEA_LARGECACHE
	LookupKeyLogs();
#endif
}

void IDEA::Base::EnKey (const byte *userKey)
{
	unsigned int i;
	
	for (i=0; i<8; i++)
		m_key[i] = ((word)userKey[2*i]<<8) | userKey[2*i+1];
	
	for (; i<IDEA_KEYLEN; i++)
	{
		unsigned int j = RoundDownToMultipleOf(i,8U)-8;
		m_key[i] = low16((m_key[j+(i+1)%8] << 9) | (m_key[j+(i+2)%8] >> 7));
	}
}

static word MulInv(word x)
{
	word y=x;
	for (unsigned i=0; i<15; i++)
	{
		DirectMUL(y,low16(y));
		DirectMUL(y,x);
	}
	return low16(y);
}

static inline word AddInv(word x)
{
	return low16(0-x);
}

void IDEA::Base::DeKey()
{
	FixedSizeSecBlock<word, 6*ROUNDS+4> tempkey;
	unsigned int i;

	for (i=0; i<ROUNDS; i++)
	{
		tempkey[i*6+0] = MulInv(m_key[(ROUNDS-i)*6+0]);
		tempkey[i*6+1] = AddInv(m_key[(ROUNDS-i)*6+1+(i>0)]);
		tempkey[i*6+2] = AddInv(m_key[(ROUNDS-i)*6+2-(i>0)]);
		tempkey[i*6+3] = MulInv(m_key[(ROUNDS-i)*6+3]);
		tempkey[i*6+4] =        m_key[(ROUNDS-1-i)*6+4];
		tempkey[i*6+5] =        m_key[(ROUNDS-1-i)*6+5];
	}

	tempkey[i*6+0] = MulInv(m_key[(ROUNDS-i)*6+0]);
	tempkey[i*6+1] = AddInv(m_key[(ROUNDS-i)*6+1]);
	tempkey[i*6+2] = AddInv(m_key[(ROUNDS-i)*6+2]);
	tempkey[i*6+3] = MulInv(m_key[(ROUNDS-i)*6+3]);

	m_key = tempkey;
}

#ifdef IDEA_LARGECACHE
#define MUL(a,b) LookupMUL(a,b)
#else
#define MUL(a,b) DirectMUL(a,b)
#endif

void IDEA::Base::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
	typedef BlockGetAndPut<word16, BigEndian> Block;

	const word *key = m_key;
	word x0,x1,x2,x3,t0,t1;
	Block::Get(inBlock)(x0)(x1)(x2)(x3);

	for (unsigned int i=0; i<ROUNDS; i++)
	{
		MUL(x0, key[i*6+0]);
		x1 += key[i*6+1];
		x2 += key[i*6+2];
		MUL(x3, key[i*6+3]);
		t0 = x0^x2; 
		MUL(t0, key[i*6+4]);
		t1 = t0 + (x1^x3);
		MUL(t1, key[i*6+5]);
		t0 += t1;
		x0 ^= t1;
		x3 ^= t0;
		t0 ^= x1;
		x1 = x2^t1;
		x2 = t0;
	}

	MUL(x0, key[ROUNDS*6+0]);
	x2 += key[ROUNDS*6+1];
	x1 += key[ROUNDS*6+2];
	MUL(x3, key[ROUNDS*6+3]);

	Block::Put(xorBlock, outBlock)(x0)(x2)(x1)(x3);
}

NAMESPACE_END

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频在线观看91| 亚洲影院在线观看| 欧美亚洲国产bt| 国产麻豆精品在线| 午夜视频一区二区三区| 国产欧美精品国产国产专区| 欧美久久久久久久久久| 99re这里只有精品首页| 老司机免费视频一区二区三区| 亚洲日本va午夜在线影院| 精品国产凹凸成av人导航| 91福利小视频| av不卡免费在线观看| 国产美女精品一区二区三区| 性做久久久久久免费观看| 自拍av一区二区三区| 国产视频在线观看一区二区三区 | 波多野结衣亚洲一区| 日本大胆欧美人术艺术动态| 亚洲免费在线视频| 国产人成一区二区三区影院| 日韩欧美的一区| 欧美久久久久免费| 色网综合在线观看| av在线不卡电影| 国产成人鲁色资源国产91色综| 捆绑调教一区二区三区| 丝袜美腿高跟呻吟高潮一区| 亚洲国产欧美一区二区三区丁香婷| 国产精品久久久久久久久晋中 | 韩国av一区二区三区| 首页综合国产亚洲丝袜| 无吗不卡中文字幕| 亚洲综合成人网| 亚洲国产sm捆绑调教视频| 亚洲理论在线观看| 一区二区三区四区亚洲| 亚洲免费观看高清| 一区二区三区国产精品| 一区二区欧美国产| 亚洲妇熟xx妇色黄| 亚洲午夜激情av| 亚洲电影在线播放| 日韩专区一卡二卡| 蜜臀va亚洲va欧美va天堂| 麻豆精品在线播放| 精品一区二区三区在线播放| 国产一区二区导航在线播放| 国产成人亚洲精品狼色在线| 粉嫩av一区二区三区在线播放| 高清不卡一区二区| 97se亚洲国产综合自在线| 色域天天综合网| 欧美日韩国产另类不卡| 宅男在线国产精品| 精品99久久久久久| 国产精品午夜春色av| 亚洲精品亚洲人成人网在线播放| 亚洲一区二区三区免费视频| 日本不卡123| 国产精品一区二区在线观看不卡| 成人的网站免费观看| 91捆绑美女网站| 制服丝袜亚洲网站| 久久青草欧美一区二区三区| 中文字幕在线观看不卡视频| 亚洲妇女屁股眼交7| 久久精品国产亚洲高清剧情介绍| 丰满少妇在线播放bd日韩电影| 一本大道久久a久久精品综合| 欧美另类videos死尸| 精品99一区二区| 亚洲伦理在线免费看| 日本一不卡视频| 成人在线视频首页| 欧美色爱综合网| 久久久精品日韩欧美| 亚洲欧洲日产国码二区| 日日噜噜夜夜狠狠视频欧美人 | 中文字幕亚洲不卡| 天天免费综合色| 国产成人啪免费观看软件| 91官网在线免费观看| 精品久久一区二区三区| 亚洲女厕所小便bbb| 美女国产一区二区三区| 91在线视频网址| 欧美大胆人体bbbb| 亚洲色图欧洲色图| 精品一区二区三区av| 99国产精品视频免费观看| 日韩欧美国产不卡| 亚洲伦在线观看| 国产激情视频一区二区三区欧美 | 国产主播一区二区| 在线一区二区三区四区| 精品国产伦一区二区三区观看方式 | 无码av中文一区二区三区桃花岛| 国产河南妇女毛片精品久久久| 欧美无砖专区一中文字| 国产精品人人做人人爽人人添| 日韩在线一区二区| 色综合久久综合网欧美综合网| 久久综合色一综合色88| 亚洲国产一区二区视频| 风流少妇一区二区| 精品国产一区二区三区久久影院| 亚洲在线一区二区三区| 国v精品久久久网| 久久亚洲精品小早川怜子| 午夜av电影一区| 欧美亚洲免费在线一区| 中文字幕在线观看一区二区| 国产v综合v亚洲欧| 精品少妇一区二区三区日产乱码 | 亚洲一区二区在线视频| 成人午夜av在线| 亚洲精品一区二区三区福利| 日韩av一级片| 欧美日韩精品一区二区三区蜜桃| 国产精品久久久久国产精品日日| 国产成人在线视频网站| 精品成人一区二区三区四区| 另类的小说在线视频另类成人小视频在线| 色狠狠综合天天综合综合| 国产精品久久久久aaaa| 高清shemale亚洲人妖| 久久九九全国免费| 国产精品一区2区| 久久久综合网站| 国产风韵犹存在线视精品| 精品国产乱码91久久久久久网站| 老司机午夜精品| 精品日本一线二线三线不卡| 久热成人在线视频| 欧美顶级少妇做爰| 日本欧美在线看| 日韩欧美中文一区| 激情亚洲综合在线| 26uuu久久天堂性欧美| 精品一区二区三区视频在线观看| 欧美va亚洲va香蕉在线| 国产高清一区日本| 国产精品超碰97尤物18| 91年精品国产| 亚洲电影在线免费观看| 欧美精品一二三| 免费成人美女在线观看| 欧美电影免费观看高清完整版 | 东方欧美亚洲色图在线| 亚洲国产精品精华液2区45| 成人教育av在线| 亚洲黄色小说网站| 欧美人体做爰大胆视频| 美国av一区二区| 日本一区二区三区久久久久久久久不 | 99综合电影在线视频| 一区二区成人在线| 91精品国产乱码| 国产精品12区| 一区二区三区四区国产精品| 欧美日韩mp4| 国产在线视频精品一区| 国产精品不卡一区二区三区| 91福利社在线观看| 蜜臀av一区二区| 国产精品久久久久久久久免费相片 | 一本色道久久综合精品竹菊| 亚洲精品日韩一| 欧美日韩一区视频| 麻豆91在线播放免费| 亚洲国产精品99久久久久久久久| 91免费精品国自产拍在线不卡| 一区二区三区av电影| 精品嫩草影院久久| 91色porny在线视频| 蜜臀精品一区二区三区在线观看| 国产色产综合色产在线视频| 欧美中文字幕一区| 久久激五月天综合精品| 中文字幕在线视频一区| 制服丝袜亚洲网站| av不卡免费在线观看| 欧美aaa在线| 综合久久久久久| 久久综合九色欧美综合狠狠| 色综合久久中文综合久久97| 韩国av一区二区| 亚洲一区二区三区美女| 久久久久久久一区| 欧美日韩在线不卡| 成人美女在线视频| 奇米精品一区二区三区四区| 国产精品乱人伦中文| 欧美成人官网二区| 欧美性视频一区二区三区| 国产成人av福利| 蜜桃视频第一区免费观看| 国产成人欧美日韩在线电影| 久久99精品久久久久久 |