Thomas Pornin
|
fa0b7bbe90
|
Added generic HKDF implementation.
|
2018-08-14 17:02:22 +02:00 |
|
Thomas Pornin
|
f8e38c231d
|
Added POWER8 implementation for AES/CTR+CBC-MAC (for CCM and EAX modes).
|
2018-08-12 23:53:23 +02:00 |
|
Thomas Pornin
|
ffe3c9166b
|
Made Base64 decoding constant-time (with regards to actual data byte contents).
|
2018-08-06 00:16:09 +02:00 |
|
Thomas Pornin
|
d8fa415fca
|
Added support code for RSA and EC key encoding (including reconstruction of all public and private key elements from the private key structure), with raw and PKCS#8 formats, both in DER and PEM.
|
2018-08-06 00:02:36 +02:00 |
|
Thomas Pornin
|
cfbc702d3d
|
Added AESCTR_DRBG implementation (beta).
|
2018-08-01 00:50:13 +02:00 |
|
Thomas Pornin
|
491a45337d
|
Added RSA key generation code (i15, i31, i62).
|
2018-07-31 23:00:26 +02:00 |
|
Thomas Pornin
|
a0054ad821
|
Fixed computation of product size.
|
2018-07-31 22:53:35 +02:00 |
|
Thomas Pornin
|
e37c90ac68
|
Added support for CCM and CCM_8 cipher suites.
|
2018-07-28 22:31:50 +02:00 |
|
Thomas Pornin
|
d69276c18d
|
Added guard code to avoid issue when decoding PEM but not keeping data.
|
2018-06-05 15:18:27 +02:00 |
|
Thomas Pornin
|
05520e8eae
|
Fixed some typographic errors in comments.
|
2018-05-27 23:37:15 +02:00 |
|
Thomas Pornin
|
a8a8f51ea4
|
Small typo fixes (harmless).
|
2018-05-24 15:26:43 +02:00 |
|
Thomas Pornin
|
d592e99932
|
Added RSA/OAEP implementation.
|
2018-05-23 23:16:31 +02:00 |
|
Thomas Pornin
|
f81a282878
|
Added stricter rule on input for RSA private key operation (mathematically correct but out-of-range values are now rejected).
|
2018-05-23 18:48:19 +02:00 |
|
Thomas Pornin
|
932fb89081
|
Made client stricter in cipher suite selection (better consistency with server behaviour).
|
2018-05-19 01:53:16 +02:00 |
|
Thomas Pornin
|
c1e540575c
|
Fixed bug in bit length computation (implied some wrong RSA signatures in case of carry propagation with some specific key/factor lengths).
|
2018-05-02 17:32:35 +02:00 |
|
Thomas Pornin
|
7d313ccce7
|
Simple documentation fix.
|
2018-05-02 17:31:35 +02:00 |
|
Thomas Pornin
|
12db697bcc
|
Added API to share precomputations in EAX.
|
2018-02-08 15:50:10 +01:00 |
|
Thomas Pornin
|
dddc412922
|
Added generic EAX and CCM implementations.
|
2017-10-23 23:27:28 +02:00 |
|
Thomas Pornin
|
8e94ad2fcb
|
Worked around some compiler errors with GCC 4.4 and 4.5.
|
2017-08-28 19:28:59 +02:00 |
|
Thomas Pornin
|
af9c79a071
|
Added seeder API. Also overhauled compile-time detection of features.
|
2017-08-28 16:37:30 +02:00 |
|
Thomas Pornin
|
a52cff8309
|
Some more extra casts to avoid alignment warnings with Clang and -Wcast-align on 32-bit systems with 64-bit alignment requirements (e.g. ARMv7).
|
2017-08-20 23:19:51 +02:00 |
|
Thomas Pornin
|
8e86598b33
|
Added intermediate casts to void* to prevent spurious warnings (with Clang and -Wcast-align).
|
2017-08-19 15:50:45 +02:00 |
|
Thomas Pornin
|
8cd3f8fecb
|
Some more renaming to avoid shadowing.
|
2017-08-14 19:55:34 +02:00 |
|
Thomas Pornin
|
79eec9d9e3
|
Some renaming to avoid spurious warnings on some old GCC versions.
|
2017-08-14 14:15:13 +02:00 |
|
Thomas Pornin
|
ce1c57909a
|
Fixed br_ssl_session_cache_lru_forget().
|
2017-07-30 14:11:45 -04:00 |
|
Thomas Pornin
|
24c6f09bf8
|
Added ChaCha20 implementation with SSE2 opcodes.
|
2017-07-26 15:58:01 +02:00 |
|
Thomas Pornin
|
5414fd525e
|
Added function to forget saved session parameters (for tests).
|
2017-07-26 15:52:38 +02:00 |
|
Thomas Pornin
|
127fb4a31d
|
Added general-purpose API for AEAD algorithms, and GCM implementation.
|
2017-07-17 17:22:46 +02:00 |
|
Thomas Pornin
|
4aac1cd5c6
|
Fixed behaviour in case of rejected renegotiation.
|
2017-07-15 06:14:55 +02:00 |
|
Thomas Pornin
|
57b2175020
|
Fixed selection of ECDHE_RSA suites for pre-1.2 TLS versions.
|
2017-07-07 00:49:58 +02:00 |
|
Thomas Pornin
|
ea95d8264c
|
Added implementation of keying material export (RFC 5705) (API for PRF implementations changed, to handle chunked seeds).
|
2017-07-04 20:43:39 +02:00 |
|
Thomas Pornin
|
2b738493bd
|
Fixed modular reduction bug in the special field for P-256 (in some rare cases, value would end up being negative, which would corrupt subsequent operations).
|
2017-06-24 00:31:09 +02:00 |
|
Thomas Pornin
|
d8641065c9
|
Fixed mishandling of tree structure in the cache for session parameters.
|
2017-06-24 00:29:41 +02:00 |
|
Thomas Pornin
|
3c6823cad7
|
Added an explicit initialisation to a stack buffer to prevent an (harmless) uninitialised read reported by valgrind.
|
2017-06-22 23:15:17 +02:00 |
|
Thomas Pornin
|
eaa0d38fa8
|
Fixed IV processing for CBC decryption with AES (x86ni implementation) when data length is not multiple of 64 bytes (the bug was breaking TLS 1.0 AES/CBC on recent x86 systems).
|
2017-06-22 21:13:15 +02:00 |
|
Thomas Pornin
|
7f343eedfc
|
Added encoded OID for hash functions (for use with PKCS#1 v1.5 signatures) into the public API.
|
2017-06-21 15:19:32 +02:00 |
|
Thomas Pornin
|
81437e1175
|
Fixed proper handling of clients with no "secure renegotiation" support.
|
2017-06-18 23:53:17 +02:00 |
|
Thomas Pornin
|
968da0f646
|
Fixed handling of incoming application data after sending a close_notify (data shall be discarded silently, not trigger an error). Also fixed a couple of bugs in the command-line test tool.
|
2017-06-15 16:57:37 +02:00 |
|
Thomas Pornin
|
2f7a003698
|
Added minimal support of Certificate Policies extension (ability to ignore its contents even if marked critical, in situations where it's safe to do that).
|
2017-06-11 03:49:02 +02:00 |
|
Thomas Pornin
|
d021b7eb7f
|
Workaround for compiler bug (GCC 4.8 and 4.9 when targetting 32-bit x86).
|
2017-04-17 13:36:06 +00:00 |
|
Thomas Pornin
|
5281cd0f58
|
Fixed typo in C preprocessor expression.
|
2017-03-19 20:08:29 +01:00 |
|
Thomas Pornin
|
8b2fe3add6
|
New "i62" code for big integers with 64x64->128 opcodes; also improved "i31" modular exponentiation.
|
2017-03-19 14:55:11 -04:00 |
|
Thomas Pornin
|
90bc9406c3
|
Optimised code for encoding/decoding integers when the underlying architecture has the right endianness and allows unaligned accesses.
|
2017-03-18 18:07:36 +01:00 |
|
Thomas Pornin
|
5db2d48b12
|
Added "ctmulq" implementation of Poly1305 (using 64->128 multiplications when available).
|
2017-03-18 16:46:00 +01:00 |
|
Thomas Pornin
|
2f88a67304
|
Fixed compilation for GCC 4.4 to 4.8 (AES-NI opcodes; intrinsics headers require target options to be set).
|
2017-03-09 20:13:23 +00:00 |
|
Thomas Pornin
|
98432a0a30
|
Improved GHASH pclmul implementation (parallel processing of four blocks, +70% speed).
|
2017-02-15 21:49:28 +01:00 |
|
Thomas Pornin
|
db8f1b6645
|
New AES and GHASH implementations using POWER8 crypto opcodes.
|
2017-02-15 14:08:37 +00:00 |
|
Thomas Pornin
|
f0c0046601
|
Cosmetic fixes in comments.
|
2017-01-30 00:32:21 +01:00 |
|
Thomas Pornin
|
5f045c7599
|
Added AES+GHASH implementation using AES-NI opcodes; also ARM-Thumb assembly for faster Montgomery multiplication on Cortex-M0+. Added selection functions for "default" implementations.
|
2017-01-29 21:46:33 +01:00 |
|
Thomas Pornin
|
556e525d62
|
Improved modular exponentiation (automatic window optimisation if there is enough room).
|
2017-01-24 19:35:04 +01:00 |
|