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

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

?? idea.cpp

?? 加密函數庫:包括多種加密解密算法,數字簽名,散列算法
?? CPP
字號:
// 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
专区另类欧美日韩| 欧美国产成人在线| 国产成人精品1024| 亚洲色图制服诱惑| 在线一区二区三区| 久久99国产精品麻豆| 国产精品国产三级国产普通话99| av亚洲精华国产精华精华| 亚洲bt欧美bt精品777| 久久久99久久| 色综合色狠狠天天综合色| 卡一卡二国产精品| 亚洲欧美激情一区二区| 欧美日韩亚州综合| 成人高清视频在线观看| 日本成人在线电影网| 中文无字幕一区二区三区| 欧美剧情片在线观看| 成人激情动漫在线观看| 蜜臂av日日欢夜夜爽一区| 国产精品传媒在线| 欧美精品一区二区三区在线| 欧美午夜精品电影| 国产成人99久久亚洲综合精品| 亚洲成av人影院在线观看网| 国产精品久久久久影院色老大 | 国产亲近乱来精品视频| 欧美日韩mp4| 色综合久久精品| 成人理论电影网| 日本欧美在线观看| 免费的成人av| 午夜精品福利一区二区三区av | 日韩中文字幕1| 亚洲精品乱码久久久久久| 久久久久国产精品人| 日韩亚洲欧美在线| 欧美乱妇20p| 欧美日韩亚洲综合在线 | 麻豆精品在线视频| 一区二区三区小说| 综合自拍亚洲综合图不卡区| 久久久美女毛片| 日韩欧美国产电影| 91精品国产综合久久婷婷香蕉| 91国模大尺度私拍在线视频| 国产传媒日韩欧美成人| 粉嫩aⅴ一区二区三区四区五区 | 亚洲国产乱码最新视频| 亚洲午夜精品久久久久久久久| 一区二区三区在线免费观看| 亚洲免费在线看| 亚洲欧美另类久久久精品2019| 国产精品对白交换视频| 中文字幕电影一区| 国产精品乱人伦| 欧美成人三级在线| 精品久久一区二区| 久久美女高清视频| 国产日韩亚洲欧美综合| 国产欧美日韩视频在线观看| 久久综合九色欧美综合狠狠| 2020国产精品| 亚洲国产高清不卡| 亚洲精品国产精品乱码不99| 一区二区三区免费| 亚洲不卡av一区二区三区| 免费观看久久久4p| 精品系列免费在线观看| 日韩福利视频导航| 久久成人免费网站| 激情欧美一区二区三区在线观看| 精品在线一区二区三区| 国产一区视频导航| 丁香婷婷综合激情五月色| 91视频在线观看免费| 欧美天堂一区二区三区| 欧美精品少妇一区二区三区| 日韩欧美高清dvd碟片| 26uuu国产电影一区二区| 亚洲欧美一区二区三区孕妇| 五月婷婷激情综合| 午夜精品久久久久久久99水蜜桃| 久久成人免费网| 99久久精品免费观看| 91网站最新网址| 欧美二区乱c少妇| 欧美激情一区二区三区| 亚洲成人www| 国产一区二区伦理片| 色激情天天射综合网| 精品伦理精品一区| 亚洲精品乱码久久久久久黑人| 视频一区二区欧美| 国产jizzjizz一区二区| 91精品欧美综合在线观看最新| 久久综合九色欧美综合狠狠| 国产精品网站在线播放| 蜜臀国产一区二区三区在线播放| 成人av高清在线| 91精品国产黑色紧身裤美女| 中文字幕精品一区二区三区精品| 婷婷夜色潮精品综合在线| 国产福利一区二区三区视频| 欧美日韩亚洲综合| 久久先锋影音av鲁色资源网| 亚洲一区二区欧美日韩| 国产在线播精品第三| 欧美男男青年gay1069videost | 欧美精选在线播放| 国产亚洲一二三区| 天天av天天翘天天综合网色鬼国产 | ...xxx性欧美| 免费日韩伦理电影| 成人av免费在线观看| 日韩一区二区电影网| 亚洲精品视频在线观看网站| 日本大胆欧美人术艺术动态 | 国产成人免费9x9x人网站视频| 欧美视频日韩视频在线观看| 久久夜色精品国产欧美乱极品| 日韩不卡一区二区| 91黄色免费版| 18成人在线观看| 国产99久久久国产精品免费看| 91精品麻豆日日躁夜夜躁| 欧美一级日韩不卡播放免费| 亚洲综合另类小说| 白白色 亚洲乱淫| 久久久精品欧美丰满| 蜜桃精品视频在线观看| 欧美影院一区二区| 亚洲色图欧洲色图婷婷| 成人国产一区二区三区精品| 久久精品人人做人人爽人人| 蜜桃av噜噜一区二区三区小说| 91麻豆精品国产综合久久久久久| 一区二区三区四区不卡在线 | 91麻豆蜜桃一区二区三区| 久久久无码精品亚洲日韩按摩| 亚洲综合一区二区精品导航| 成人黄色av网站在线| 欧美一级黄色录像| 青青草原综合久久大伊人精品 | 不卡视频在线观看| 国产精品嫩草影院av蜜臀| 在线观看一区不卡| 亚洲免费三区一区二区| 99精品视频在线观看| 亚洲国产精品t66y| 日韩高清在线观看| 91精品婷婷国产综合久久性色| 亚洲v日本v欧美v久久精品| 欧美高清www午色夜在线视频| 亚洲1区2区3区4区| 555www色欧美视频| 蜜臀久久99精品久久久画质超高清| 欧美日韩五月天| 亚洲成人自拍网| 欧美日韩黄色一区二区| 日韩**一区毛片| 精品国产一区久久| 天天综合网 天天综合色| 欧美丰满高潮xxxx喷水动漫| 日韩高清欧美激情| 日韩一区和二区| 国产原创一区二区| 欧美一二三区精品| 国产一区二区免费看| 久久综合九色综合欧美亚洲| 国产一区二区三区久久悠悠色av| 国产日韩欧美在线一区| 99久久综合99久久综合网站| 一区二区激情视频| 欧美一区二区三区精品| 狠狠狠色丁香婷婷综合激情 | 91看片淫黄大片一级| 亚洲伊人色欲综合网| 717成人午夜免费福利电影| 亚洲午夜影视影院在线观看| 欧美一级欧美一级在线播放| 国产成人在线色| 亚洲国产精品欧美一二99| 久久久久久99久久久精品网站| av在线不卡观看免费观看| 亚洲最大成人网4388xx| 日韩欧美国产电影| av高清不卡在线| 偷拍日韩校园综合在线| 欧美丝袜丝nylons| 日本不卡视频一二三区| 国产欧美日韩三区| 欧美日韩在线电影| 国产一区在线观看麻豆| 一区二区三区在线看| 日韩精品专区在线影院重磅| www.亚洲免费av| 蜜臀av性久久久久蜜臀av麻豆| 中文字幕五月欧美| 日韩欧美中文字幕一区|