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

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

?? 3way.cpp

?? #include "pch.h" #include "base64.h" NAMESPACE_BEGIN(CryptoPP) static const int MAX_LINE_LENG
?? CPP
字號:
// 3way.cpp - modifed by Wei Dai from Joan Daemen's 3way.c

#include "pch.h"
#include "3way.h"

NAMESPACE_BEGIN(CryptoPP)

static const word32 START_E = 0x0b0b; // round constant of first encryption round
static const word32 START_D = 0xb1b1; // round constant of first decryption round

static inline word32 reverseBits(word32 a)
{
	a = ((a & 0xAAAAAAAAL) >> 1) | ((a & 0x55555555L) << 1);
	a = ((a & 0xCCCCCCCCL) >> 2) | ((a & 0x33333333L) << 2);
	return ((a & 0xF0F0F0F0L) >> 4) | ((a & 0x0F0F0F0FL) << 4);
}

#define mu(a0, a1, a2)				\
{									\
	a1 = reverseBits(a1);			\
	word32 t = reverseBits(a0);		\
	a0 = reverseBits(a2);			\
	a2 = t;							\
}

#define pi_gamma_pi(a0, a1, a2)		\
{									\
	word32 b0, b2;					\
	b2 = rotl(a2, 1U);				\
	b0 = rotl(a0, 22U);				\
	a0 = rotl(b0 ^ (a1|(~b2)), 1U);	\
	a2 = rotl(b2 ^ (b0|(~a1)), 22U);\
	a1 ^= (b2|(~b0));				\
}

// thanks to Paulo Barreto for this optimized theta()
#define theta(a0, a1, a2)									\
{ 															\
	word32 b0, b1, c; 										\
	c = a0 ^ a1 ^ a2; 										\
	c = rotl(c, 16U) ^ rotl(c, 8U); 						\
	b0 = (a0 << 24) ^ (a2 >> 8) ^ (a1 << 8) ^ (a0 >> 24); 	\
	b1 = (a1 << 24) ^ (a0 >> 8) ^ (a2 << 8) ^ (a1 >> 24); 	\
	a0 ^= c ^ b0; 											\
	a1 ^= c ^ b1; 											\
	a2 ^= c ^ (b0 >> 16) ^ (b1 << 16); 						\
}															

#define rho(a0, a1, a2)			\
{								\
	theta(a0, a1, a2);			\
	pi_gamma_pi(a0, a1, a2);	\
}											

static void GenerateRoundConstants(word32 strt, word32 *rtab, unsigned int rounds)
{
	for(unsigned i=0; i<=rounds; i++)
	{
		rtab[i] = strt;
		strt <<= 1;
		if (strt&0x10000) strt ^= 0x11011;
	}
}

ThreeWayEncryption::ThreeWayEncryption(const byte *uk, unsigned rounds)
	: rounds(rounds), rc(rounds+1)
{
	GenerateRoundConstants(START_E, rc, rounds);
	for (int i=0; i<3; i++)
		k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24);
}

ThreeWayEncryption::~ThreeWayEncryption()
{
	k[0]=k[1]=k[2]=0;
}

void ThreeWayEncryption::ProcessBlock(const byte *in, byte * out) const
{
	word32 a0, a1, a2;

#ifdef IS_LITTLE_ENDIAN
	a0 = byteReverse(*(word32 *)in);
	a1 = byteReverse(*(word32 *)(in+4));
	a2 = byteReverse(*(word32 *)(in+8));
#else
	a0 = *(word32 *)in;
	a1 = *(word32 *)(in+4);
	a2 = *(word32 *)(in+8);
#endif

	for(unsigned i=0; i<rounds; i++)
	{
		a0 ^= k[0] ^ (rc[i]<<16);
		a1 ^= k[1];
		a2 ^= k[2] ^ rc[i];
		rho(a0, a1, a2);
	}
	a0 ^= k[0] ^ (rc[rounds]<<16);
	a1 ^= k[1];
	a2 ^= k[2] ^ rc[rounds];
	theta(a0, a1, a2);

#ifdef IS_LITTLE_ENDIAN
	*(word32 *)out = byteReverse(a0);
	*(word32 *)(out+4) = byteReverse(a1);
	*(word32 *)(out+8) = byteReverse(a2);
#else
	*(word32 *)out = a0;
	*(word32 *)(out+4) = a1;
	*(word32 *)(out+8) = a2;
#endif
}

ThreeWayDecryption::ThreeWayDecryption(const byte *uk, unsigned rounds)
	: rounds(rounds), rc(rounds+1)
{
	GenerateRoundConstants(START_D, rc, rounds);
	for (int i=0; i<3; i++)
		k[i] = (word32)uk[4*i+3] | ((word32)uk[4*i+2]<<8) | ((word32)uk[4*i+1]<<16) | ((word32)uk[4*i]<<24);
	theta(k[0], k[1], k[2]);
	mu(k[0], k[1], k[2]);
	k[0] = byteReverse(k[0]);
	k[1] = byteReverse(k[1]);
	k[2] = byteReverse(k[2]);
}

ThreeWayDecryption::~ThreeWayDecryption()
{
	k[0]=k[1]=k[2]=0;
}

void ThreeWayDecryption::ProcessBlock(const byte *in, byte * out) const
{
	word32 a0, a1, a2;

#ifndef IS_LITTLE_ENDIAN
	a0 = byteReverse(*(word32 *)in);
	a1 = byteReverse(*(word32 *)(in+4));
	a2 = byteReverse(*(word32 *)(in+8));
#else
	a0 = *(word32 *)in;
	a1 = *(word32 *)(in+4);
	a2 = *(word32 *)(in+8);
#endif

	mu(a0, a1, a2);
	for(unsigned i=0; i<rounds; i++)
	{
		a0 ^= k[0] ^ (rc[i]<<16);
		a1 ^= k[1];
		a2 ^= k[2] ^ rc[i];
		rho(a0, a1, a2);
	}
	a0 ^= k[0] ^ (rc[rounds]<<16);
	a1 ^= k[1];
	a2 ^= k[2] ^ rc[rounds];
	theta(a0, a1, a2);
	mu(a0, a1, a2);

#ifndef IS_LITTLE_ENDIAN
	*(word32 *)out = byteReverse(a0);
	*(word32 *)(out+4) = byteReverse(a1);
	*(word32 *)(out+8) = byteReverse(a2);
#else
	*(word32 *)out = a0;
	*(word32 *)(out+4) = a1;
	*(word32 *)(out+8) = a2;
#endif
}

NAMESPACE_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产98色在线|日韩| 国产欧美一区二区精品性色 | 香蕉影视欧美成人| 国产成人在线观看| 欧美日韩一二区| 欧美韩日一区二区三区四区| 人人精品人人爱| 色综合中文字幕国产| 欧美电影免费观看高清完整版在 | 成人爱爱电影网址| 欧美一区二区福利视频| 天天av天天翘天天综合网| 国产激情偷乱视频一区二区三区| 3d成人h动漫网站入口| 一区二区在线观看不卡| 国产suv一区二区三区88区| 日韩一区二区视频在线观看| 亚洲乱码国产乱码精品精小说| 国产在线精品一区二区不卡了 | 国产精品久久久久久久久久久免费看| 国产一区欧美二区| 一区二区在线观看视频在线观看| 日韩亚洲电影在线| 91网页版在线| 风流少妇一区二区| 日韩中文字幕区一区有砖一区 | 亚洲影视在线观看| 东方aⅴ免费观看久久av| 日韩女优制服丝袜电影| 日本不卡高清视频| 在线播放中文一区| 亚洲精品国产成人久久av盗摄| 精品中文字幕一区二区小辣椒| 久久精品这里都是精品| 日本特黄久久久高潮| 在线观看免费亚洲| 亚洲色图制服诱惑 | 成人性生交大片| 亚洲精品一区二区在线观看| 久久99精品久久久久| 欧美精品一区二区三区蜜桃 | 老司机免费视频一区二区三区| 91精品啪在线观看国产60岁| 黄色精品一二区| 日韩欧美三级在线| 国产精品资源网站| 综合久久一区二区三区| 在线观看亚洲一区| 美女www一区二区| 国产三级精品在线| 色婷婷精品久久二区二区蜜臂av | 一区二区三区国产豹纹内裤在线| 91丝袜美女网| 午夜电影网一区| 久久久激情视频| 欧洲精品一区二区| 久久99国产精品久久99果冻传媒 | 久久久久久99久久久精品网站| 国产成人av电影在线播放| 亚洲精品福利视频网站| 日韩一级二级三级精品视频| 国产成人精品亚洲777人妖| 一区二区在线观看免费| 亚洲精品一区二区三区四区高清| 成人18精品视频| 日韩av高清在线观看| 国产精品三级视频| 精品视频一区二区不卡| 国产精品乡下勾搭老头1| 亚洲综合色在线| 国产亚洲成年网址在线观看| 欧美性淫爽ww久久久久无| 国产精品影视在线| 午夜精品久久久久久| 日本一区二区免费在线| 正在播放一区二区| 99久久综合精品| 久久综合综合久久综合| 一区二区三区不卡视频在线观看| 欧美草草影院在线视频| 欧美亚洲国产怡红院影院| 丰满亚洲少妇av| 成人黄色777网| 日本欧美在线观看| 亚洲自拍偷拍网站| 国产精品情趣视频| 精品动漫一区二区三区在线观看| 色婷婷亚洲一区二区三区| 国产激情视频一区二区三区欧美| 免费在线观看精品| 亚洲午夜免费电影| 亚洲乱码一区二区三区在线观看| 国产欧美中文在线| 久久综合资源网| 在线播放一区二区三区| 欧美色图免费看| 色8久久人人97超碰香蕉987| 成人动漫一区二区在线| 国产盗摄视频一区二区三区| 麻豆精品一区二区| 日本在线观看不卡视频| 亚洲h精品动漫在线观看| 一区二区三区av电影| 一区精品在线播放| 国产精品国产自产拍在线| 国产日韩高清在线| 国产午夜一区二区三区| 久久夜色精品一区| 亚洲精品一线二线三线无人区| 欧美成人性福生活免费看| 日韩欧美亚洲国产精品字幕久久久| 欧美日本一区二区三区| 欧美精品欧美精品系列| 日本精品一区二区三区四区的功能| 99精品国产热久久91蜜凸| 91麻豆福利精品推荐| 93久久精品日日躁夜夜躁欧美| 成人污污视频在线观看| 99久久精品国产一区二区三区| eeuss鲁片一区二区三区| 99在线精品视频| 欧美亚洲国产一卡| 91精品国产综合久久精品图片| 欧美一级片在线观看| 精品少妇一区二区三区| 久久久久久久久久久久久女国产乱 | 色呦呦日韩精品| 91国产福利在线| 日韩一区二区电影| 精品国产一区二区三区忘忧草| 久久久亚洲精华液精华液精华液| 日本一区二区三区电影| 亚洲黄色av一区| 三级欧美韩日大片在线看| 久久精品久久综合| 国产91丝袜在线播放九色| 99re成人在线| 884aa四虎影成人精品一区| 精品国产露脸精彩对白| 国产精品久久久久婷婷二区次| 一区二区三区视频在线观看| 日韩有码一区二区三区| 国产成人精品免费一区二区| 色老汉一区二区三区| 精品国产乱码久久| 亚洲精品日产精品乱码不卡| 麻豆久久一区二区| 91一区一区三区| 日韩一级免费一区| 中文字幕一区二| 蜜桃精品在线观看| av动漫一区二区| 日韩欧美一区二区三区在线| 亚洲国产高清在线观看视频| 亚洲成人动漫精品| 91在线视频官网| 欧美大尺度电影在线| 亚洲精品国产精华液| 久久99精品国产91久久来源| 在线观看一区二区视频| 国产天堂亚洲国产碰碰| 亚洲va在线va天堂| 99久久精品一区二区| 久久亚洲免费视频| 天堂精品中文字幕在线| eeuss鲁片一区二区三区在线观看| 日韩一区二区三区av| 一二三四社区欧美黄| 粉嫩一区二区三区在线看| 日韩三级伦理片妻子的秘密按摩| 亚洲美女免费在线| fc2成人免费人成在线观看播放| 精品理论电影在线| 婷婷开心久久网| 色老头久久综合| 亚洲欧美激情插| 9i在线看片成人免费| 国产欧美日韩视频一区二区| 捆绑调教美女网站视频一区| 欧美日韩综合在线免费观看| 国产精品成人网| 成人爽a毛片一区二区免费| 26uuu精品一区二区 | 夜色激情一区二区| 91在线精品一区二区| 日本一区二区三区国色天香| 国产乱人伦偷精品视频免下载| 日韩视频永久免费| 日韩黄色一级片| 91精品国产乱码| 免费欧美在线视频| 在线成人av网站| 免费高清视频精品| 91精品综合久久久久久| 香蕉影视欧美成人| 欧美一级片在线| 激情成人午夜视频| 国产嫩草影院久久久久| 风间由美一区二区三区在线观看 | 精品一区二区免费看|