diff options
Diffstat (limited to 'g10')
-rw-r--r-- | g10/Makefile.am | 1 | ||||
-rw-r--r-- | g10/cipher.h | 108 | ||||
-rw-r--r-- | g10/zlib-riscos.h | 133 |
3 files changed, 242 insertions, 0 deletions
diff --git a/g10/Makefile.am b/g10/Makefile.am index abf41c30c..3e81ae418 100644 --- a/g10/Makefile.am +++ b/g10/Makefile.am @@ -48,6 +48,7 @@ endif common_source = \ gpg.h \ + cipher.h \ build-packet.c \ compress.c \ $(bzip2_source) \ diff --git a/g10/cipher.h b/g10/cipher.h new file mode 100644 index 000000000..7e784d238 --- /dev/null +++ b/g10/cipher.h @@ -0,0 +1,108 @@ +/* cipher.h - Definitions for OpenPGP + * Copyright (C) 1998, 1999, 2000, 2001, 2006, + * 2007, 2010 Free Software Foundation, Inc. + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + */ +#ifndef G10_CIPHER_H +#define G10_CIPHER_H + +#include <gcrypt.h> + +/* Constants for OpenPGP. */ + +#define CIPHER_ALGO_NONE /* 0 */ GCRY_CIPHER_NONE +#define CIPHER_ALGO_IDEA /* 1 */ GCRY_CIPHER_IDEA +#define CIPHER_ALGO_3DES /* 2 */ GCRY_CIPHER_3DES +#define CIPHER_ALGO_CAST5 /* 3 */ GCRY_CIPHER_CAST5 +#define CIPHER_ALGO_BLOWFISH /* 4 */ GCRY_CIPHER_BLOWFISH /* 128 bit */ +/* 5 & 6 are reserved */ +#define CIPHER_ALGO_AES /* 7 */ GCRY_CIPHER_AES +#define CIPHER_ALGO_AES192 /* 8 */ GCRY_CIPHER_AES192 +#define CIPHER_ALGO_AES256 /* 9 */ GCRY_CIPHER_AES256 +#define CIPHER_ALGO_RIJNDAEL CIPHER_ALGO_AES +#define CIPHER_ALGO_RIJNDAEL192 CIPHER_ALGO_AES192 +#define CIPHER_ALGO_RIJNDAEL256 CIPHER_ALGO_AES256 +#define CIPHER_ALGO_TWOFISH /* 10 */ GCRY_CIPHER_TWOFISH /* 256 bit */ +/* Note: Camellia ids don't match those used by libgcrypt. */ +#define CIPHER_ALGO_CAMELLIA128 11 +#define CIPHER_ALGO_CAMELLIA192 12 +#define CIPHER_ALGO_CAMELLIA256 13 +#define CIPHER_ALGO_DUMMY 110 /* No encryption at all. */ + +#define PUBKEY_ALGO_RSA /* 1 */ GCRY_PK_RSA +#define PUBKEY_ALGO_RSA_E /* 2 */ GCRY_PK_RSA_E /* RSA encrypt only. */ +#define PUBKEY_ALGO_RSA_S /* 3 */ GCRY_PK_RSA_S /* RSA sign only. */ +#define PUBKEY_ALGO_ELGAMAL_E /* 16 */ GCRY_PK_ELG_E /* Elgamal encr only */ +#define PUBKEY_ALGO_DSA /* 17 */ GCRY_PK_DSA +#define PUBKEY_ALGO_ECDH 18 +#define PUBKEY_ALGO_ECDSA 19 +#define PUBKEY_ALGO_ELGAMAL /* 20 */ GCRY_PK_ELG /* Elgamal encr+sign */ +#define PUBKEY_ALGO_EDDSA 105 /* Experimental! */ + +#define PUBKEY_USAGE_SIG GCRY_PK_USAGE_SIGN /* Good for signatures. */ +#define PUBKEY_USAGE_ENC GCRY_PK_USAGE_ENCR /* Good for encryption. */ +#define PUBKEY_USAGE_CERT GCRY_PK_USAGE_CERT /* Also good to certify keys.*/ +#define PUBKEY_USAGE_AUTH GCRY_PK_USAGE_AUTH /* Good for authentication. */ +#define PUBKEY_USAGE_UNKNOWN GCRY_PK_USAGE_UNKN /* Unknown usage flag. */ +#define PUBKEY_USAGE_NONE 256 /* No usage given. */ +#if (GCRY_PK_USAGE_SIGN | GCRY_PK_USAGE_ENCR | GCRY_PK_USAGE_CERT \ + | GCRY_PK_USAGE_AUTH | GCRY_PK_USAGE_UNKN) >= 256 +# error Please choose another value for PUBKEY_USAGE_NONE +#endif + +#define DIGEST_ALGO_MD5 /* 1 */ GCRY_MD_MD5 +#define DIGEST_ALGO_SHA1 /* 2 */ GCRY_MD_SHA1 +#define DIGEST_ALGO_RMD160 /* 3 */ GCRY_MD_RMD160 +/* 4, 5, 6, and 7 are reserved */ +#define DIGEST_ALGO_SHA256 /* 8 */ GCRY_MD_SHA256 +#define DIGEST_ALGO_SHA384 /* 9 */ GCRY_MD_SHA384 +#define DIGEST_ALGO_SHA512 /* 10 */ GCRY_MD_SHA512 +/* SHA224 is only available in libgcrypt 1.4.0; thus we + can't use the GCRY macro here. */ +#define DIGEST_ALGO_SHA224 /* 11 */ 11 /* GCRY_MD_SHA224 */ + +#define COMPRESS_ALGO_NONE 0 +#define COMPRESS_ALGO_ZIP 1 +#define COMPRESS_ALGO_ZLIB 2 +#define COMPRESS_ALGO_BZIP2 3 + +#define is_RSA(a) ((a)==PUBKEY_ALGO_RSA || (a)==PUBKEY_ALGO_RSA_E \ + || (a)==PUBKEY_ALGO_RSA_S ) +#define is_ELGAMAL(a) ((a)==PUBKEY_ALGO_ELGAMAL_E) +#define is_DSA(a) ((a)==PUBKEY_ALGO_DSA) + +/* The data encryption key object. */ +typedef struct +{ + int algo; + int keylen; + int algo_info_printed; + int use_mdc; + int symmetric; + byte key[32]; /* This is the largest used keylen (256 bit). */ + char s2k_cacheid[1+16+1]; +} DEK; + + + +/* Constants to allocate static MPI arrays. */ +#define PUBKEY_MAX_NPKEY 5 +#define PUBKEY_MAX_NSKEY 7 +#define PUBKEY_MAX_NSIG 2 +#define PUBKEY_MAX_NENC 2 + +#endif /*G10_CIPHER_H*/ diff --git a/g10/zlib-riscos.h b/g10/zlib-riscos.h new file mode 100644 index 000000000..0f547d380 --- /dev/null +++ b/g10/zlib-riscos.h @@ -0,0 +1,133 @@ +/* zlib-riscos.h + * Copyright (C) 2002 Free Software Foundation, Inc. + * + * This file is part of GNUPG. + * + * GNUPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GNUPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + */ +#ifndef G10_ZLIB_RISCOS_H +#define G10_ZLIB_RISCOS_H + +#include <kernel.h> +#include <swis.h> + +static const char * const zlib_path[] = { + "System:310.Modules.ZLib", + NULL +}; + +#define ZLib_Compress 0x53AC0 +#define ZLib_Decompress 0x53AC1 +#define ZLib_CRC32 0x53AC2 +#define ZLib_Adler32 0x53AC3 +#define ZLib_Version 0x53AC4 +#define ZLib_ZCompress 0x53AC5 +#define ZLib_ZCompress2 0x53AC6 +#define ZLib_ZUncompress 0x53AC7 +#define ZLib_DeflateInit 0x53AC8 +#define ZLib_InflateInit 0x53AC9 +#define ZLib_DeflateInit2 0x53ACA +#define ZLib_InflateInit2 0x53ACB +#define ZLib_Deflate 0x53ACC +#define ZLib_DeflateEnd 0x53ACD +#define ZLib_Inflate 0x53ACE +#define ZLib_InflateEnd 0x53ACF +#define ZLib_DeflateSetDictionary 0x53AD0 +#define ZLib_DeflateCopy 0x53AD1 +#define ZLib_DeflateReset 0x53AD2 +#define ZLib_DeflateParams 0x53AD3 +#define ZLib_InflateSetDictionary 0x53AD4 +#define ZLib_InflateSync 0x53AD5 +#define ZLib_InflateReset 0x53AD6 +#define ZLib_GZOpen 0x53AD7 +#define ZLib_GZRead 0x53AD8 +#define ZLib_GRWrite 0x53AD9 +#define ZLib_GZFlush 0x53ADA +#define ZLib_GZClose 0x53ADB +#define ZLib_GZError 0x53ADC +#define ZLib_GZSeek 0x53ADD +#define ZLib_GZTell 0x53ADE +#define ZLib_GZEOF 0x53ADF +#define ZLib_TaskAssociate 0x53AE0 + +#define crc32(r0,r1,r2) \ + _swi(ZLib_CRC32, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define adler32(r0,r1,r2) \ + _swi(ZLib_Adler32, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define zlibVersion() \ + _swi(ZLib_Version, _RETURN(0)) +#define compress(r0,r1,r2,r3) \ + _swi(ZLib_ZCompress, _INR(0,3) | _RETURN(0)|_OUT(1), r0,r1,r2,r3, &r1) +#define compress2(r0,r1,r2,r3,r4) \ + _swi(ZLib_ZCompress2, _INR(0,4) | _RETURN(0)|_OUT(1), r0,r1,r2,r3,r4, &r1) +#define uncompress(r0,r1,r2,r3) \ + _swi(ZLib_ZUncompress, _INR(0,3) | _RETURN(0)|_OUT(1), r0,r1,r2,r3, &r1) +#define deflateInit_(r0,r1,r2,r3) \ + _swi(ZLib_DeflateInit, _INR(0,3) | _RETURN(0), r0,r1,r2,r3) +#define inflateInit_(r0,r1,r2) \ + _swi(ZLib_InflateInit, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define deflateInit2_(r0,r1,r2,r3,r4,r5,r6,r7) \ + _swi(ZLib_DeflateInit2, _INR(0,7) | _RETURN(0), r0,r1,r2,r3,r4,r5,r6,r7) +#define inflateInit2_(r0,r1,r2,r3) \ + _swi(ZLib_InflateInit2, _INR(0,3) | _RETURN(0), r0,r1,r2,r3) +#define deflate(r0,r1) \ + _swi(ZLib_Deflate, _INR(0,1) | _RETURN(0), r0,r1) +#define deflateEnd(r0) \ + _swi(ZLib_DeflateEnd, _IN(0) | _RETURN(0), r0) +#define inflate(r0,r1) \ + _swi(ZLib_Inflate, _INR(0,1) | _RETURN(0), r0,r1) +#define inflateEnd(r0) \ + _swi(ZLib_InflateEnd, _IN(0) | _RETURN(0), r0) +#define deflateSetDictionary(r0,r1,r2) \ + _swi(ZLib_DeflateSetDictionary, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define deflateCopy(r0,r1) \ + _swi(ZLib_DeflateCopy, _INR(0,1) | _RETURN(0), r0,r1) +#define deflateReset(r0) \ + _swi(ZLib_DeflateReset, _IN(0) | _RETURN(0), r0) +#define deflateParams(r0,r1,r2) \ + _swi(ZLib_DeflateParams, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define inflateSetDictionary(r0,r1,r2) \ + _swi(ZLib_InflateSetDictionary, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define inflateSync(r0) \ + _swi(ZLib_InflateSync, _IN(0) | _RETURN(0), r0) +#define inflateReset(r0) \ + _swi(ZLib_InflateReset, _IN(0) | _RETURN(0), r0) +#define gzopen(r0,r1) \ + _swi(ZLib_GZOpen, _INR(0,1) | _RETURN(0), r0) +#define gzdopen(r0,r1) BUG() +#define gzsetparams(r0,r1,r2) BUG() +#define gzread(r0,r1,r2) \ + _swi(ZLib_GZRead, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define gzwrite(r0,r1,r2) \ + _swi(ZLib_GZWrite, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define gzprintf(r0,r1,...) BUG() +#define gzputs(r0,r1) BUG() +#define gzgets(r0,r1,r2) BUG() +#define gzputc(r0,r1) BUG() +#define gzgetc(r0) BUG() +#define gzflush(r0,r1) \ + _swi(ZLib_GZFlush, _INR(0,1) | _RETURN(0), r0,r1) +#define gzclose(r0) \ + _swi(ZLib_GZClose, _IN(0) | _RETURN(0), r0) +#define gzerror(r0,r1) \ + _swi(ZLib_GZError, _IN(0) | _RETURN(0)|_OUT(1), r0, &r1) +#define gzseek(r0,r1,r2) \ + _swi(ZLib_GZSeek, _INR(0,2) | _RETURN(0), r0,r1,r2) +#define gzrewind(r0) BUG() +#define gztell(r0) \ + _swi(ZLib_GZTell, _IN(0) | _RETURN(0), r0) +#define gzeof(r0) \ + _swi(ZLib_GZEOF, _IN(0) | _RETURN(0), r0) + +#endif /* G10_ZLIB_RISCOS_H */ |