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

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

?? r_dh.c

?? RSA加密算法源代碼 RSAEURO Version 1.02 Distribution In this distribution the various files are included
?? C
字號:
/*	R_DH.C - Diffie-Hellman routines for RSAEURO	Copyright (c) J.S.A.Kapp 1994 - 1995.	RSAEURO - RSA Library compatible with RSAREF(tm) 2.0.	All functions prototypes are the Same as for RSAREF(tm).	To aid compatiblity the source and the files follow the	same naming comventions that RSAREF(tm) uses.  This should aid	direct importing to you applications.	This library is legal everywhere outside the US.  And should	NOT be imported to the US and used there.	All Trademarks Acknowledged.	Diffie-Hellman Key Agreement functions.	Revision History.		0.90, First revision, this simply does the required		Diffie-Hellman key agreement stuff, based heavily on		RSAREF(tm) and relies heavily on the NN.C routines.		1.00 23/6/95, Final Release Version*/#include "rsaeuro.h"#include "r_random.h"#include "nn.h"#include "prime.h"		/* Key agreement prep */#define PREP(x, y, z, a) { \	NN_Assign (x, y, a);\	NN_ASSIGN_DIGIT (z, 1, a);\	NN_Sub (z, t, z, a);\	NN_Add (x, x, z, a);\}/* Generates Diffie-Hellman key agreement parameters. */int R_GenerateDHParams(params, primeBits, subPrimeBits, randomStruct)R_DH_PARAMS *params;                       /* new Diffie-Hellman parameters */unsigned int primeBits;                    /* length of prime in bits */unsigned int subPrimeBits;                 /* length of subprime in bits */R_RANDOM_STRUCT *randomStruct;             /* random structure */{	int status;	NN_DIGIT g[MAX_NN_DIGITS], p[MAX_NN_DIGITS], q[MAX_NN_DIGITS],		t[MAX_NN_DIGITS], u[MAX_NN_DIGITS], v[MAX_NN_DIGITS];	unsigned int pDigits;	pDigits = (primeBits + NN_DIGIT_BITS - 1) / NN_DIGIT_BITS;	/* Generate a subprime q between 2^(subPrimeBits-1) and		 2^subPrimeBits-1, searching in steps of 2.	 */	NN_Assign2Exp(t, subPrimeBits-1, pDigits);	PREP(u, t, v, pDigits);	NN_ASSIGN_DIGIT(v, 2, pDigits);	if((status = GeneratePrime (q, t, u, v, pDigits, randomStruct)) != 0)		return(status);	/* Generate a prime p between 2^(primeBits-1) and 2^primeBits-1,		 searching in steps of 2*q. */	NN_Assign2Exp(t, primeBits-1, pDigits);	PREP(u, t, v, pDigits);	NN_LShift(v, q, 1, pDigits);	if((status = GeneratePrime (p, t, u, v, pDigits, randomStruct)) != 0)		return(status);	/* Generate the generator g for subgroup as 2^((p-1)/q) mod p. */	NN_ASSIGN_DIGIT(g, 2, pDigits);	NN_Div(t, u, p, pDigits, q, pDigits);	NN_ModExp(g, g, t, pDigits, p, pDigits);	params->generatorLen = params->primeLen = DH_PRIME_LEN(primeBits);	NN_Encode(params->prime, params->primeLen, p, pDigits);	NN_Encode(params->generator, params->generatorLen, g, pDigits);	return(IDOK);}/* Setup Diffie-Hellman key agreement. Public value has same length	 as prime. */int R_SetupDHAgreement(publicValue, privateValue, privateValueLen,		params, randomStruct)unsigned char *publicValue;                             /* new public value */unsigned char *privateValue;                           /* new private value */unsigned int privateValueLen;                    /* length of private value */R_DH_PARAMS *params;                           /* Diffie-Hellman parameters */R_RANDOM_STRUCT *randomStruct;                          /* random structure */{	int status;	NN_DIGIT g[MAX_NN_DIGITS], p[MAX_NN_DIGITS], x[MAX_NN_DIGITS],		y[MAX_NN_DIGITS];	unsigned int pDigits, xDigits;	NN_Decode(p, MAX_NN_DIGITS, params->prime, params->primeLen);	pDigits = NN_Digits(p, MAX_NN_DIGITS);	NN_Decode(g, pDigits, params->generator, params->generatorLen);	/* Generate the private value of key agreement. */	if((status = R_GenerateBytes(privateValue, privateValueLen, randomStruct)) != 0)		return (status);	NN_Decode(x, pDigits, privateValue, privateValueLen);	xDigits = NN_Digits(x, pDigits);	/* Compute y = g^x mod p. */	NN_ModExp(y, g, x, xDigits, p, pDigits);	NN_Encode(publicValue, params->primeLen, y, pDigits);	/* Clear sensitive information. */	R_memset((POINTER)x, 0, sizeof(x));	return(IDOK);}/* Computes agreed key from the other party's public value, a private	 value, and Diffie-Hellman parameters. Other public value and	 agreed-upon key have same length as prime.	 Requires otherPublicValue < prime. */int R_ComputeDHAgreedKey(agreedKey, otherPublicValue, privateValue,		privateValueLen, params)unsigned char *agreedKey;                                 /* new agreed key */unsigned char *otherPublicValue;                    /* other's public value */unsigned char *privateValue;                               /* private value */unsigned int privateValueLen;                    /* length of private value */R_DH_PARAMS *params;                           /* Diffie-Hellman parameters */{	NN_DIGIT p[MAX_NN_DIGITS], x[MAX_NN_DIGITS], y[MAX_NN_DIGITS],		z[MAX_NN_DIGITS];	unsigned int pDigits, xDigits;	NN_Decode(p, MAX_NN_DIGITS, params->prime, params->primeLen);	pDigits = NN_Digits(p, MAX_NN_DIGITS);	NN_Decode(x, pDigits, privateValue, privateValueLen);	NN_Decode(y, pDigits, otherPublicValue, params->primeLen);	xDigits = NN_Digits (x, pDigits);	if(NN_Cmp(y, p, pDigits) >= 0)		return(RE_DATA);	/* Compute z = y^x mod p. */	NN_ModExp(z, y, x, xDigits, p, pDigits);	NN_Encode(agreedKey, params->primeLen, z, pDigits);	/* Clear sensitive information. */	R_memset((POINTER)x, 0, sizeof(x));	R_memset((POINTER)z, 0, sizeof(z));	return(IDOK);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国一区二区在线观看| 久久精品视频免费观看| 亚洲成人1区2区| 欧美日本一道本在线视频| 丝袜美腿高跟呻吟高潮一区| 91精品视频网| 国产电影一区二区三区| 最新久久zyz资源站| 欧美亚洲动漫制服丝袜| 日韩va欧美va亚洲va久久| 久久毛片高清国产| 99久久精品国产导航| 亚洲最快最全在线视频| 日韩一区二区在线免费观看| 国产在线不卡一区| 亚洲丝袜美腿综合| 91精品国产91久久久久久一区二区 | 亚洲欧美另类久久久精品| 欧美在线一二三| 韩国欧美国产1区| 国产精品第一页第二页第三页| 欧美日韩免费视频| 国产伦理精品不卡| 一区二区三区四区蜜桃| 欧美第一区第二区| 色悠悠亚洲一区二区| 麻豆国产精品777777在线| 国产精品九色蝌蚪自拍| 日韩一级片在线观看| 精品日产卡一卡二卡麻豆| 欧美色图第一页| 久久色视频免费观看| 一区二区三区日韩欧美精品| 日韩av在线免费观看不卡| 粉嫩嫩av羞羞动漫久久久| 欧美羞羞免费网站| 欧美国产综合色视频| 日韩二区在线观看| www.亚洲色图| 日韩欧美一区二区免费| 国产精品日日摸夜夜摸av| 日韩中文字幕区一区有砖一区| 国产黄色精品视频| 91麻豆精品91久久久久同性| 国产精品久久影院| 国产一区在线视频| 欧美一二三四区在线| 亚洲综合一区二区| 国产传媒一区在线| 91精品国产综合久久久久| 亚洲综合区在线| www.在线欧美| 国产亚洲精品7777| 久久99国产乱子伦精品免费| 欧美色偷偷大香| 亚洲影视在线观看| jlzzjlzz欧美大全| 国产欧美一区二区精品性色超碰| 蜜臀久久久99精品久久久久久| 91国偷自产一区二区开放时间 | 欧美精品电影在线播放| 亚洲乱码中文字幕综合| 成人少妇影院yyyy| 国产欧美精品在线观看| 国产在线看一区| 欧美精品一区二区高清在线观看| 亚洲国产精品综合小说图片区| 99麻豆久久久国产精品免费优播| 国产三级欧美三级| 国产福利精品导航| 中文字幕av不卡| 不卡的av网站| 亚洲欧美日韩精品久久久久| 色成人在线视频| 亚洲免费观看高清完整版在线观看熊 | 欧美mv日韩mv国产网站| 精品国产一区二区三区忘忧草| 日韩亚洲欧美一区| 精品国产一区二区三区四区四| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久精品国产99久久6| 日韩精品成人一区二区三区 | 亚洲毛片av在线| 亚洲高清免费在线| 免费久久精品视频| 精品一区二区在线视频| 国产iv一区二区三区| 福利视频网站一区二区三区| 97se亚洲国产综合自在线观| 91福利社在线观看| 5858s免费视频成人| 欧美xxxx在线观看| 国产欧美日韩另类一区| 亚洲黄色av一区| 美脚の诱脚舐め脚责91 | 天天影视涩香欲综合网| 日本不卡123| 国产一区亚洲一区| www.日本不卡| 欧美亚洲高清一区| 亚洲精品一区二区精华| 国产精品丝袜黑色高跟| 亚洲一区二区三区四区在线免费观看 | 国产精品亚洲成人| 色综合久久久久综合99| 欧美日本乱大交xxxxx| 精品国产污污免费网站入口| 中文av一区二区| 午夜欧美电影在线观看| 国产不卡视频一区二区三区| 欧美丝袜丝交足nylons图片| 久久久久久亚洲综合影院红桃| 亚洲欧美色一区| 免费观看在线综合色| 成年人国产精品| 日韩一区二区三区视频| 亚洲日本va在线观看| 麻豆高清免费国产一区| 97se狠狠狠综合亚洲狠狠| 亚洲三级在线免费观看| 欧美精品久久一区| 一本久久精品一区二区| 国产精选一区二区三区| 日韩在线卡一卡二| 成人免费在线视频观看| 国产亚洲欧美中文| 欧美一区二区在线不卡| 一本久久综合亚洲鲁鲁五月天 | 欧美视频一二三区| 国产成人av一区二区三区在线观看| 亚洲成av人片一区二区梦乃 | 欧美成人精品1314www| 欧美性生活一区| 一本在线高清不卡dvd| 国产成人免费在线观看不卡| 九色综合狠狠综合久久| 午夜精品一区在线观看| 一区二区三区在线观看国产| 亚洲色图第一区| 中文字幕精品一区二区精品绿巨人| 精品国产三级电影在线观看| 91麻豆精品国产综合久久久久久| 欧美色综合网站| 欧美吻胸吃奶大尺度电影| 91国偷自产一区二区三区观看| 95精品视频在线| 91色porny| 在线免费观看成人短视频| 一本一道波多野结衣一区二区| 91丝袜美女网| 日本丶国产丶欧美色综合| 91网上在线视频| 91黄色免费看| 欧美特级限制片免费在线观看| 欧美性受极品xxxx喷水| 欧美精品丝袜久久久中文字幕| 欧美无砖砖区免费| 欧美一级免费大片| 久久九九国产精品| 国产精品久久久久久久久免费丝袜| 亚洲国产精品高清| 一区二区在线观看av| 亚洲成va人在线观看| 寂寞少妇一区二区三区| 成人综合日日夜夜| 欧美中文字幕一二三区视频| 6080国产精品一区二区| 日韩免费福利电影在线观看| 国产偷v国产偷v亚洲高清| 亚洲特黄一级片| 免费久久精品视频| 国产精品一区二区黑丝| 97aⅴ精品视频一二三区| 欧美偷拍一区二区| 久久无码av三级| 一区二区三区精品久久久| 午夜电影网一区| 国产精品一区二区久激情瑜伽 | 99精品国产视频| 在线精品视频一区二区| 日韩片之四级片| 国产精品网站在线| 日韩黄色在线观看| www.欧美日韩国产在线| 欧美日韩一区二区三区免费看| 久久久久久久网| 亚洲综合在线免费观看| 精品午夜一区二区三区在线观看| 92精品国产成人观看免费| 日韩情涩欧美日韩视频| 亚洲乱码中文字幕| 国产一区欧美日韩| 欧美日韩美少妇| 中文字幕精品一区二区三区精品| 日韩国产欧美一区二区三区| 99视频一区二区三区| 欧美tickling挠脚心丨vk| 亚洲第一福利一区| 色综合咪咪久久| 中文成人av在线|