aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/data/pubkey
Commit message (Collapse)AuthorAgeFilesLines
* Added Extended Hash-Based Signatures (XMSS)Matthias Gierlings2016-11-112-0/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [1] XMSS: Extended Hash-Based Signatures, draft-itrf-cfrg-xmss-hash-based-signatures-06 Release: July 2016. https://datatracker.ietf.org/doc/ draft-irtf-cfrg-xmss-hash-based-signatures/?include_text=1 Provides XMSS_PublicKey and XMSS_PrivateKey classes as well as implementations for the Botan interfaces PK_Ops::Signature and PK_Ops::Verification. XMSS has been integrated into the Botan test bench, signature generation and verification can be tested independently by invoking "botan-test xmss_sign" and "botan-test xmss_verify" - Some headers that are not required to be exposed to users of the library have to be declared as public in `info.txt`. Declaring those headers private will cause the amalgamation build to fail. The following headers have been declared public inside `info.txt`, even though they are only intended for internal use: * atomic.h * xmss_hash.h * xmss_index_registry.h * xmss_address.h * xmss_common_ops.h * xmss_tools.h * xmss_wots_parameters.h * xmss_wots_privatekey.h * xmss_wots_publickey.h - XMSS_Verification_Operation Requires the "randomness" parameter out of the XMSS signature. "Randomness" is part of the prefix that is hashed *before* the message. Since the signature is unknown till sign() is called, all message content has to be buffered. For large messages this can be inconvenient or impossible. **Possible solution**: Change PK_Ops::Verification interface to take the signature as constructor argument, and provide a setter method to be able to update reuse the instance on multiple signatures. Make sign a parameterless member call. This solution requires interface changes in botan. **Suggested workaround** for signing large messages is to not sign the message itself, but to precompute the message hash manually using Botan::HashFunctio and sign the message hash instead of the message itself. - Some of the available test vectors for the XMSS signature verification have been commented out in order to reduce testbench runtime.
* Add signature KAT test for GOST 34.10-2001Jack Lloyd2016-11-062-0/+17
| | | | | | Vectors here just whatever we spit out, but I can't find any GOST vectors using the 'A' param set. Anyway at least with this, we are testing to have consistent behavior across platforms.
* Add P-521 ECDSA testJack Lloyd2016-10-301-0/+9
| | | | GH #681
* Merge GH #613 NewHope R-LWE key exchangeJack Lloyd2016-09-051-0/+6003
|\
| * Add NEWHOPE KEM schemeJack Lloyd2016-08-301-0/+6003
| | | | | | | | | | | | | | | | | | | | Provides conjectured 200-bit security against a quantum attacker. Based on the public domain reference implementation at https://github.com/tpoeppelmann/newhope and bit-for-bit compatible with that version. Test vectors generated by the reference testvector.c
* | Remove deprecated Nyberg-Rueppel and Rabin-Williams signaturesJack Lloyd2016-09-023-267/+0
| |
* | Remove deprecated hashes MD2, HAS-160, and RIPEMD-128Jack Lloyd2016-09-021-35/+0
|/
* DLIES test tweaksJack Lloyd2016-08-281-245/+78
| | | | | Use the group name instead of repeating 2048 bit prime N times. Split up reporting by cipher type.
* Use Botan's interpretation of P-521 ECDSA zero padding for nowJack Lloyd2016-08-271-1/+5
|
* Add tests with a message hash that contains leading zerosDaniel Neus2016-08-265-0/+50
|
* Added ecdsa_keygen for frp256v1Simon Cogliani2016-08-011-2/+1
|
* Added test vectors ecdsa_rfc6979 for frp256v1Simon Cogliani2016-08-011-0/+22
|
* Added test vectors ecdh_kat and ecdh_keygen for frp256v1Simon Cogliani2016-07-311-0/+101
|
* Added test vectors ecc point multiplication for frp256v1Simon Cogliani2016-07-241-0/+209
|
* Merge GH #541 More ECIES testsJack Lloyd2016-07-191-28/+175
|\
| * add more ECIES testsDaniel Neus2016-07-191-28/+175
| |
* | Add test vectors for RSA-KEM/KDF1René Korthaus2016-07-181-3/+129
|/ | | | | Adds test vectors for RSA-KEM with KDF1 from ISO 18033-2 and test vectors for KDF1 and KDF2 generated with BouncyCastle.
* DLIES reworkDaniel Neus2016-07-131-30/+970
| | | | | | | | | | | | | | | | | | | | | | | | | With these fixes the implementation is now compatible with bouncycastle and it should operate as it is specified in "DHIES: An encryption scheme based on Diffie-Hellman Problem" or in BSI technical guideline TR-02102-1. In addition to the already present XOR-encrypion/decryption mode it's now possible to use DLIES with a block cipher. Previously the input to the KDF was the concatenation of the (ephemeral) public key and the secret value derived by the key agreement operation: ``` secure_vector<byte> vz(m_my_key.begin(), m_my_key.end()); vz += m_ka.derive_key(0, m_other_key).bits_of(); const size_t K_LENGTH = length + m_mac_keylen; secure_vector<byte> K = m_kdf->derive_key(K_LENGTH, vz); ``` I don't know why this was implemented like this. But now the input to the KDF is only the secret value obtained by the key agreement operation. Furthermore the order of the output was changed from {public key, tag, ciphertext} to {public key, ciphertext, tag}. Multiple test vectors added that were generated with bouncycastle and some with botan itself.
* Merge GH #504 Add ECKCDSAJack Lloyd2016-06-201-0/+29
|\
| * Add ECKCDSA signature algorithmRené Korthaus2016-06-141-0/+29
| |
* | Merge GH #483 Add ECIES and KDF1 from ISO 18033Jack Lloyd2016-06-202-0/+192
|\ \ | |/ |/|
| * ecies review change: add missing ciphertext to test vectorsPhilipp Weber2016-05-231-2/+2
| |
| * add ecies implementation according to iso-18033Philipp Weber2016-04-272-0/+192
| |
* | Add support probabilistic DSA & ECDSARené Korthaus2016-05-084-0/+2656
|/ | | | | | | Adds support for probabilistic, aka the standard, DSA and ECDSA. Can be enabled by disabling the rfc6979 module. Includes test vectors from NIST CAVP. Adds rfc6979 to the list of prohibited modules in BSI policy.
* Add ECGDSARené Korthaus2016-04-191-0/+98
|
* Use rejection sampling in BigInt::random_integerJack Lloyd2016-03-161-5/+2
| | | | Avoids the test vector contortions in RSA-KEM
* Add ECDH via OpenSSLJack Lloyd2016-01-041-50/+50
| | | | | | | | | | Expose provider param in PK_Key_Agreement API Handle multiple providers in key agreement tests Fix some funky formatting of P-521 EC points in ecdh.vec which was being rejected by OpenSSL; for whatever reason the CAVS file had the affine coords with far more leading zeros than necessary.
* Add some more secp256k1 point mult testsJack Lloyd2016-01-031-0/+184
|
* Add ECDH testsJack Lloyd2016-01-031-0/+508
| | | | Only has vectors for NIST curves (data taken from NIST CAVS file)
* Fix PointGFp multiplication bugJack Lloyd2016-01-031-1/+1054
| | | | | | There was a special case for small scalars which managed to forget that the integer 3 also fits into two bits. Found by adding a new set of ECC point mul tests for the NIST curves.
* Add generalized KEM interfaceJack Lloyd2015-12-261-0/+25
| | | | | | Convert McEliece KEM to use it Add RSA-KEM
* Update and consolidate the test framework.Jack Lloyd2015-11-112-18/+18
| | | | | | | | | | | The tests previously had used 4 to 6 different schemes internally (the vec file reader framework, Catch, the old InSiTo Boost.Test tests, the PK/BigInt tests which escaped the rewrite in 1.11.7, plus a number of one-offs). Converge on a design that works everywhere, and update all the things. Fix also a few bugs found by the test changes: SHA-512-256 name incorrect, OpenSSL RC4 name incorrect, signature of FFI function botan_pubkey_destroy was wrong.
* McEliece cleanupsJack Lloyd2015-09-291-0/+58
| | | | | | | | | | | | | | | | | | | | Remove and consolidate various headers Reduce memory usage of GF2m_Field by sharing the log and exponent tables across all instances of a particular word size. Remove McEliece_Public_Operation and McEliece_Private_Operation which were difficult to use safely. Instead only the KEM operations are exposed. Add McEliece_PublicKey::random_plaintext_element Add command line `mce` tool and some McEliece documentation Convert the speed program to check McEliece keys of the suggested size Add McEliece KATs for both key generation and KEM Fix HMAC_DRBG constructor which derefed a pointer before its time
* Add Brainpool and secp160r1 ECDSA testslloyd2015-01-051-0/+151
|
* Add Curve25519 based on curve25519-donna by Adam Langley.lloyd2014-12-271-0/+79
| | | | | | This uses only the c64 version from curve25519-donna; on systems that don't have a native uint128_t type, a donna128 type stands in for just enough 128-bit operations to satisfy donna.cpp
* Implement RFC 6979 determinstic signatures for DSA and ECDSA.lloyd2014-12-102-160/+234
| | | | | Drop the GNU MP engine. Its implementations were potentially faster in some scenarios but not well protected against side channels.
* Add some secp256k1 KATs and a randomized ECC test suggested inlloyd2014-10-101-0/+21
| | | | http://crypto.stackexchange.com/questions/784
* Split up test vectors into per-algo files and app into botan-test forlloyd2014-01-1012-0/+2476
the tests and botan for everything else.