aboutsummaryrefslogtreecommitdiffstats
path: root/src/pubkey/ec_dompar
Commit message (Collapse)AuthorAgeFilesLines
* ECC private keys had two different constructors, one taking a grouplloyd2011-04-083-286/+0
| | | | | | | | | | | | | | | | and a random number generator, and the other taking a group and a preset private key value. The DL private keys instead have on constructor for this; if the x value is zero, then a new random key is created. For consistency, do this with ECC as well. ECDH actually didn't have one of these constructors, forcing you to either load from PKCS #8 or else use a random key. Rename EC_Domain_Params to EC_Group, with a typedef for compatability. More doc updates. Update mtn ignores for Sphinx output
* Convert the BER/DER coders to use size_t instead of u32bit for smalllloyd2011-02-091-2/+2
| | | | integer values. Update callers.
* Remove friend decl of now dead functionlloyd2011-02-071-2/+0
|
* Use size_t instead of u32bit in all of pubkeylloyd2010-10-121-2/+2
|
* Use BOTAN_ASSERT in various placeslloyd2010-09-261-2/+2
|
* More Doxygen updates/fixeslloyd2010-06-151-0/+3
|
* In the string constructor of EC_Domain_Params, check if the PEM decodinglloyd2010-04-192-6/+16
| | | | failed. If so, assume the input string was an OID and try that.
* Replace PointGFp::check_invaraints, which would either return silentlylloyd2010-03-191-1/+0
| | | | | | | | | | | or throw an exception, with PointGFp::on_the_curve, which returns a bool. Update callers. This showed several cases where check_invaraints was being called multiple times, for instance when decoding a point with OS2ECP, check_invaraints was called; many callers of OS2ECP would then call check_invaraints again on the same object.
* Add a couple of new helper functions to BER_Decoder:lloyd2010-03-191-20/+7
| | | | | | | | | | decode_and_check takes an expected value; if the decoded value does not match, a Decoding_Error with a specified string is thrown. Useful for checking embedded version codes. decode_octet_string_bigint is for decoding INTEGER values that are stored as OCTET STRINGs. Totally obnoxious and useless, but common especially in the ECC standards.
* For PEM encoding ECC domain parameters I had been using the identifierlloyd2010-03-021-2/+2
| | | | | | | | "ECC DOMAIN PARAMETERS", because I couldn't find any other library that offered PEM encoding to be compatible with so I just picked something. Turns out OpenSSL does have PEM encoding of EC params (openssl ecparam), and uses "EC PARAMETERS". As good as anything else, and allows interop, so change to use that.
* Remove auto_ptr from ECC key typeslloyd2010-03-021-0/+2
|
* Set PEM constructor (taking a string) to default to "". In this case,lloyd2010-03-022-6/+12
| | | | don't initialize.
* Move all of the ECC domain parameter sets to policy.cpp, encoded as PEM,lloyd2010-03-023-437/+12
| | | | instead of weird custom format hard-coded in ec_dompar.cpp
* Add EC domain contructor eating PEM. Set OID in OID constructorlloyd2010-03-012-3/+17
|
* Add EC_Domain_Params::PEM_encodelloyd2010-03-013-31/+45
|
* Kill get_EC_Dom_Pars_by_oidlloyd2010-03-012-59/+48
|
* Clean up EC_Domain_Paramslloyd2010-03-012-159/+123
|
* Move contents of gfpmath to numbertheory. Adjust dependencies.lloyd2010-02-251-2/+1
|
* Remove point_{x,y,z} funcs, hide GFpElement entirelylloyd2010-02-251-2/+0
|
* CurveGFp: Inline, deleting source file. Store only a,b,p aslloyd2010-02-251-38/+41
| | | | | BigInts. Also reorder constructor args to p, a, b which seems more sensible to me.
* propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-241-5/+3
|\ | | | | | | | | | | 84baf58b29f3aaaee34e2b873d0040be5a6c4368) to branch 'net.randombit.botan.gost_3410' (head 63cbe3e357c071d7960bfedc31101eff35895285)
| * Remove unused variable in ec_dompar. Add missing include to ecc_keylloyd2010-02-231-5/+3
| |
* | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-161-0/+12
|\ \ | |/ |/| | | | | | | 744dccf92270cf16b80b50ee2759424c9866b256) to branch 'net.randombit.botan.gost_3410' (head 761e22ccc5785e8d699f4ba80b8f72858aa5ca75)
| * Bizarrely, there are two different OIDs for the same GOST 34.10 param set.lloyd2009-12-121-1/+1
| |
| * Add an implementation of GOST 34.10-2001 as described inlloyd2009-11-191-0/+12
| | | | | | | | | | | | | | | | | | draft-dolmatov-cryptocom-gost34102001-06 Known problem: GOST's X.509 (and PKCS #8?) formats are different from ECDSA. ECDSA uses compressed points, GOST uses a completely raw pair of points (with, OF COURSE, no leading uncompressed pair identifier, because using something that already exists would just be too much).
* | Make many more headers internal-only.lloyd2009-12-161-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* | Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-161-7/+0
|/
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-291-2/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* Add 'Distributed under...' text to files missing it. Some format cleanupslloyd2009-10-072-1/+10
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-151-1/+2
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-301-5/+7
| | | | | | | | | | | | | | | up during the Fedora submission review, that each source file include some text about the license. One handy Perl script later and each file now has the line Distributed under the terms of the Botan license after the copyright notices. While I was in there modifying every file anyway, I also stripped out the remainder of the block comments (lots of astericks before and after the text); this is stylistic thing I picked up when I was first learning C++ but in retrospect it is not a good style as the structure makes it harder to modify comments (with the result that comments become fewer, shorter and are less likely to be updated, which are not good things).
* Update some doxygen comments. Contributed by Charles Brockman in bug #39lloyd2009-03-021-1/+1
|
* Move engine to libstate/ directory, since there is a mutual dependencylloyd2008-11-091-1/+0
| | | | | | (messy). Remove unused libstate.h includes from a few files.
* Split the last parts of the 'core' modulelloyd2008-11-082-2/+2
| | | | Add some missing info.txts
* Wrap lineslloyd2008-10-131-5/+8
|
* Add trailing H__ to some header guards. Line wrap long comment.lloyd2008-10-131-3/+4
|
* Add more ECC domain parameter sets from InSiTolloyd2008-10-111-10/+295
|
* Add BOTAN_DLL macro to public class definitions that were missing it.lloyd2008-10-091-1/+1
|
* Add BSI variant of EMSA1, from InSiTolloyd2008-10-081-1/+1
|
* Rename pk dir to pubkey, avoids tab-completion collision with pk_padlloyd2008-10-013-0/+421