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

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

?? lubyrack.h

?? 應用非對稱密鑰系統RSA密碼系統進行數據簽名的代碼
?? H
字號:
// lubyrack.h - written and placed in the public domain by Wei Dai

#ifndef CRYPTOPP_LUBYRACK_H
#define CRYPTOPP_LUBYRACK_H

/** \file */

#include "simple.h"
#include "secblock.h"

NAMESPACE_BEGIN(CryptoPP)

template <class T> struct DigestSizeDoubleWorkaround 	// VC60 workaround
{
	CRYPTOPP_CONSTANT(RESULT = 2*T::DIGESTSIZE)
};

//! algorithm info
template <class T>
struct LR_Info : public VariableKeyLength<16, 0, 2*(INT_MAX/2), 2>, public FixedBlockSize<DigestSizeDoubleWorkaround<T>::RESULT>
{
	static std::string StaticAlgorithmName() {return std::string("LR/")+T::StaticAlgorithmName();}
};

//! Luby-Rackoff
template <class T>
class LR : public LR_Info<T>, public BlockCipherDocumentation
{
	class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl<LR_Info<T> >
	{
	public:
		// VC60 workaround: have to define these functions within class definition
		void UncheckedSetKey(const byte *userKey, unsigned int length, const NameValuePairs &params)
		{
			this->AssertValidKeyLength(length);

			L = length/2;
			buffer.New(2*S);
			digest.New(S);
			key.Assign(userKey, 2*L);
		}

	protected:
		CRYPTOPP_CONSTANT(S=T::DIGESTSIZE)
		unsigned int L;	// key length / 2
		SecByteBlock key;

		mutable T hm;
		mutable SecByteBlock buffer, digest;
	};

	class CRYPTOPP_NO_VTABLE Enc : public Base
	{
	public:

#define KL this->key
#define KR this->key+this->L
#define BL this->buffer
#define BR this->buffer+this->S
#define IL inBlock
#define IR inBlock+this->S
#define OL outBlock
#define OR outBlock+this->S

		void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
		{
			this->hm.Update(KL, this->L);
			this->hm.Update(IL, this->S);
			this->hm.Final(BR);
			xorbuf(BR, IR, this->S);

			this->hm.Update(KR, this->L);
			this->hm.Update(BR, this->S);
			this->hm.Final(BL);
			xorbuf(BL, IL, this->S);

			this->hm.Update(KL, this->L);
			this->hm.Update(BL, this->S);
			this->hm.Final(this->digest);
			xorbuf(BR, this->digest, this->S);

			this->hm.Update(KR, this->L);
			this->hm.Update(OR, this->S);
			this->hm.Final(this->digest);
			xorbuf(BL, this->digest, this->S);

			if (xorBlock)
				xorbuf(outBlock, xorBlock, this->buffer, 2*this->S);
			else
				memcpy_s(outBlock, 2*this->S, this->buffer, 2*this->S);
		}
	};

	class CRYPTOPP_NO_VTABLE Dec : public Base
	{
	public:
		void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const
		{
			this->hm.Update(KR, this->L);
			this->hm.Update(IR, this->S);
			this->hm.Final(BL);
			xorbuf(BL, IL, this->S);

			this->hm.Update(KL, this->L);
			this->hm.Update(BL, this->S);
			this->hm.Final(BR);
			xorbuf(BR, IR, this->S);

			this->hm.Update(KR, this->L);
			this->hm.Update(BR, this->S);
			this->hm.Final(this->digest);
			xorbuf(BL, this->digest, this->S);

			this->hm.Update(KL, this->L);
			this->hm.Update(OL, this->S);
			this->hm.Final(this->digest);
			xorbuf(BR, this->digest, this->S);

			if (xorBlock)
				xorbuf(outBlock, xorBlock, this->buffer, 2*this->S);
			else
				memcpy(outBlock, this->buffer, 2*this->S);
		}
#undef KL
#undef KR
#undef BL
#undef BR
#undef IL
#undef IR
#undef OL
#undef OR
	};

public:
	typedef BlockCipherFinal<ENCRYPTION, Enc> Encryption;
	typedef BlockCipherFinal<DECRYPTION, Dec> Decryption;
};

NAMESPACE_END

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜亚洲精品理论片色戒| 6080亚洲精品一区二区| 美女在线视频一区| 偷拍一区二区三区四区| 亚洲线精品一区二区三区| 伊人一区二区三区| 亚洲一卡二卡三卡四卡无卡久久| 亚洲三级免费电影| 亚洲一区二区在线视频| 一个色在线综合| 五月天欧美精品| 秋霞午夜鲁丝一区二区老狼| 麻豆精品视频在线| 国产精品456| 97国产精品videossex| 日本高清不卡视频| 欧美一区二区三区思思人| 日韩美女主播在线视频一区二区三区| 欧美大胆一级视频| 欧美激情一区三区| 亚洲综合成人在线| 蜜桃视频在线观看一区二区| 国产一本一道久久香蕉| 不卡电影一区二区三区| 欧美专区亚洲专区| 日韩久久免费av| 中文字幕中文字幕中文字幕亚洲无线| 亚洲欧洲av在线| 婷婷综合久久一区二区三区| 久久国产精品区| 99re66热这里只有精品3直播 | 亚洲免费观看高清完整版在线观看 | 久久免费美女视频| 国产成人av资源| 国产一区在线不卡| 成人午夜在线免费| 欧美日韩一二三| 国产人妖乱国产精品人妖| 亚洲卡通动漫在线| 免费高清在线视频一区·| 国产精品一区免费在线观看| 91丨porny丨户外露出| 欧美一区二区三区啪啪| 国产精品麻豆欧美日韩ww| 日本亚洲三级在线| 色噜噜夜夜夜综合网| 欧美精品一区二区三区蜜臀| 亚洲人妖av一区二区| 久久99久久精品| 色94色欧美sute亚洲线路一久| 日韩欧美三级在线| 亚洲一区二区三区中文字幕| 国产精品一区二区三区网站| 91精品国产色综合久久ai换脸| 国产精品久久福利| 国产成人综合网| 日韩欧美色综合网站| 一区二区免费看| 成人成人成人在线视频| 久久久影视传媒| 蜜桃久久av一区| 欧美三级一区二区| 亚洲免费在线视频| eeuss鲁一区二区三区| 久久久亚洲综合| 国产中文一区二区三区| 日韩欧美在线一区二区三区| 一区二区免费看| 日本精品一区二区三区四区的功能| 久久久久久9999| 国内精品国产成人| 久久综合国产精品| 国产精品18久久久久久久久 | 91精品国产综合久久香蕉的特点| 伊人开心综合网| 91色porny| 亚洲男女一区二区三区| 色噜噜狠狠一区二区三区果冻| 中文字幕一区二区视频| 国产a精品视频| 中文字幕精品在线不卡| 成人免费视频免费观看| 国产精品天干天干在观线| 丁香桃色午夜亚洲一区二区三区 | 粉嫩13p一区二区三区| 国产亚洲一区二区三区在线观看| 国产精品一二三在| 国产精品成人网| 欧洲另类一二三四区| 午夜精品久久久久久久久| 5月丁香婷婷综合| 狠狠色丁香婷婷综合久久片| 久久影音资源网| 99re这里只有精品视频首页| 亚洲精品国久久99热| 欧美群妇大交群中文字幕| 日韩黄色在线观看| 久久精品一区二区三区不卡| 色综合天天综合色综合av| 亚洲一区av在线| 欧美mv日韩mv国产| 99久久久免费精品国产一区二区| 亚洲精品国久久99热| 日韩小视频在线观看专区| 国产精品亚洲午夜一区二区三区| 一区在线观看视频| 7777女厕盗摄久久久| 国产成人aaaa| 亚洲成在人线在线播放| 久久中文字幕电影| 欧美综合一区二区| 国产大陆a不卡| 亚洲国产aⅴ天堂久久| 久久综合网色—综合色88| 91社区在线播放| 韩国三级电影一区二区| 亚洲精品欧美二区三区中文字幕| 日韩一级大片在线观看| 成人黄色网址在线观看| 美女视频网站黄色亚洲| 亚洲精品免费在线播放| 国产网站一区二区| 91精品国产高清一区二区三区蜜臀| 懂色一区二区三区免费观看| 亚洲一线二线三线久久久| 国产日韩精品一区二区浪潮av| 欧美日韩一区二区三区免费看| 成人免费不卡视频| 蜜桃91丨九色丨蝌蚪91桃色| 一区二区三区欧美视频| 久久精品亚洲乱码伦伦中文| 欧美一区2区视频在线观看| 97久久超碰国产精品| 美女视频一区在线观看| 日韩一区精品字幕| 一级女性全黄久久生活片免费| 国产精品丝袜91| 亚洲精品一区二区三区四区高清| 制服丝袜在线91| 色偷偷一区二区三区| 不卡高清视频专区| 成人av网站在线| 国产伦理精品不卡| 韩国一区二区在线观看| 麻豆精品视频在线观看| 丝袜诱惑亚洲看片| 图片区小说区区亚洲影院| 亚洲无线码一区二区三区| 亚洲啪啪综合av一区二区三区| 国产精品国产精品国产专区不片| 国产片一区二区| 国产日韩v精品一区二区| 国产日韩v精品一区二区| 国产亚洲欧美激情| 中文乱码免费一区二区| 中文字幕日韩一区| 一区二区在线观看不卡| 亚洲一区在线视频观看| 一区二区三区精品久久久| 亚洲愉拍自拍另类高清精品| 亚洲一区免费视频| 日韩精品一级中文字幕精品视频免费观看 | 欧美激情在线一区二区| 国产精品国产三级国产| 最新国产精品久久精品| 亚洲精品写真福利| 午夜电影网一区| 美女视频黄免费的久久 | 国产精品久久久久久妇女6080| 国产精品免费视频一区| 最新国产精品久久精品| 亚洲国产成人av网| 久久99久国产精品黄毛片色诱| 精品亚洲免费视频| 成人免费视频免费观看| 在线观看免费成人| 欧美tickling网站挠脚心| 亚洲国产成人在线| 亚洲成人免费影院| 国产一区高清在线| 在线一区二区三区四区五区| 日韩一区二区三区视频在线 | 日韩一区二区三区四区五区六区| 日韩视频在线你懂得| 欧美激情在线免费观看| 亚洲激情av在线| 国产一区在线不卡| 91久久精品一区二区二区| 日韩亚洲欧美一区二区三区| 国产精品国产三级国产有无不卡| 亚洲一区精品在线| 国产 日韩 欧美大片| 精品视频色一区| 国产欧美va欧美不卡在线| 亚洲高清免费视频| 成人黄色软件下载| 日韩精品一区二区三区四区视频| 一区二区三区日韩欧美| 国产一区二区在线免费观看| 在线观看中文字幕不卡|