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

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

?? gost.cpp

?? 加密函數(shù)庫:包括多種加密解密算法,數(shù)字簽名,散列算法
?? CPP
字號:
#include "pch.h"
#include "gost.h"
#include "misc.h"

NAMESPACE_BEGIN(CryptoPP)

// these are the S-boxes given in Applied Cryptography 2nd Ed., p. 333
const byte GOST::Base::sBox[8][16]={
	{4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3},
	{14, 11, 4, 12, 6, 13, 15, 10, 2, 3, 8, 1, 0, 7, 5, 9},
	{5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11},
	{7, 13, 10, 1, 0, 8, 9, 15, 14, 4, 6, 12, 11, 2, 5, 3},
	{6, 12, 7, 1, 5, 15, 13, 8, 4, 10, 9, 14, 0, 3, 11, 2},
	{4, 11, 10, 0, 7, 2, 1, 13, 3, 6, 8, 5, 9, 12, 15, 14},
	{13, 11, 4, 1, 3, 15, 5, 9, 0, 10, 14, 7, 6, 8, 2, 12},
	{1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12}};

/*	// these are the S-boxes given in the GOST source code listing in Applied
	// Cryptography 2nd Ed., p. 644.  they appear to be from the DES S-boxes
	{13,  2,  8,  4,  6, 15, 11,  1, 10,  9,  3, 14,  5,  0, 12,  7 },
	{ 4, 11,  2, 14, 15,  0,  8, 13,  3, 12,  9,  7,  5, 10,  6,  1 },
	{12,  1, 10, 15,  9,  2,  6,  8,  0, 13,  3,  4, 14,  7,  5, 11 },
	{ 2, 12,  4,  1,  7, 10, 11,  6,  8,  5,  3, 15, 13,  0, 14,  9 },
	{ 7, 13, 14,  3,  0,  6,  9, 10,  1,  2,  8,  5, 11, 12,  4, 15 },
	{10,  0,  9, 14,  6,  3, 15,  5,  1, 13, 12,  7, 11,  4,  2,  8 },
	{15,  1,  8, 14,  6, 11,  3,  4,  9,  7,  2, 13, 12,  0,  5, 10 },
	{14,  4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7 }}; 
*/

bool GOST::Base::sTableCalculated = false;
word32 GOST::Base::sTable[4][256];

void GOST::Base::UncheckedSetKey(CipherDir direction, const byte *userKey, unsigned int length)
{
	AssertValidKeyLength(length);

	PrecalculateSTable();

	GetUserKey(LITTLE_ENDIAN_ORDER, key.begin(), 8, userKey, KEYLENGTH);
}

void GOST::Base::PrecalculateSTable()
{
	if (!sTableCalculated)
	{
		for (unsigned i = 0; i < 4; i++)
			for (unsigned j = 0; j < 256; j++) 
			{
				word32 temp = sBox[2*i][j%16] | (sBox[2*i+1][j/16] << 4);
				sTable[i][j] = rotlMod(temp, 11+8*i);
			}

		sTableCalculated=true;
	}
}

#define f(x)  ( t=x,												\
				sTable[3][GETBYTE(t, 3)] ^ sTable[2][GETBYTE(t, 2)]	\
			  ^ sTable[1][GETBYTE(t, 1)] ^ sTable[0][GETBYTE(t, 0)]	)

typedef BlockGetAndPut<word32, LittleEndian> Block;

void GOST::Enc::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
	word32 n1, n2, t;

	Block::Get(inBlock)(n1)(n2);

	for (unsigned int i=0; i<3; i++)
	{
		n2 ^= f(n1+key[0]);
		n1 ^= f(n2+key[1]);
		n2 ^= f(n1+key[2]);
		n1 ^= f(n2+key[3]);
		n2 ^= f(n1+key[4]);
		n1 ^= f(n2+key[5]);
		n2 ^= f(n1+key[6]);
		n1 ^= f(n2+key[7]);
	}

	n2 ^= f(n1+key[7]);
	n1 ^= f(n2+key[6]);
	n2 ^= f(n1+key[5]);
	n1 ^= f(n2+key[4]);
	n2 ^= f(n1+key[3]);
	n1 ^= f(n2+key[2]);
	n2 ^= f(n1+key[1]);
	n1 ^= f(n2+key[0]);

	Block::Put(xorBlock, outBlock)(n2)(n1);
}

void GOST::Dec::ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
{
	word32 n1, n2, t;

	Block::Get(inBlock)(n1)(n2);

	n2 ^= f(n1+key[0]);
	n1 ^= f(n2+key[1]);
	n2 ^= f(n1+key[2]);
	n1 ^= f(n2+key[3]);
	n2 ^= f(n1+key[4]);
	n1 ^= f(n2+key[5]);
	n2 ^= f(n1+key[6]);
	n1 ^= f(n2+key[7]);

	for (unsigned int i=0; i<3; i++)
	{
		n2 ^= f(n1+key[7]);
		n1 ^= f(n2+key[6]);
		n2 ^= f(n1+key[5]);
		n1 ^= f(n2+key[4]);
		n2 ^= f(n1+key[3]);
		n1 ^= f(n2+key[2]);
		n2 ^= f(n1+key[1]);
		n1 ^= f(n2+key[0]);
	}

	Block::Put(xorBlock, outBlock)(n2)(n1);
}

NAMESPACE_END

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线国偷精品免费看| 91成人看片片| 一本色道综合亚洲| 欧美电视剧在线观看完整版| 亚洲色图20p| 国产米奇在线777精品观看| 在线观看国产日韩| 国产精品三级电影| 精品在线观看视频| 欧美久久久久中文字幕| 亚洲视频一区在线观看| 国产美女av一区二区三区| 5566中文字幕一区二区电影 | 国产中文一区二区三区| 欧美在线一二三四区| 亚洲国产精品传媒在线观看| 另类欧美日韩国产在线| 欧美另类videos死尸| 1区2区3区欧美| 成人免费精品视频| 中文字幕久久午夜不卡| 国产在线精品国自产拍免费| 日韩精品中文字幕在线一区| 日韩精品1区2区3区| 欧美日韩亚洲综合一区| 亚洲综合色视频| 91福利在线播放| 亚洲激情成人在线| 色综合久久88色综合天天| 亚洲视频电影在线| 色噜噜久久综合| 自拍偷拍欧美精品| 在线免费观看不卡av| 亚洲图片欧美综合| 欧美日韩一区二区电影| 日日夜夜精品视频天天综合网| 欧美日韩在线观看一区二区| 亚洲午夜免费视频| 欧美肥妇毛茸茸| 看片的网站亚洲| 久久久一区二区三区| 粉嫩蜜臀av国产精品网站| 国产精品国产自产拍高清av| 91丨九色丨蝌蚪丨老版| 亚洲一卡二卡三卡四卡五卡| 欧美视频在线一区| 国产成人丝袜美腿| 国产亚洲人成网站| 国产麻豆9l精品三级站| 国产三级一区二区| 国产不卡免费视频| 久久精品欧美一区二区三区不卡| 国产乱子轮精品视频| 久久久久久毛片| 国产精品1区2区3区| 国产亚洲精久久久久久| 国产丶欧美丶日本不卡视频| 久久精品日韩一区二区三区| 成人av免费在线播放| 中文字幕在线不卡| 国产成人精品亚洲777人妖| 国产亚洲综合在线| 国产在线播放一区三区四| www成人在线观看| 成人综合在线视频| 成人欧美一区二区三区黑人麻豆| 色香蕉久久蜜桃| 亚洲自拍偷拍网站| 日韩一区二区三区精品视频| 蜜桃精品在线观看| 国产精品视频在线看| 欧美午夜电影网| 老司机精品视频一区二区三区| 国产午夜精品在线观看| 成人av网站免费观看| 美国毛片一区二区三区| 中文在线一区二区| 欧美视频在线观看一区二区| 精品在线播放午夜| 亚洲女人****多毛耸耸8| 欧美一区二区三区人| 懂色av一区二区夜夜嗨| 亚洲地区一二三色| 国产精品福利一区| 制服丝袜国产精品| 懂色av噜噜一区二区三区av| 亚洲尤物视频在线| 国产日韩欧美高清在线| 欧美亚洲国产一区二区三区 | 久久精品国产久精国产爱| 国产亚洲成年网址在线观看| 94-欧美-setu| 九色综合国产一区二区三区| 亚洲日本免费电影| 精品福利二区三区| 欧美色综合网站| 粗大黑人巨茎大战欧美成人| 天天综合天天综合色| www国产亚洲精品久久麻豆| 日韩一区二区三区观看| 色婷婷综合久色| 国产成人一区在线| 午夜成人免费电影| 亚洲视频精选在线| 国产欧美一区二区三区在线看蜜臀| 在线中文字幕不卡| 国产白丝精品91爽爽久久| 亚洲成a人在线观看| 国产欧美精品国产国产专区| 91精品久久久久久久91蜜桃| 99r国产精品| 国产精品亚洲专一区二区三区| 亚洲男人天堂一区| 综合电影一区二区三区 | 秋霞成人午夜伦在线观看| 日韩美女久久久| 国产欧美一区二区在线| 欧美高清精品3d| 日本乱码高清不卡字幕| 欧美日韩中文字幕一区二区| 91影视在线播放| 成人黄色777网| 成人午夜在线视频| 国产美女精品人人做人人爽 | 9191成人精品久久| 欧美亚州韩日在线看免费版国语版| 99精品久久久久久| 国产91富婆露脸刺激对白| 久久爱www久久做| 精品一区在线看| 久久精品99国产精品| 国产成人一区在线| 成人污视频在线观看| 国产成人av电影免费在线观看| 国产精品一区一区三区| 久久99精品国产.久久久久| 蜜臀99久久精品久久久久久软件| 日韩精品视频网站| 亚洲一区二区三区四区在线| 奇米影视一区二区三区小说| 热久久免费视频| 久久综合综合久久综合| 黄页视频在线91| 国产精品99久久久久久有的能看| 国产电影一区在线| 99久久精品国产毛片| 床上的激情91.| 91性感美女视频| 欧美日韩在线播放三区| 91精品国产一区二区三区香蕉| 欧美一区二区视频在线观看2022| 91麻豆精品国产91久久久久| 日韩三级免费观看| 国产网红主播福利一区二区| 中文字幕中文在线不卡住| 日韩毛片一二三区| 亚洲成a人v欧美综合天堂| 日本成人超碰在线观看| 精品亚洲成a人| av亚洲精华国产精华| 欧洲av一区二区嗯嗯嗯啊| 日韩一区二区在线观看视频 | 91在线porny国产在线看| 欧美三级乱人伦电影| 26uuu国产在线精品一区二区| 久久一区二区视频| 国产精品女同互慰在线看| 免费在线看成人av| 成人蜜臀av电影| 欧美日韩国产欧美日美国产精品| 精品国产青草久久久久福利| 国产精品进线69影院| 视频一区二区三区在线| 国产黑丝在线一区二区三区| 色天天综合久久久久综合片| 久久久久9999亚洲精品| 亚洲综合色视频| 懂色av一区二区在线播放| 欧美精品一级二级| 中文字幕在线不卡一区二区三区| 日日夜夜精品视频天天综合网| 国产sm精品调教视频网站| 91成人免费网站| 国产精品看片你懂得| 秋霞电影一区二区| 在线看国产一区| 国产无人区一区二区三区| 青娱乐精品在线视频| 在线中文字幕一区二区| 18涩涩午夜精品.www| 国产麻豆精品95视频| 在线播放中文一区| 一区二区三区在线视频免费观看| 精品一区二区三区蜜桃| 91行情网站电视在线观看高清版| 久久色视频免费观看| 国产一区二区三区国产| 欧美一区二区在线免费播放| 亚洲综合在线视频| 成人av在线播放网址|