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

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

?? r_dh.c

?? 簡單的RSA加密范例
?? C
字號:
/*	R_DH.C - Diffie-Hellman routines for RSAEURO    Copyright (c) J.S.A.Kapp 1994 - 1996.	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.*/#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(ID_OK);}/* 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(ID_OK);}/* 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(ID_OK);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美片网站yy| 1024成人网| 一区二区在线观看视频| 麻豆久久一区二区| 91在线免费播放| 日韩欧美电影一区| 偷拍与自拍一区| 色综合视频在线观看| 久久免费电影网| 日产欧产美韩系列久久99| 色综合一个色综合| 国产精品色哟哟网站| 国产一区激情在线| 欧美精品一区二区久久婷婷| 亚洲国产婷婷综合在线精品| 99精品1区2区| 国产精品看片你懂得| 国产 欧美在线| 久久欧美一区二区| 久久99久久99精品免视看婷婷 | 亚洲最新视频在线观看| 国产精品亚洲人在线观看| 欧美成人国产一区二区| 日本不卡视频在线| 91精品婷婷国产综合久久竹菊| 亚洲免费观看在线视频| 99v久久综合狠狠综合久久| 国产网站一区二区| 国产成人av一区二区三区在线观看| 日韩欧美一级精品久久| 另类小说图片综合网| 精品国产一区二区精华| 国产一区二区三区四区五区美女| 精品国产乱码久久| 国产成人自拍在线| 亚洲欧洲成人自拍| 日本黄色一区二区| 亚洲一二三四在线| 欧美一区二区人人喊爽| 麻豆成人久久精品二区三区红 | 国产精品久久久久婷婷 | 国产传媒一区在线| 中文字幕精品一区二区精品绿巨人| 91国产成人在线| 亚洲国产va精品久久久不卡综合| 欧美三级电影精品| 人人狠狠综合久久亚洲| 日韩精品一区二区三区四区视频| 国产一区二区三区不卡在线观看 | 成人av在线影院| 最新中文字幕一区二区三区 | 午夜久久电影网| 日韩精品在线看片z| 国产suv精品一区二区883| 日韩久久一区二区| 欧美日韩国产免费一区二区| 日韩精品一二三区| 国产丝袜欧美中文另类| 色综合一个色综合亚洲| 全国精品久久少妇| 亚洲国产成人在线| 在线观看国产日韩| 国产一区二区不卡| 亚洲一区二区在线免费看| 日韩精品一区二区三区中文精品| 成人黄色av电影| 日产国产高清一区二区三区| 中文欧美字幕免费| 91麻豆精品国产自产在线观看一区 | 精品国产乱子伦一区| 成人动漫av在线| 亚洲bt欧美bt精品| 中文字幕免费在线观看视频一区| 欧美男男青年gay1069videost| 国产成人一区在线| 日本在线不卡一区| 最新不卡av在线| 精品福利一区二区三区免费视频| 色狠狠一区二区三区香蕉| 精久久久久久久久久久| 亚洲午夜久久久久久久久电影院 | 亚洲精品视频一区| 久久久久久久久99精品| 91麻豆精品国产91久久久资源速度 | 国产99久久久国产精品| 日韩av不卡一区二区| 亚洲青青青在线视频| 久久先锋资源网| 欧美伦理视频网站| 日本高清不卡一区| 成人的网站免费观看| 国产成人免费视频精品含羞草妖精| 日韩经典一区二区| 亚洲午夜成aⅴ人片| 亚洲狠狠丁香婷婷综合久久久| 久久精品免费在线观看| 日韩欧美国产一区在线观看| 欧美日免费三级在线| 91一区二区在线| 高潮精品一区videoshd| 国产一区二区不卡| 久久99国产精品麻豆| 蜜臀国产一区二区三区在线播放| 亚洲夂夂婷婷色拍ww47| 亚洲精品日日夜夜| 亚洲激情av在线| 亚洲另类春色国产| 日韩码欧中文字| 亚洲男人的天堂一区二区| 国内精品伊人久久久久av影院 | 亚洲永久免费视频| 国产精品第13页| 日韩美女视频一区二区 | 2024国产精品| 久久美女高清视频| 久久精品亚洲一区二区三区浴池| 欧美不卡激情三级在线观看| 日韩三级免费观看| 精品美女被调教视频大全网站| 日韩一区二区中文字幕| xfplay精品久久| 久久久久久久久免费| 国产三级三级三级精品8ⅰ区| 久久综合久色欧美综合狠狠| 久久综合九色综合欧美亚洲| 国产亚洲污的网站| 亚洲国产精品成人综合 | 色综合色狠狠天天综合色| 一本久久a久久精品亚洲| 在线观看中文字幕不卡| 91精品一区二区三区在线观看| 精品奇米国产一区二区三区| 国产欧美精品在线观看| 亚洲精品视频在线看| 婷婷久久综合九色综合伊人色| 日韩高清不卡在线| 国产乱人伦偷精品视频免下载| 成年人国产精品| 欧美视频在线一区| 2024国产精品视频| 亚洲图片你懂的| 毛片基地黄久久久久久天堂| 国产一区二区三区免费| 色哟哟在线观看一区二区三区| 欧美日韩免费高清一区色橹橹| 日韩精品一区二区三区中文不卡| 国产精品欧美精品| 天堂一区二区在线| 国产经典欧美精品| 欧美日韩高清一区二区三区| 久久香蕉国产线看观看99| 一区二区三区欧美亚洲| 久久99精品国产| 欧美在线看片a免费观看| 日韩欧美成人激情| 亚洲激情图片qvod| 国产一区二区三区久久久| 色狠狠综合天天综合综合| 337p粉嫩大胆噜噜噜噜噜91av| 玉米视频成人免费看| 国产成人日日夜夜| 欧美日韩aaaaa| 亚洲欧洲av一区二区三区久久| 久久成人免费网站| 欧美色综合网站| 自拍偷拍欧美激情| 国产成a人亚洲| 精品日韩一区二区| 午夜久久久久久电影| 91啦中文在线观看| 欧美国产日韩在线观看| 九九**精品视频免费播放| 欧美在线一二三| 亚洲婷婷综合色高清在线| 国产一区二区三区免费在线观看| 欧美日产在线观看| 亚洲精品va在线观看| av电影在线观看一区| 久久久久久免费网| 美国十次综合导航| 欧美日韩一区二区三区视频| 综合久久给合久久狠狠狠97色 | 日韩码欧中文字| 粉嫩蜜臀av国产精品网站| 欧美不卡激情三级在线观看| 日韩电影在线一区二区| 欧美日韩www| 天堂资源在线中文精品| 欧美日韩亚洲另类| 亚洲午夜电影网| 欧美精品 日韩| 日韩精品成人一区二区三区| 色88888久久久久久影院按摩 | 国产丝袜美腿一区二区三区| 国产一区二区在线免费观看| 精品播放一区二区| 激情综合色播五月| 久久婷婷久久一区二区三区| 国产精品亚洲视频| 国产精品天天摸av网|