Steffen Jaeckel
65dc00e23a
align HASH_PROCESS() macro
2017-08-08 19:05:59 +02:00
Karel Miko
f647baa778
OCBv3: ocb3_init taglen check
2017-08-07 18:24:59 +02:00
Karel Miko
af63d0a55f
OCBv3: improved handling of taglen in ocb3_done
2017-08-07 18:24:59 +02:00
Steffen Jaeckel
ac4687d88d
also put LTC_TEST_DBG in crypt_build_settings
2017-08-07 16:18:15 +02:00
Steffen Jaeckel
7a59f71af8
fix warning
...
warning: 'ltc_asn1_type {aka enum ltc_asn1_type_}' is promoted to 'int' when passed through '...'
type = va_arg(args, ltc_asn1_type);
note: (so you should pass 'int' not 'ltc_asn1_type {aka enum ltc_asn1_type_}' to 'va_arg')
note: if this code is reached, the program will abort
2017-08-07 16:04:57 +02:00
Steffen Jaeckel
32355d04bb
fix endianness detection for some versions of gcc
...
This fixes #254
2017-08-07 16:04:57 +02:00
Steffen Jaeckel
9f020b17df
limit malloc'ed data in eax_decrypt_verify_memory()
2017-08-07 16:04:36 +02:00
Karel Miko
6ac1c5fa34
OCBv3: fix demos/timing failures
2017-08-07 07:48:21 +02:00
Steffen Jaeckel
3ecd18763b
OCBv3: better taglen limitation
2017-08-03 13:40:57 +02:00
Steffen Jaeckel
3b4d39ea45
OCBv3: improve a bit when ARGCHK'ing pointers
...
* it didn't really make sense to check that the _in_ pointer is NULL
* instead we should check that _in_ and _out_ are not NULL when there's
something to process
2017-08-03 13:40:26 +02:00
Steffen Jaeckel
868c5a82c3
OCBv3: fix handling of empty plaintext
2017-08-03 13:19:12 +02:00
Steffen Jaeckel
0c2ff4a1b0
OCBv3: small review
...
* better LTC_ARGCHK()
* move unnecessary functions from API to be static
* limit malloc'ed data in ocb3_decrypt_verify_memory()
2017-08-02 18:55:34 +02:00
Steffen Jaeckel
d77cf0e248
OCBv3: implement RFC7253 compliance
...
This fixes #256
2017-08-02 17:45:59 +02:00
Steffen Jaeckel
1aaa5abb33
ocb3: check the length of the nonce
2017-08-02 14:41:46 +02:00
Steffen Jaeckel
b2448c593a
ocb3: properly handle empty AAD
...
* allow passing "no additional data" to ocb3_decrypt_verify_memory() and
ocb3_encrypt_authenticate_memory()
* ensure that the caller didn't want to add AAD
2017-08-01 14:44:37 +02:00
Steffen Jaeckel
4805c89adb
add ARGTYPE to crypt_build_settings
2017-08-01 14:21:11 +02:00
Steffen Jaeckel
129bc7175f
beautify dh & rsa
2017-07-21 10:16:19 +02:00
Steffen Jaeckel
61eb98b76e
add compile-time check for sprng requirements
2017-07-20 12:47:19 +02:00
Steffen Jaeckel
a46d6eb819
remove define of LTC_NO_FILE when defining LTC_NOTHING
...
it doesn't make sense to define this opt-out option especially
since there's no way to undefine it again.
2017-07-19 16:44:37 +02:00
Karel Miko
909b4954a9
fix MS Windows/64bit related warnings
2017-07-14 19:59:03 +02:00
Steffen Jaeckel
535358ec28
bump version
2017-07-13 14:57:45 +02:00
Steffen Jaeckel
24e69b2956
more printf() clean-up
...
* remove last occurences in non-test code
* minimize in tests
2017-07-11 15:29:45 +02:00
Francois Perrad
37de73db01
add static _chc_process like in its prototype
2017-07-11 15:29:45 +02:00
Francois Perrad
53c62b3670
remove redundant prototypes
...
already declared in src/headers/tomcrypt_hash.h
2017-07-11 15:29:45 +02:00
Steffen Jaeckel
1819a02d5a
update comments
...
[skip ci]
2017-07-11 10:32:53 +02:00
Karel Miko
e20e204b8c
dh_set_key + dsa_set_key API change described in #248
2017-07-11 00:13:26 +02:00
Karel Miko
0792e3701e
GCM allow skipping gcm_add_aad and gcm_process
2017-07-10 22:35:42 +02:00
Karel Miko
2aa42f002f
fix: chmod -x
2017-07-09 16:22:28 +02:00
Steffen Jaeckel
68bf547f9c
use rsa_free() on error in rsa_make_key()
2017-07-09 16:02:11 +02:00
Steffen Jaeckel
fa5acee802
bump version
2017-07-05 14:30:17 +02:00
Steffen Jaeckel
ac6fb72ef1
fix some doxygen headers
2017-07-05 14:27:05 +02:00
Steffen Jaeckel
7d60fd2bfe
don't expose der_length_sequence_ex()
2017-07-05 11:52:46 +02:00
Karel Miko
4bc1489584
small ASN.1 changes extracted from ECC stuff
2017-07-05 11:34:27 +02:00
Steffen Jaeckel
c2f50459e2
better doc of radix_to_bin()
2017-07-05 10:25:01 +02:00
Steffen Jaeckel
4221c44fbc
rename rand_bn_range() to rand_bn_upto()
2017-07-05 10:03:56 +02:00
Steffen Jaeckel
22919cd4f2
rand_bn_range(): count bits once
2017-07-04 10:58:10 +02:00
Steffen Jaeckel
a6aef23438
dh_make_key() is now dh_generate_key()
2017-07-04 10:30:39 +02:00
Steffen Jaeckel
e647f9a0e4
not good to check that prng is non-NULL
...
e.g. sprng() lives w/o context
2017-07-04 10:25:38 +02:00
Steffen Jaeckel
a0f2abc5b5
re-format
2017-07-04 10:25:38 +02:00
Steffen Jaeckel
a80abb1222
put dh_set_pg_dhparam() in own c file
2017-07-04 10:25:38 +02:00
Steffen Jaeckel
5640f8afc7
put dsa_set_pqg_dsaparam() in own c file
2017-07-04 10:25:38 +02:00
Steffen Jaeckel
3c2e0d6686
dsa_make_key_ex() is now dsa_generate_key()
2017-07-04 10:25:38 +02:00
Steffen Jaeckel
dbeaefd65b
remove LTC_{DH,DSA}_KEY_INITIALIZER
2017-07-04 10:25:38 +02:00
Steffen Jaeckel
d1ecd82a42
use rand_bn_range() where possible
2017-06-28 20:50:21 +02:00
Steffen Jaeckel
bdfecc5f3c
more doc updates
2017-06-28 16:45:29 +02:00
Steffen Jaeckel
d64880eeb1
add dsa_set_pqg_dsaparam()
2017-06-28 16:07:54 +02:00
Steffen Jaeckel
35e0c5fc71
clean-up a bit around DSA
...
* comments
* dsa_test()
* order of alloc/free of key parts
2017-06-28 16:07:32 +02:00
Steffen Jaeckel
cfff656e25
re-factor dsa_make_key() etc.
2017-06-28 14:40:30 +02:00
Steffen Jaeckel
24946d08b7
use mp_cleanup_multi()
2017-06-28 14:40:30 +02:00
Steffen Jaeckel
76b9bba857
introduce mp_cleanup_multi()
2017-06-28 14:40:30 +02:00
Steffen Jaeckel
f2f113880b
also rename file
2017-06-27 22:10:07 +02:00
Steffen Jaeckel
c493a2a0a3
re-factor dh_export_radix() to dh_export_key()
2017-06-27 22:09:21 +02:00
Steffen Jaeckel
9d6689fc08
re-factor dh_make_key() and variants
2017-06-27 22:00:13 +02:00
Steffen Jaeckel
fbc54756c1
replace dh_import_radix() by dh_set_{pg,key}
2017-06-27 21:53:02 +02:00
Karel Miko
f60e2902ed
dh_make_key_ex dh_export_radix dh_import_radix
2017-06-27 20:11:52 +02:00
Steffen Jaeckel
627f6696cb
add radix_to_bin()
2017-06-27 20:05:36 +02:00
Steffen Jaeckel
6b798ca6a6
replace rsa_import_radix() by rsa_set_{key,factors,crt_params}()
2017-06-27 20:05:36 +02:00
Steffen Jaeckel
05e9f0ee79
Revert "use ltc_pk_part in rsa_import_radix()"
...
This reverts commit 023e4a2c23641d852cf47000948fa29a53249457.
2017-06-27 20:05:36 +02:00
Steffen Jaeckel
083e8af78b
Revert "also test binary import"
...
This reverts commit 8b6f8c8cce325fa1ce3b61805aa80cdabc1826b4.
2017-06-27 20:05:36 +02:00
Steffen Jaeckel
4afc024f6a
also test binary import
2017-06-27 20:05:36 +02:00
Steffen Jaeckel
00a5212d99
use ltc_pk_part in rsa_import_radix()
2017-06-27 20:05:36 +02:00
Steffen Jaeckel
0a6af8d333
rsa_exptmod(): verify that p and q are valid before going the CRT path
2017-06-27 19:01:56 +02:00
Steffen Jaeckel
f5b8cc9dae
this should really implement a patch for the illegal access
2017-06-27 12:35:39 +02:00
Steffen Jaeckel
1a3880fda5
Revert "re-factor size checks in blake2 implementations"
...
This reverts commit af38b1830e
.
2017-06-27 12:33:40 +02:00
Steffen Jaeckel
af38b1830e
re-factor size checks in blake2 implementations
2017-06-26 14:02:52 +02:00
Steffen Jaeckel
3cfb2a5e2e
hide some of the 'new since 1.17' internal functions
2017-06-23 14:14:05 +02:00
Steffen Jaeckel
a80d3c00a8
no need for DH_BUF_SIZE
2017-06-23 14:05:57 +02:00
Francois Perrad
446fec1bc4
refactor switch with default
2017-06-22 17:13:40 +02:00
Steffen Jaeckel
e3937a2906
fix compile warning when building w/o tests
2017-06-22 14:21:14 +02:00
Steffen Jaeckel
11338d2496
introduce XMEMMOVE and check for its usage
2017-06-22 14:21:14 +02:00
Steffen Jaeckel
e9c90e7f63
no need to use XMEM_NEQ()
in PK crypto
2017-06-22 14:21:14 +02:00
Steffen Jaeckel
ae698927ff
improve mem_neq()
documentation
2017-06-22 14:21:14 +02:00
Steffen Jaeckel
1bf42ea99a
update some of the static functions
2017-06-22 14:21:14 +02:00
Steffen Jaeckel
27b3ffc627
use compare_testvector() instead of XMEMCMP() in tests
2017-06-22 14:21:14 +02:00
Steffen Jaeckel
05e28d6cfa
fix potential timing attacks in rsa, eax, ocb and ocb3
2017-06-22 14:21:14 +02:00
Karel Miko
243a1dc33e
drop _dh_make_key_ex
2017-06-22 13:19:48 +02:00
Karel Miko
cba1569c82
fix tomcrypt_pk.h
2017-06-22 13:19:48 +02:00
Karel Miko
5eaff56d90
remove dh_export_radix.c dh_import_radix.c
2017-06-22 13:19:47 +02:00
Karel Miko
771d67e102
DH facelift part1
2017-06-22 13:19:47 +02:00
Steffen Jaeckel
26b57032e7
use correct amount of M-R tests in dsa_make_params()
2017-06-22 11:55:08 +02:00
Steffen Jaeckel
7453eddae9
improve ltc_math_descriptor a bit
...
* introduce LTC_MILLER_RABIN_REPS which is used as default value
in the isprime() implementations
2017-06-22 11:55:08 +02:00
Karel Miko
b8f22157b3
PK_MAX_RETRIES
2017-06-21 13:38:39 +02:00
Karel Miko
0c115a162d
whitespace
2017-06-21 13:26:52 +02:00
Karel Miko
fff832091f
ecc_sign_hash max_iterations
2017-06-21 13:25:06 +02:00
Karel Miko
cdf04b6140
fix mp_montgomery_setup
2017-06-21 13:01:22 +02:00
Karel Miko
a937f23821
static functions name fix
2017-06-21 12:49:19 +02:00
Karel Miko
67200b641d
ecc_sign+verify_hash_raw > ecc_sign+verify_hash_rfc7518
2017-06-21 12:11:35 +02:00
Steffen Jaeckel
6fc0a90a1e
fix headers & footers in demos & tests
2017-06-20 15:16:11 +02:00
Steffen Jaeckel
4cd1355b8f
more clean-up of headers/footers
2017-06-20 15:16:11 +02:00
Steffen Jaeckel
fe19dad623
replace SVN tags
2017-06-20 15:16:11 +02:00
Steffen Jaeckel
66527b3e5e
include "tomcrypt.h", not <tomcrypt.h>
...
we want to include the local version of the header, not the system-version
2017-06-20 15:16:11 +02:00
Steffen Jaeckel
fb35d5be54
more clean-up of headers
2017-06-20 15:16:11 +02:00
Steffen Jaeckel
4dc211e19d
clean-up headers
2017-06-20 15:16:11 +02:00
Steffen Jaeckel
f2076f0700
use zeromem() where appropriate
2017-06-15 01:07:44 +02:00
Steffen Jaeckel
258de3cecc
use ltc_mp_digit instead of unsigned long
2017-06-15 01:07:44 +02:00
Steffen Jaeckel
98b500e873
update crypt_build_settings et al.
2017-06-15 01:07:44 +02:00
Steffen Jaeckel
0cf7c49045
sync ltc_math_descriptor from doc
2017-06-15 00:46:50 +02:00
Francois Perrad
0bc0d55245
refactor REGISTER_*
2017-06-12 20:07:23 +02:00
Francois Perrad
ec51f880b5
Right hand side of assignment needs parenthesis
2017-06-12 20:07:23 +02:00
Francois Perrad
f40bda7cb3
fix indentation
2017-06-12 20:07:23 +02:00
Steffen Jaeckel
fec05471ae
the latest tfm version has fp_rand() available, so we can test this now
2017-06-12 18:45:24 +02:00
Steffen Jaeckel
48e4ec07be
use LTC_ARGCHK()
for all mutex operations
2017-06-12 17:19:43 +02:00
Karel Miko
4f12e41d29
fix trailing ;
2017-06-12 16:35:27 +02:00
Karel Miko
114b694735
trying to fix dh_shared_secret - #119
2017-06-11 23:20:46 +02:00
Karel Miko
bc4236d90f
tuning dh_make_key
2017-06-11 21:12:14 +02:00
Karel Miko
361778d2ac
another dh_make_key redesign
2017-06-11 19:43:08 +02:00
Karel Miko
71884788e3
fix warning: comparison between signed and unsigned integer
2017-06-11 10:12:18 +02:00
Karel Miko
532c511f52
improved dh_make_key
2017-06-10 23:02:30 +02:00
Steffen Jaeckel
c9f4628693
don't call rng_make_prng()
from dh_make_key()
...
While testing with multiple threads I had spurious errors where some tests
can't read from the PRNG.
If I tracked it down correctly that's caused by `dh_make_key()`
calling `rng_make_prng()` which re-initializes the selected PRNG.
I like the idea of "refreshing" the PRNG with entropy from a hopefully
secure RNG before generating a new key, but I don't think it's the duty
of a key-generation function to ensure that, but merely the application
that implements key-generation.
2017-06-09 18:56:04 +02:00
Steffen Jaeckel
f31d8ff864
implement smaller private key sizes
2017-06-09 18:33:51 +02:00
Karel Miko
f46b32ba2e
better DH primes
2017-06-09 14:14:07 +02:00
Karel Miko
2a883b44c7
do not expose dsa_make_params as a public API
2017-06-09 13:01:30 +02:00
Steffen Jaeckel
ef450fe14a
fix error handling
2017-06-08 23:34:16 +02:00
Karel Miko
52a496e9e1
rsa_import_pkcs8 - passwd is now "const void *"
2017-06-08 23:34:16 +02:00
Karel Miko
d96f4bdcff
rsa_import_pkcs8
2017-06-08 23:34:16 +02:00
Steffen Jaeckel
4bbce780c4
always provide compare_testvector()
as a function
2017-06-08 22:20:45 +02:00
Steffen Jaeckel
4e971a8518
don't use print_hex() from library
2017-06-08 22:20:45 +02:00
Steffen Jaeckel
4ceb82bf54
add register_all_{ciphers,hashes,prngs}()
2017-06-08 22:20:45 +02:00
Steffen Jaeckel
7f91e5ae65
requiring 'name != NULL' in find_cipher_any() doesn't make sense
2017-06-08 22:20:45 +02:00
Steffen Jaeckel
8c1d55f4c0
fix error when compiling w/ LTC_CLEAN_STACK but w/o LTC_FAST
2017-06-08 22:20:45 +02:00
Steffen Jaeckel
b78c5551f7
move compare_testvector()
implementation to the library
2017-06-08 22:20:45 +02:00
Steffen Jaeckel
0a23c6d32e
also check for cipher descriptors
2017-06-08 22:20:44 +02:00
Steffen Jaeckel
4929860641
fix file modes
2017-05-31 01:57:40 +02:00
Kelvin Sherlock
a8d81a7214
fix sha3 test numbers
2017-05-21 15:32:16 -04:00
Kelvin Sherlock
30f8aaad8c
replace XMEMCMP with compare_testvector, other consistency cleanup in testing code.
2017-05-14 22:17:59 -04:00
Karel Miko
43e46a2efc
fix clang static analyzer warnings/errors - see #217
2017-05-11 20:37:06 +02:00
Karel Miko
e2cf11da25
fix windows warnings - #212 and #213
2017-05-11 17:42:43 +02:00
Karel Miko
6d70827d1f
Windows: fix warning: 'rng_nix' defined but not used
2017-05-11 17:42:43 +02:00
Karel Miko
91b61630be
improved #ifdefs - related to: 'num' not referenced
2017-05-09 21:43:28 +02:00
Karel Miko
04262d3aec
fix: local struct member 'poly_div' not referenced
2017-05-09 21:31:12 +02:00
Karel Miko
f6ea738fee
fix: Loss of sign (initialization) (int to unsigned long long)
2017-05-09 21:30:44 +02:00
Karel Miko
421266cf5f
fix void *orig
2017-05-05 19:57:20 +02:00
Karel Miko
adf0ad95c9
IBM xlc compiler does not like "static inline" (related to #209 )
2017-05-05 19:57:20 +02:00
Steffen Jaeckel
31dcb9ff2a
only set outlen on success
2017-05-03 18:10:45 +02:00
Karel Miko
4e66160ac2
one more readable for loop
2017-05-03 17:01:18 +02:00
Karel Miko
f831e27702
more readable for loops
2017-05-03 12:56:25 +02:00
Karel Miko
a1615daa3c
shake be fix (hopefully final)
2017-05-03 12:56:25 +02:00
Karel Miko
961b6109d5
cosmetics
2017-05-03 12:56:25 +02:00
Karel Miko
da8501f55a
sha3_shake_done another be fix
2017-05-03 12:56:25 +02:00
Karel Miko
c3f2e4530a
declaration of ‘i’ shadows a previous local (better)
2017-05-03 12:56:25 +02:00
Karel Miko
df4e47978e
declaration of ‘i’ shadows a previous local
2017-05-03 12:56:25 +02:00
Karel Miko
e5c0e7ffd3
SHAKE (SHA3 related) big endian fix
2017-05-03 12:56:25 +02:00
Steffen Jaeckel
67ca1c0b9a
fix for compilation with LTC_DEBUG
2017-05-03 12:37:24 +02:00
Steffen Jaeckel
aa4bae5ae9
add option to do PKCS#1 v1.5 EMSA without ASN.1 around hash
...
Somehow someone forgot to add the OID in the signature field
of a SERVER_KEY_EXCHANGE message in early versions of the SSL protocol.
Therefore provide an option to be able to sign/verify a message
in that format.
2017-05-01 23:15:11 +02:00
Francois Perrad
a52b586ed2
Unusual use of a Boolean expression
2017-05-01 14:51:35 +02:00
Steffen Jaeckel
2858373e2e
clean stack properly
2017-05-01 14:12:47 +02:00
Steffen Jaeckel
3e2ac192a1
Merge pull request #200 from fperrad/20170429_lint
...
LTC_PTHREAD: some linting
2017-05-01 14:08:59 +02:00
Karel Miko
87142382da
lint fixes discussed in #199
2017-04-29 19:59:03 +02:00
Francois Perrad
7e72dafe5f
remove useless semicolon
...
the macro LTC_MUTEX_TYPE already contains a semicolon
see https://github.com/libtom/libtomcrypt/blob/develop/src/headers/tomcrypt_custom.h#L552
2017-04-29 17:52:27 +02:00
Karel Miko
6417f96ea9
fortuna - import does not fail when input data are larger than export_size
2017-04-29 14:12:36 +02:00