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

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

?? pgp.h

?? cryptlib安全工具包
?? H
字號:
/****************************************************************************
*																			*
*							PGP Definitions Header File						*
*						Copyright Peter Gutmann 1996-2007					*
*																			*
****************************************************************************/

#ifndef _PGP_DEFINED

#define _PGP_DEFINED

#ifndef _STREAM_DEFINED
  #if defined( INC_ALL )
	#include "stream.h"
  #else
	#include "io/stream.h"
  #endif /* Compiler-specific includes */
#endif /* _STREAM_DEFINED */

/* PGP packet types, encoded into the CTB */

typedef enum {
	PGP_PACKET_NONE,			/* No packet type */
	PGP_PACKET_PKE,				/* PKC-encrypted session key */
	PGP_PACKET_SIGNATURE,		/* Signature */
	PGP_PACKET_SKE,				/* Secret-key-encrypted session key */
	PGP_PACKET_SIGNATURE_ONEPASS,/* One-pass signature */
	PGP_PACKET_SECKEY,			/* Secret key */
	PGP_PACKET_PUBKEY,			/* Public key */
	PGP_PACKET_SECKEY_SUB,		/* Secret key subkey */
	PGP_PACKET_COPR,			/* Compressed data */
	PGP_PACKET_ENCR,			/* Encrypted data */
	PGP_PACKET_MARKER,			/* Obsolete marker packet */
	PGP_PACKET_DATA,			/* Raw data */
	PGP_PACKET_TRUST,			/* Trust information */
	PGP_PACKET_USERID,			/* Userid */
	PGP_PACKET_PUBKEY_SUB,		/* Public key subkey */
	PGP_PACKET_DUMMY1, PGP_PACKET_DUMMY2,	/* 15, 16 unused */
	PGP_PACKET_USERATTR,		/* User attributes */
	PGP_PACKET_ENCR_MDC,		/* Encrypted data with MDC */
	PGP_PACKET_MDC,				/* MDC */
	PGP_PACKET_LAST				/* Last possible PGP packet type */
	} PGP_PACKET_TYPE;

/* PGP signature subpacket types */

#define PGP_SUBPACKET_TIME	2		/* Signing time */
#define PGP_SUBPACKET_KEYID	16		/* Key ID */
#define PGP_SUBPACKET_TYPEANDVALUE 20	/* Type-and-value pairs */
#define PGP_SUBPACKET_LAST	29		/* Last valid subpacket type */

/* A special-case packet type that denotes a signature that follows on from 
   a one-pass signature packet.  When generating a signature of this type PGP
   splits the information in the normal signature packet across the one-pass
   signature packet and the signature packet itself, so we have to read the 
   data on two parts, with half the information in the one-pass packet and 
   the other half in the signature packet */

#define PGP_PACKET_SIGNATURE_SPECIAL	1000

/* The PGP packet format (via the CTB) is:

	+---------------+
	|7 6 5 4 3 2 1 0|
	+---------------+

	Bit 7: Always one
	Bit 6: OpenPGP (new) format if set

		PGP 2.x:						OpenPGP:
	Bits 5-2: Packet type		Bits 5-0: Packet type
	Bits 1-0: Length type

   All CTBs have the MSB set, and OpenPGP CTBs have the next-to-MSB set.  We 
   also have a special-case CTB that's used for indefinite-length compressed 
   data */

#define PGP_CTB				0x80	/* PGP 2.x CTB template */
#define PGP_CTB_OPENPGP		0xC0	/* OpenPGP CTB template */
#define PGP_CTB_COMPRESSED	0xA3	/* Compressed indef-length data */

/* Macros to extract packet information from the CTB */

#define pgpIsCTB( ctb )				( ( ctb ) & PGP_CTB )
#define pgpGetPacketVersion( ctb ) \
		( ( ( ( ctb ) & PGP_CTB_OPENPGP ) == PGP_CTB_OPENPGP ) ? \
		  PGP_VERSION_OPENPGP : PGP_VERSION_2 )
#define pgpGetPacketType( ctb ) \
		( ( ( ( ctb ) & PGP_CTB_OPENPGP ) == PGP_CTB_OPENPGP ) ? \
			( ( ctb ) & 0x3F ) : ( ( ( ctb ) >> 2 ) & 0x0F ) )
#define pgpIsReservedPacket( type )	( ( type ) >= 60 && ( type ) <= 63 )

/* Version information */

#define PGP_VERSION_2		2		/* Version number byte for PGP 2.0 */
#define PGP_VERSION_3		3		/* Version number byte for legal-kludged PGP 2.0 */
#define PGP_VERSION_OPENPGP	4		/* Version number for OpenPGP */

/* Public-key algorithms */

#define PGP_ALGO_RSA		1		/* RSA algorithm */
#define PGP_ALGO_RSA_ENCRYPT 2		/* RSA encrypt-only */
#define PGP_ALGO_RSA_SIGN	3		/* RSA sign-only */
#define PGP_ALGO_ELGAMAL	16		/* ElGamal algorithm */
#define PGP_ALGO_DSA		17		/* DSA signature algorithm */

/* Conventional encryption algorithms */

#define PGP_ALGO_NONE		0		/* No CKE algorithm */
#define PGP_ALGO_IDEA		1		/* IDEA cipher */
#define PGP_ALGO_3DES		2		/* Triple DES */
#define PGP_ALGO_CAST5		3		/* CAST-128 */
#define PGP_ALGO_BLOWFISH	4		/* Blowfish */
#define PGP_ALGO_SAFERSK	5		/* Safer-SK */
#define PGP_ALGO_RESERVED1	6		/* Reserved/never used */
#define PGP_ALGO_AES_128	7		/* AES with 128-bit key */
#define PGP_ALGO_AES_192	8		/* AES with 192-bit key */
#define PGP_ALGO_AES_256	9		/* AES with 256-bit key */
#define PGP_ALGO_TWOFISH	10		/* Twofish */

/* Hash algorithms */

#define PGP_ALGO_MD5		1		/* MD5 */
#define PGP_ALGO_SHA		2		/* SHA-1 */
#define PGP_ALGO_RIPEMD160	3		/* RIPEMD-160 */
#define PGP_ALGO_RESERVED2	4		/* Reserved/never used */
#define PGP_ALGO_MD2		5		/* MD2 */
#define PGP_ALGO_RESERVED3	6		/* Reserved/never used (Tiger/192) */
#define PGP_ALGO_RESERVED4	7		/* Reserved/never used (Haval) */
#define PGP_ALGO_SHA2_256	8		/* SHA-2 256bit */
#define PGP_ALGO_SHA2_384	9		/* SHA-2 384bit */
#define PGP_ALGO_SHA2_512	10		/* SHA-2 512bit */

/* Compression algorithms */

#define PGP_ALGO_ZIP		1		/* ZIP compression */
#define PGP_ALGO_ZLIB		2		/* zlib compression */

/* Highest possible algorithm value, for range checking */

#define PGP_ALGO_LAST		PGP_ALGO_DSA

/* S2K specifier */

#define PGP_S2K				0xFF	/* Standard S2K */
#define PGP_S2K_HASHED		0xFE	/* S2K with hashed key */

/* Signed data types */

#define PGP_SIG_DATA		0x00	/* Binary data */
#define PGP_SIG_TEXT		0x01	/* Canonicalised text data */
#define	PGP_SIG_CERT0		0x10	/* Key certificate, unknown assurance */
#define	PGP_SIG_CERT1		0x11	/* Key certificate, no assurance */
#define	PGP_SIG_CERT2		0x12	/* Key certificate, casual assurance */
#define	PGP_SIG_CERT3		0x13	/* Key certificate, strong assurance */
#define PGP_SIG_KRL			0x20	/* Key revocation */
#define PGP_SIG_CRL			0x30	/* Certificate revocation */
#define	PGP_SIG_TS			0x40	/* Timestamp signature */

/* The size of the PGP version ID and algorithm ID */

#define PGP_VERSION_SIZE	1
#define PGP_ALGOID_SIZE		1

/* The maximum size of a PGP user ID.  Note that this is larger than the
   cryptlib-wide maximum user ID size */

#define PGP_MAX_USERIDSIZE	256

/* The size of the salt used for password hashing and the number of 
   setup "iterations".  This isn't a true iteration count but the number of 
   salt+password bytes hashed, and in fact it isn't even that but the
   actual count scaled by dividing it by 64, which is how PGP encodes the
   count in the data packet */

#define PGP_SALTSIZE		8
#define PGP_ITERATIONS		1024

/* Various PGP packet header sizes, used to estimate how much data we still 
   need to process */

#define PGP_MIN_HEADER_SIZE	2		/* CTB + length */
#define PGP_MAX_HEADER_SIZE	6		/* CTB + 0xFF + 4-byte length */
#define PGP_DATA_HEADER		"b\x00\x00\x00\x00\x00"
#define PGP_DATA_HEADER_SIZE ( 1 + 1 + 4 )
#define PGP_MDC_PACKET_SIZE	( 1 + 1 + 20 )	/* Size of MDC packet */

/* Since PGP only provides a subset of cryptlib's algorithm types and uses
   different identifiers, we have to both check that there's a mapping
   possible and map from one to the other.  When going from PGP -> cryptlib
   we specify both the algorithm ID and the algorithm class we expect to 
   find it in to allow type checking */

typedef enum {
	PGP_ALGOCLASS_NONE,		/* No algorithm class */
	PGP_ALGOCLASS_CRYPT,	/* Conventional encryption algorithms */
	PGP_ALGOCLASS_PWCRYPT,	/* Password-based encryption algorithms */
	PGP_ALGOCLASS_PKCCRYPT,	/* PKC algorithms */
	PGP_ALGOCLASS_SIGN,		/* Signature algorithms */
	PGP_ALGOCLASS_HASH,		/* Hash algorithms */
	PGP_ALGOCLASS_LAST		/* Last possible algorithm class */
	} PGP_ALGOCLASS_TYPE;

CHECK_RETVAL STDC_NONNULL_ARG( ( 3 ) ) \
int pgpToCryptlibAlgo( IN_RANGE( PGP_ALGO_NONE, 0xFF ) \
					   const int pgpAlgo, 
					   IN_ENUM( PGP_ALGOCLASS ) \
					   const PGP_ALGOCLASS_TYPE pgpAlgoClass,
					   OUT_ALGO_Z CRYPT_ALGO_TYPE *cryptAlgo );
CHECK_RETVAL STDC_NONNULL_ARG( ( 2 ) ) \
int cryptlibToPgpAlgo( const CRYPT_ALGO_TYPE cryptlibAlgo,
					   OUT_RANGE( PGP_ALGO_NONE, PGP_ALGO_LAST ) \
					   int *pgpAlgo );
CHECK_RETVAL STDC_NONNULL_ARG( ( 1, 2 ) ) \
int readPgpAlgo( INOUT STREAM *stream, 
				 OUT_ALGO_Z CRYPT_ALGO_TYPE *cryptAlgo, 
				 IN_ENUM( PGP_ALGOCLASS ) \
				 const PGP_ALGOCLASS_TYPE pgpAlgoClass );

/* Prototypes for functions in pgp_misc.c */

CHECK_RETVAL STDC_NONNULL_ARG( ( 3 ) ) \
int pgpPasswordToKey( IN_HANDLE const CRYPT_CONTEXT iCryptContext, 
					  IN_LENGTH_SHORT_OPT const int optKeyLength,
					  IN_BUFFER( passwordLength ) \
					  const char *password, 
					  IN_LENGTH_SHORT const int passwordLength, 
					  IN_ALGO const CRYPT_ALGO_TYPE hashAlgo, 
					  IN_BUFFER_OPT( saltSize ) 
					  const BYTE *salt, 
					  IN_RANGE( 0, CRYPT_MAX_HASHSIZE ) \
					  const int saltSize,
					  IN_INT const int iterations );
CHECK_RETVAL STDC_NONNULL_ARG( ( 2 ) ) \
int pgpProcessIV( IN_HANDLE const CRYPT_CONTEXT iCryptContext, 
				  INOUT_BUFFER_FIXED( ivInfoSize ) \
				  BYTE *ivInfo, 
				  IN_RANGE( 8 + 2, CRYPT_MAX_IVSIZE + 2 ) \
				  const int ivInfoSize, 
				  IN_LENGTH_IV const int ivDataSize, 
				  const BOOLEAN isEncrypt, 
				  const BOOLEAN resyncIV );

#endif /* _PGP_DEFINED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美岛国在线观看| 成人国产精品免费网站| av在线不卡网| 日韩网站在线看片你懂的| 中文字幕一区av| 九九视频精品免费| 欧美影视一区二区三区| 亚洲国产精品精华液ab| 蜜臀久久99精品久久久久宅男| 91小视频免费看| 久久久精品日韩欧美| 日本伊人午夜精品| 欧美吞精做爰啪啪高潮| 国产精品麻豆网站| 激情文学综合丁香| 日韩一区二区影院| 亚洲一区在线观看免费| 成人手机在线视频| 亚洲精品一区二区精华| 日本在线不卡视频一二三区| 欧美亚洲一区二区在线| 亚洲欧美电影院| 成人亚洲一区二区一| 久久人人超碰精品| 久久精品免费看| 69堂成人精品免费视频| 一区二区三区在线视频免费观看| 成人97人人超碰人人99| 久久婷婷国产综合国色天香| 久久不见久久见免费视频1 | 亚洲成av人片在线| 日本韩国精品在线| 亚洲人成人一区二区在线观看| 成人av在线播放网站| 国产欧美日韩久久| 国产成人激情av| 国产午夜亚洲精品午夜鲁丝片| 极品少妇xxxx偷拍精品少妇| 日韩欧美综合一区| 久久av老司机精品网站导航| 欧美一区二区久久久| 日本不卡一二三| 日韩一区二区视频在线观看| 麻豆精品视频在线观看| 欧美变态tickle挠乳网站| 精品综合久久久久久8888| 精品国产免费人成电影在线观看四季 | 欧美精品1区2区3区| 丝袜亚洲另类欧美| 538在线一区二区精品国产| 日本中文字幕不卡| 日韩欧美在线一区二区三区| 久久国产麻豆精品| 久久天天做天天爱综合色| 国产91在线|亚洲| 中文字幕在线不卡| 色综合一区二区| 亚洲国产精品嫩草影院| 欧美高清hd18日本| 麻豆精品一区二区三区| 国产亚洲欧美中文| av一二三不卡影片| 亚洲综合av网| 日韩一区二区三区免费看| 精品一区二区三区在线播放| 国产午夜精品一区二区三区视频| 成人精品国产一区二区4080| 亚洲伦理在线精品| 在线成人免费视频| 国产一区二区三区日韩| 国产精品家庭影院| 欧美午夜宅男影院| 久久国产精品无码网站| 国产精品剧情在线亚洲| 欧美亚洲国产怡红院影院| 免费一级片91| 国产欧美精品国产国产专区| 91免费看`日韩一区二区| 午夜精品久久久久久久久| 欧美tickle裸体挠脚心vk| 成人免费视频视频| 亚洲不卡在线观看| 久久久久久夜精品精品免费| 91老师片黄在线观看| 日韩不卡一区二区| 国产精品网曝门| 欧美日韩和欧美的一区二区| 国产一区在线精品| 亚洲精品国产精华液| 日韩午夜av电影| 91在线观看美女| 男人的天堂久久精品| 国产精品久久久久久久午夜片| 欧美日韩精品高清| 高清av一区二区| 五月婷婷久久丁香| 国产精品免费久久| 在线不卡一区二区| av电影天堂一区二区在线观看| 视频在线在亚洲| 中文字幕乱码一区二区免费| 在线播放日韩导航| 成人高清在线视频| 美女脱光内衣内裤视频久久网站| 亚洲图片激情小说| 精品国产伦一区二区三区观看体验 | 日韩精品一二三| 中文字幕在线一区| 精品国产免费视频| 精品视频免费看| 不卡一卡二卡三乱码免费网站| 免费的成人av| 亚洲五码中文字幕| 国产精品久久久久久一区二区三区| 欧美一区二视频| 欧美影视一区二区三区| www.在线欧美| 国产最新精品精品你懂的| 亚洲一区二区欧美| 中文字幕一区二区三区av| 精品国产不卡一区二区三区| 欧美日韩三级一区二区| av不卡一区二区三区| 国产中文一区二区三区| 三级成人在线视频| 一区二区三区蜜桃| 国产精品国产a级| 久久久久久久久一| 日韩视频中午一区| 欧美日韩国产在线观看| 色婷婷亚洲婷婷| 成人激情av网| 国产成人夜色高潮福利影视| 免费人成精品欧美精品| 亚洲h精品动漫在线观看| 亚洲欧美日韩久久| 国产精品视频在线看| 久久久久久免费网| 精品欧美一区二区久久 | 不卡欧美aaaaa| 国产精品资源在线看| 久久草av在线| 久久不见久久见免费视频7| 美女在线视频一区| 日本免费在线视频不卡一不卡二| 亚洲一级电影视频| 亚洲国产一区二区视频| 一区二区在线观看不卡| 亚洲天堂福利av| 亚洲人妖av一区二区| 自拍偷拍亚洲激情| 国产精品乱码一区二区三区软件 | 国产精品毛片久久久久久| 欧美激情一区在线观看| 国产欧美精品国产国产专区| 国产人妖乱国产精品人妖| 久久精品欧美一区二区三区麻豆| 久久欧美一区二区| 欧美激情在线观看视频免费| 国产精品久久三| 成人欧美一区二区三区1314| 国产精品国产三级国产aⅴ中文 | 午夜在线成人av| 午夜精品福利视频网站| 天堂影院一区二区| 天天色 色综合| 奇米精品一区二区三区在线观看 | 免费不卡在线视频| 久久成人综合网| 国产一区二区三区四区在线观看 | 日韩精品乱码免费| 日本vs亚洲vs韩国一区三区| 老司机精品视频在线| 在线一区二区视频| 欧美片网站yy| 日韩午夜精品视频| wwwwxxxxx欧美| 欧美激情一区三区| 亚洲欧美日韩中文播放| 亚洲线精品一区二区三区| 热久久免费视频| 国产精品一区二区久久不卡| 成人免费视频网站在线观看| 在线视频亚洲一区| 欧美精品乱码久久久久久| 久久综合九色综合欧美98| 国产精品欧美久久久久无广告| 亚洲男帅同性gay1069| 亚洲午夜在线电影| 麻豆国产精品777777在线| 国产成人免费av在线| 色综合av在线| 91精品国产91久久综合桃花| 久久久国产一区二区三区四区小说| 国产精品网友自拍| 丝瓜av网站精品一区二区| 国产精品一区二区男女羞羞无遮挡| 91蝌蚪porny九色| 日韩一区二区三区高清免费看看 | 欧美片网站yy|