diff options
author | lloyd <[email protected]> | 2008-09-28 21:16:31 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-09-28 21:16:31 +0000 |
commit | 9ebc60c266c37722e83ca7482f1516fc3e8bf6d3 (patch) | |
tree | 8328dfeaa564a552e00a5d07234e37d0e303f157 /src | |
parent | 98ef58194ce6b954b44acfa218c1aa49c6234aad (diff) |
Modularize IF family PK algorithms (integer factorization; RSA and RW base
class).
Add many missing modinfo.txts that I had not checked in. Oops.
Diffstat (limited to 'src')
-rw-r--r-- | src/cms/modinfo.txt | 16 | ||||
-rw-r--r-- | src/hash/mdx_hash/modinfo.txt | 10 | ||||
-rw-r--r-- | src/hash/sha1_amd64/modinfo.txt | 27 | ||||
-rw-r--r-- | src/kdf/mgf1/modinfo.txt | 10 | ||||
-rw-r--r-- | src/pk/dh/modinfo.txt | 10 | ||||
-rw-r--r-- | src/pk/dsa/modinfo.txt | 10 | ||||
-rw-r--r-- | src/pk/elgamal/modinfo.txt | 10 | ||||
-rw-r--r-- | src/pk/if_algo/if_algo.cpp (renamed from src/if_algo.cpp) | 0 | ||||
-rw-r--r-- | src/pk/if_algo/if_algo.h | 58 | ||||
-rw-r--r-- | src/pk/if_algo/modinfo.txt | 10 | ||||
-rw-r--r-- | src/pk/nr/modinfo.txt | 10 | ||||
-rw-r--r-- | src/pk/rsa/modinfo.txt | 14 | ||||
-rw-r--r-- | src/pk/rw/modinfo.txt | 14 |
13 files changed, 199 insertions, 0 deletions
diff --git a/src/cms/modinfo.txt b/src/cms/modinfo.txt new file mode 100644 index 000000000..eb5b3e624 --- /dev/null +++ b/src/cms/modinfo.txt @@ -0,0 +1,16 @@ +realname "CMS" + +define CMS + +load_on request + +<add> +cms_algo.cpp +cms_comp.cpp +cms_dalg.cpp +cms_dec.cpp +cms_dec.h +cms_ealg.cpp +cms_enc.cpp +cms_enc.h +</add> diff --git a/src/hash/mdx_hash/modinfo.txt b/src/hash/mdx_hash/modinfo.txt new file mode 100644 index 000000000..106a99303 --- /dev/null +++ b/src/hash/mdx_hash/modinfo.txt @@ -0,0 +1,10 @@ +realname "MDx Hash Base" + +define MDX_HASH_FUNCTION + +load_on auto + +<add> +mdx_hash.cpp +mdx_hash.h +</add> diff --git a/src/hash/sha1_amd64/modinfo.txt b/src/hash/sha1_amd64/modinfo.txt new file mode 100644 index 000000000..405b78343 --- /dev/null +++ b/src/hash/sha1_amd64/modinfo.txt @@ -0,0 +1,27 @@ +realname "SHA-1 (x86-64 assembler)" + +load_on request + +<add> +sha160.cpp +asm_macr.h +sha1_asm.S +</add> + +<arch> +amd64 +</arch> + +<cc> +gcc +icc +</cc> + +# ELF systems +<os> +linux +freebsd +netbsd +openbsd +solaris +</os> diff --git a/src/kdf/mgf1/modinfo.txt b/src/kdf/mgf1/modinfo.txt new file mode 100644 index 000000000..03abec0ac --- /dev/null +++ b/src/kdf/mgf1/modinfo.txt @@ -0,0 +1,10 @@ +realname "MGF1" + +define MGF1 + +load_on auto + +<add> +mgf1.h +mgf1.cpp +</add> diff --git a/src/pk/dh/modinfo.txt b/src/pk/dh/modinfo.txt new file mode 100644 index 000000000..e3bbe3f32 --- /dev/null +++ b/src/pk/dh/modinfo.txt @@ -0,0 +1,10 @@ +realname "DH" + +define DH + +load_on auto + +<add> +dh.cpp +dh.h +</add> diff --git a/src/pk/dsa/modinfo.txt b/src/pk/dsa/modinfo.txt new file mode 100644 index 000000000..77bb48396 --- /dev/null +++ b/src/pk/dsa/modinfo.txt @@ -0,0 +1,10 @@ +realname "DSA" + +define DSA + +load_on auto + +<add> +dsa.cpp +dsa.h +</add> diff --git a/src/pk/elgamal/modinfo.txt b/src/pk/elgamal/modinfo.txt new file mode 100644 index 000000000..df38d48d6 --- /dev/null +++ b/src/pk/elgamal/modinfo.txt @@ -0,0 +1,10 @@ +realname "ElGamal" + +define ELGAMAL + +load_on auto + +<add> +elgamal.cpp +elgamal.h +</add> diff --git a/src/if_algo.cpp b/src/pk/if_algo/if_algo.cpp index 929f488fd..929f488fd 100644 --- a/src/if_algo.cpp +++ b/src/pk/if_algo/if_algo.cpp diff --git a/src/pk/if_algo/if_algo.h b/src/pk/if_algo/if_algo.h new file mode 100644 index 000000000..c5da4073e --- /dev/null +++ b/src/pk/if_algo/if_algo.h @@ -0,0 +1,58 @@ +/************************************************* +* IF Scheme Header File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#ifndef BOTAN_IF_ALGO_H__ +#define BOTAN_IF_ALGO_H__ + +#include <botan/x509_key.h> +#include <botan/pkcs8.h> +#include <botan/pk_core.h> + +namespace Botan { + +/************************************************* +* IF Public Key * +*************************************************/ +class BOTAN_DLL IF_Scheme_PublicKey : public virtual Public_Key + { + public: + bool check_key(RandomNumberGenerator& rng, bool) const; + + const BigInt& get_n() const { return n; } + const BigInt& get_e() const { return e; } + + u32bit max_input_bits() const { return (n.bits() - 1); } + + X509_Encoder* x509_encoder() const; + X509_Decoder* x509_decoder(); + protected: + virtual void X509_load_hook(); + BigInt n, e; + IF_Core core; + }; + +/************************************************* +* IF Private Key * +*************************************************/ +class BOTAN_DLL IF_Scheme_PrivateKey : public virtual IF_Scheme_PublicKey, + public virtual Private_Key + { + public: + bool check_key(RandomNumberGenerator& rng, bool) const; + + const BigInt& get_p() const { return p; } + const BigInt& get_q() const { return q; } + const BigInt& get_d() const { return d; } + + PKCS8_Encoder* pkcs8_encoder() const; + PKCS8_Decoder* pkcs8_decoder(RandomNumberGenerator&); + protected: + virtual void PKCS8_load_hook(RandomNumberGenerator&, bool = false); + BigInt d, p, q, d1, d2, c; + }; + +} + +#endif diff --git a/src/pk/if_algo/modinfo.txt b/src/pk/if_algo/modinfo.txt new file mode 100644 index 000000000..f4ddd565f --- /dev/null +++ b/src/pk/if_algo/modinfo.txt @@ -0,0 +1,10 @@ +realname "Integer Factorization Algorithms" + +define IF_PUBLIC_KEY_FAMILY + +load_on auto + +<add> +if_algo.cpp +if_algo.h +</add> diff --git a/src/pk/nr/modinfo.txt b/src/pk/nr/modinfo.txt new file mode 100644 index 000000000..4cb1b1bf5 --- /dev/null +++ b/src/pk/nr/modinfo.txt @@ -0,0 +1,10 @@ +realname "Nyberg-Rueppel" + +define NR + +load_on auto + +<add> +nr.cpp +nr.h +</add> diff --git a/src/pk/rsa/modinfo.txt b/src/pk/rsa/modinfo.txt new file mode 100644 index 000000000..8125d7efb --- /dev/null +++ b/src/pk/rsa/modinfo.txt @@ -0,0 +1,14 @@ +realname "RSA" + +define RSA + +load_on auto + +<add> +rsa.cpp +rsa.h +</add> + +<requires> +if_algo +</requires> diff --git a/src/pk/rw/modinfo.txt b/src/pk/rw/modinfo.txt new file mode 100644 index 000000000..dee83c95d --- /dev/null +++ b/src/pk/rw/modinfo.txt @@ -0,0 +1,14 @@ +realname "Rabin-Williams" + +define RW + +load_on auto + +<add> +rw.cpp +rw.h +</add> + +<requires> +if_algo +</requires> |