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

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

?? ida.h

?? 加密函數(shù)庫:包括多種加密解密算法,數(shù)字簽名,散列算法
?? H
字號:
#ifndef CRYPTOPP_IDA_H
#define CRYPTOPP_IDA_H

#include "mqueue.h"
#include "filters.h"
#include "channels.h"
#include <map>
#include <vector>

NAMESPACE_BEGIN(CryptoPP)

/// base class for secret sharing and information dispersal
class RawIDA : public AutoSignaling<Unflushable<Multichannel<Filter> > >
{
public:
	RawIDA(BufferedTransformation *attachment=NULL)
		: AutoSignaling<Unflushable<Multichannel<Filter> > >(attachment) {}

	unsigned int GetThreshold() const {return m_threshold;}
	void AddOutputChannel(word32 channelId);
	void ChannelData(word32 channelId, const byte *inString, unsigned int length, bool messageEnd);
	unsigned int InputBuffered(word32 channelId) const;

	void ChannelInitialize(const std::string &channel, const NameValuePairs &parameters=g_nullNameValuePairs, int propagation=-1);
	unsigned int ChannelPut2(const std::string &channel, const byte *begin, unsigned int length, int messageEnd, bool blocking)
	{
		if (!blocking)
			throw BlockingInputOnly("RawIDA");
		ChannelData(StringToWord<word32>(channel), begin, length, messageEnd != 0);
		return 0;
	}

protected:
	virtual void FlushOutputQueues();
	virtual void OutputMessageEnds();

	unsigned int InsertInputChannel(word32 channelId);
	unsigned int LookupInputChannel(word32 channelId) const;
	void ComputeV(unsigned int);
	void PrepareInterpolation();
	void ProcessInputQueues();

	std::map<word32, unsigned int> m_inputChannelMap;
	std::map<word32, unsigned int>::iterator m_lastMapPosition;
	std::vector<MessageQueue> m_inputQueues;
	std::vector<word32> m_inputChannelIds, m_outputChannelIds, m_outputToInput;
	std::vector<std::string> m_outputChannelIdStrings;
	std::vector<ByteQueue> m_outputQueues;
	int m_threshold;
	unsigned int m_channelsReady, m_channelsFinished;
	std::vector<SecBlock<word32> > m_v;
	SecBlock<word32> m_u, m_w, m_y;
};

/// a variant of Shamir's Secret Sharing Algorithm
class SecretSharing : public CustomSignalPropagation<Filter>
{
public:
	SecretSharing(RandomNumberGenerator &rng, int threshold, int nShares, BufferedTransformation *attachment=NULL, bool addPadding=true)
		: CustomSignalPropagation<Filter>(attachment), m_rng(rng), m_ida(new OutputProxy(*this, true))
		{Initialize(MakeParameters("RecoveryThreshold", threshold)("NumberOfShares", nShares)("AddPadding", addPadding), 0);}

	void Initialize(const NameValuePairs &parameters=g_nullNameValuePairs, int propagation=-1);
	unsigned int Put2(const byte *begin, unsigned int length, int messageEnd, bool blocking);
	bool Flush(bool hardFlush, int propagation=-1, bool blocking=true) {return m_ida.Flush(hardFlush, propagation, blocking);}

protected:
	RandomNumberGenerator &m_rng;
	RawIDA m_ida;
	bool m_pad;
};

/// a variant of Shamir's Secret Sharing Algorithm
class SecretRecovery : public RawIDA
{
public:
	SecretRecovery(int threshold, BufferedTransformation *attachment=NULL, bool removePadding=true)
		: RawIDA(attachment)
		{Initialize(MakeParameters("RecoveryThreshold", threshold)("RemovePadding", removePadding), 0);}

	void Initialize(const NameValuePairs &parameters=g_nullNameValuePairs, int propagation=-1);

protected:
	void FlushOutputQueues();
	void OutputMessageEnds();

	bool m_pad;
};

/// a variant of Rabin's Information Dispersal Algorithm
class InformationDispersal : public CustomSignalPropagation<Filter>
{
public:
	InformationDispersal(int threshold, int nShares, BufferedTransformation *attachment=NULL, bool addPadding=true)
		: CustomSignalPropagation<Filter>(attachment), m_ida(new OutputProxy(*this, true))
		{Initialize(MakeParameters("RecoveryThreshold", threshold)("NumberOfShares", nShares)("AddPadding", addPadding), 0);}

	void Initialize(const NameValuePairs &parameters=g_nullNameValuePairs, int propagation=-1);
	unsigned int Put2(const byte *begin, unsigned int length, int messageEnd, bool blocking);
	bool Flush(bool hardFlush, int propagation=-1, bool blocking=true) {return m_ida.Flush(hardFlush, propagation, blocking);}

protected:
	RawIDA m_ida;
	bool m_pad;
	unsigned int m_nextChannel;
};

/// a variant of Rabin's Information Dispersal Algorithm
class InformationRecovery : public RawIDA
{
public:
	InformationRecovery(int threshold, BufferedTransformation *attachment=NULL, bool removePadding=true)
		: RawIDA(attachment)
		{Initialize(MakeParameters("RecoveryThreshold", threshold)("RemovePadding", removePadding), 0);}

	void Initialize(const NameValuePairs &parameters=g_nullNameValuePairs, int propagation=-1);

protected:
	void FlushOutputQueues();
	void OutputMessageEnds();

	bool m_pad;
	ByteQueue m_queue;
};

class PaddingRemover : public Unflushable<Filter>
{
public:
	PaddingRemover(BufferedTransformation *attachment=NULL)
		: Unflushable<Filter>(attachment), m_possiblePadding(false) {}

	void IsolatedInitialize(const NameValuePairs &parameters) {m_possiblePadding = false;}
	unsigned int Put2(const byte *begin, unsigned int length, int messageEnd, bool blocking);

	// GetPossiblePadding() == false at the end of a message indicates incorrect padding
	bool GetPossiblePadding() const {return m_possiblePadding;}

private:
	bool m_possiblePadding;
	unsigned long m_zeroCount;
};

NAMESPACE_END

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久一日本道色综合| 欧美视频一区二区三区四区| 中文字幕电影一区| 在线播放欧美女士性生活| 经典一区二区三区| 亚洲大尺度视频在线观看| 久久久久久免费毛片精品| 久久久久久麻豆| 国产精品国产三级国产a | 欧美婷婷六月丁香综合色| 91视频你懂的| 欧美三级乱人伦电影| 日韩欧美自拍偷拍| 久久久综合精品| 亚洲视频电影在线| 奇米在线7777在线精品| 欧美视频一区二区三区在线观看 | 国产精品欧美一区二区三区| 亚洲精品一区二区三区精华液| 日韩免费视频一区| 国产欧美日韩综合| 亚洲男人的天堂一区二区| 亚洲午夜久久久| 久久精品噜噜噜成人88aⅴ| 国产原创一区二区| 一本大道久久a久久综合婷婷| 欧美吻胸吃奶大尺度电影| 日韩欧美国产系列| 亚洲欧洲精品成人久久奇米网 | 日韩一区二区电影| 国产婷婷色一区二区三区四区| 久久久久久久久久久久电影 | 久久久91精品国产一区二区精品 | 亚洲成人激情自拍| 国产高清精品在线| 精品视频色一区| 欧美成人精品3d动漫h| 亚洲人成电影网站色mp4| 人人爽香蕉精品| 不卡av在线免费观看| 51久久夜色精品国产麻豆| 国产精品国模大尺度视频| 爽爽淫人综合网网站| 一区二区在线观看免费| 午夜视频一区在线观看| 国产福利电影一区二区三区| 欧美日韩亚洲综合在线| 最新国产精品久久精品| 国产精品自拍三区| 日韩一区二区三区三四区视频在线观看 | 国产一区二区网址| 欧美午夜片在线观看| 欧美韩国日本不卡| 国内精品久久久久影院薰衣草| 在线观看免费视频综合| 中文字幕一区二区三区蜜月| 国产做a爰片久久毛片| 3d成人h动漫网站入口| 一区二区免费在线播放| 成人高清在线视频| 国产亚洲美州欧州综合国| 美女视频黄频大全不卡视频在线播放| 91浏览器入口在线观看| 中文字幕日本乱码精品影院| 国产真实精品久久二三区| 欧美一区国产二区| 免费在线观看一区二区三区| 日韩欧美国产综合一区| 亚洲视频在线观看三级| 黄网站免费久久| 日韩视频国产视频| 午夜视频一区二区三区| 色拍拍在线精品视频8848| 亚洲日本成人在线观看| 色就色 综合激情| 天天操天天色综合| 97久久超碰精品国产| 中文字幕在线观看不卡| 丁香天五香天堂综合| 国产精品美日韩| 高清不卡一区二区| 综合久久久久综合| 欧美中文字幕不卡| 日韩高清电影一区| 欧美videofree性高清杂交| 国产在线视视频有精品| 亚洲国产精品国自产拍av| www.欧美.com| 一卡二卡三卡日韩欧美| 51久久夜色精品国产麻豆| 久久不见久久见免费视频1| 久久久亚洲精品一区二区三区| 国产盗摄视频一区二区三区| 亚洲欧洲日产国产综合网| 在线看国产一区二区| 亚洲一区在线观看网站| 日韩精品一区国产麻豆| 国产jizzjizz一区二区| 一区二区国产视频| 欧美一区二区三区不卡| 国产成人av电影在线| 亚洲国产精品久久久男人的天堂| 日韩欧美国产综合| 99国产精品视频免费观看| 亚洲成av人影院| 国产欧美精品一区二区色综合| 一本大道久久精品懂色aⅴ | 精品国产三级电影在线观看| 成人激情动漫在线观看| 午夜精品一区二区三区三上悠亚| 91精品婷婷国产综合久久| 成人精品鲁一区一区二区| 亚洲成人黄色小说| 欧美高清一级片在线观看| 欧美日韩成人高清| 日韩不卡一区二区三区| 亚洲欧美电影一区二区| 欧美视频三区在线播放| 国产中文字幕一区| 亚洲精品久久久久久国产精华液| 91精品国产色综合久久久蜜香臀| 国产精品一区二区无线| 欧美在线短视频| 色哟哟一区二区在线观看| 国产欧美中文在线| 欧美日韩大陆一区二区| 成人污视频在线观看| 日韩电影在线一区二区三区| 日韩视频永久免费| 欧美吻胸吃奶大尺度电影| 精品一区免费av| 日韩在线一二三区| 亚洲精品乱码久久久久久黑人| 久久久精品欧美丰满| 91精品国产一区二区三区香蕉 | 久久看人人爽人人| 欧美日韩视频专区在线播放| 91麻豆国产自产在线观看| 国产黄人亚洲片| 美腿丝袜亚洲三区| 香蕉影视欧美成人| 亚洲欧美另类小说| 国产精品伦一区| 久久久精品影视| 精品国产第一区二区三区观看体验| 欧美性大战久久久| 在线免费一区三区| 日本道免费精品一区二区三区| www.av精品| 成人综合婷婷国产精品久久免费| 久久av老司机精品网站导航| 欧美aaa在线| 蜜桃视频在线观看一区| 午夜视频在线观看一区二区三区| 亚洲免费观看高清完整版在线 | 欧美日韩亚洲丝袜制服| 欧美在线视频日韩| 欧美午夜一区二区三区| 欧美日韩夫妻久久| 3d成人动漫网站| 久久人人97超碰com| 国产丝袜在线精品| 1024成人网色www| 亚洲国产aⅴ天堂久久| 无码av中文一区二区三区桃花岛| 日韩av网站免费在线| 三级在线观看一区二区| 捆绑变态av一区二区三区| 精品系列免费在线观看| 高清不卡一区二区| 日本精品视频一区二区| 在线电影一区二区三区| 久久综合色天天久久综合图片| 精品国产乱码久久| 国产网站一区二区| 99riav一区二区三区| 国产精品一区二区不卡| 不卡视频在线观看| 欧美性猛片xxxx免费看久爱| 欧美本精品男人aⅴ天堂| 久久婷婷成人综合色| 1区2区3区国产精品| 日韩电影在线观看一区| 国产二区国产一区在线观看| 色老汉av一区二区三区| 日韩欧美一区二区在线视频| 久久精品人人爽人人爽| 亚洲美女偷拍久久| 狠狠色丁香九九婷婷综合五月| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩aaaaa| 中国av一区二区三区| 亚洲成人福利片| 成人一区二区三区在线观看| 黄色精品一二区| 五月婷婷激情综合网| 国产精品一区二区在线观看不卡| 一本大道久久a久久精品综合| 日韩女优毛片在线| 亚洲日本护士毛茸茸|