| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Various configurations would fail build or test, fix that.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The decoding leaked some information about the delimiter index
due to copying only exactly input_len - delim_idx bytes. I can't
articulate a specific attack that would work here, but it is easy
enough to fix this to run in const time instead, where all bytes
are accessed regardless of the length of the padding.
CT::copy_out is O(n^2) and thus terrible, but in practice it is only
used with RSA decryption, and multiplication is also O(n^2) with the
modulus size, so a few extra cycles here doesn't matter much.
|
| |
|
|
|
|
| |
This is not exhaustive. See GH #1733
|
|
|
|
| |
This tests the delim scanning section which must be const time.
|
|
|
|
| |
Avoid needless allocations during PSS and OAEP operations.
|
|
|
|
| |
It is the default...
|
|
|
|
| |
Fixes #1665
|
|
|
|
| |
Not sure why it didn't have this already
|
|
|
|
|
|
|
|
|
|
|
| |
Let DER_Encoder write to a user specified vector instead of only to an
internal vector. This allows encoding to a std::vector without having
to first write to a locked vector and then copying out the result.
Add ASN1_Object::BER_encode convenience method. Replaces
X509_Object::BER_encode which had the same logic but was restricted to
a subtype. This replaces many cases where DER_Encoder was just used
to encode a single object (X509_DN, AlgorithmIdentifier, etc).
|
|
|
|
|
|
|
| |
TPM 1.2 expects passing the owner and SRK secret
encrypted with the public endorsement key.
For asymmetric encryption, the TPM 1.2 uses OAEP
with the label "TCPA".
|
|
|
|
|
|
| |
Test vectors from pyca/cryptography
Fixes GH #109
|
| |
|
|
|
|
| |
Fixes a new warning in GCC 8
|
| |
|
|
|
|
| |
GH #1416
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Thanks to @noloader for pointing me at draft-jivsov-openpgp-sha3-01
which has the correct values.
Adds a test so this can't happen again.
|
|
|
|
| |
It was already final so leaving data as protected makes no sense...
|
| |
|
|
|
|
|
| |
Done by a perl script which converted all classes to final, followed
by selective reversion where it caused compilation failures.
|
|
|
|
| |
Some help from include-what-you-use
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Allows PSS-signing a raw hash while also still specifying the salt
length.
GH #1211
|
| |
| |
| |
| |
| |
| | |
ISO C++ reserves names with double underscores in them
Closes #512
|
| |
| |
| |
| |
| | |
Defined in build.h, all equal to BOTAN_DLL so ties into existing
system for exporting symbols.
|
|/
|
|
| |
New name, same great operation
|
| |
|
|
|
|
| |
It didn't unpoison the output values.
|
|
|
|
|
|
| |
This confirms the message is exactly the size of the expected hash,
and also causes RFC 6979 nonces to be generated using the specified
hash. See also https://github.com/riboseinc/rnp/issues/367
|
| |
|
| |
|
|
|
|
|
|
| |
Extend EMSA_PKCS1v15_Raw to optionally take a hash function for which
the PKCS hash id is prefixed to the message as usual. This allows signing
a message using PKCSv1.5 padding where the hash is provided externally.
|
|
|
|
|
|
|
|
|
| |
* fixes for deprecated constructions in c++11 and later (explicit rule of 3/5 or implicit rule of 0 and other violations)
* `default` specifier instead of `{}` in some places(probably all)
* removal of unreachable code (for example `return` after `throw`)
* removal of compilation unit only visible, but not used functions
* fix for `throw()` specifier - used instead `BOTAN_NOEXCEPT`
* removed not needed semicolons
|
| |
|
|
|
|
| |
Only occured with EMSA_Raw. Caught by GCC 7 warning
|
| |
|
| |
|
|
|
|
|
|
| |
Renames a couple of functions for somewhat better name consistency,
eg make_u32bit becomes make_uint32. The old typedefs remain for now
since probably lots of application code uses them.
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the code was changed in b8966d0f89e, the offset was not changed,
so it would reject ciphertexts with exactly 8 bytes of random padding
(the required minimum).
Found by pkcs1 fuzzer which also had problems due to not having been
updated at the same time.
Add a test suite for decoding of PK decryption padding to cover the
problem cases.
|