diff options
author | Rob Austein <sra@hactrn.net> | 2006-06-20 17:33:26 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2006-06-20 17:33:26 +0000 |
commit | 52261db09ef9dbf5abc95baed22722c5c332f9f7 (patch) | |
tree | 05a8dc819a8d84717dfbffc287f45e6b19002984 /openssl/trunk/engines/vendor_defns/atalla.h | |
parent | 8b319903618337c8bc643eb16454f59fabd2f28b (diff) |
Pulling OpenSSL 0.9.8b into trunk
svn path=/openssl/trunk; revision=3
Diffstat (limited to 'openssl/trunk/engines/vendor_defns/atalla.h')
-rw-r--r-- | openssl/trunk/engines/vendor_defns/atalla.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/openssl/trunk/engines/vendor_defns/atalla.h b/openssl/trunk/engines/vendor_defns/atalla.h new file mode 100644 index 00000000..149970d4 --- /dev/null +++ b/openssl/trunk/engines/vendor_defns/atalla.h @@ -0,0 +1,48 @@ +/* This header declares the necessary definitions for using the exponentiation + * acceleration capabilities of Atalla cards. The only cryptographic operation + * is performed by "ASI_RSAPrivateKeyOpFn" and this takes a structure that + * defines an "RSA private key". However, it is really only performing a + * regular mod_exp using the supplied modulus and exponent - no CRT form is + * being used. Hence, it is a generic mod_exp function in disguise, and we use + * it as such. + * + * Thanks to the people at Atalla for letting me know these definitions are + * fine and that they can be reproduced here. + * + * Geoff. + */ + +typedef struct ItemStr + { + unsigned char *data; + int len; + } Item; + +typedef struct RSAPrivateKeyStr + { + void *reserved; + Item version; + Item modulus; + Item publicExponent; + Item privateExponent; + Item prime[2]; + Item exponent[2]; + Item coefficient; + } RSAPrivateKey; + +/* Predeclare the function pointer types that we dynamically load from the DSO. + * These use the same names and form that Ben's original support code had (in + * crypto/bn/bn_exp.c) unless of course I've inadvertently changed the style + * somewhere along the way! + */ + +typedef int tfnASI_GetPerformanceStatistics(int reset_flag, + unsigned int *ret_buf); + +typedef int tfnASI_GetHardwareConfig(long card_num, unsigned int *ret_buf); + +typedef int tfnASI_RSAPrivateKeyOpFn(RSAPrivateKey * rsaKey, + unsigned char *output, + unsigned char *input, + unsigned int modulus_len); + |