Karel Miko
52eaabefa9
msvc 2008 does not like { } initialization
2017-03-06 19:53:04 +01:00
Karel Miko
fb749199db
moving declaration to block beginning
2017-03-06 19:51:46 +01:00
Karel Miko
081ee45712
move declaration at block beginning
2017-03-06 10:43:39 +01:00
Karel Miko
1a1addcefd
move declarations at the block beginning (ANSI C)
2017-03-01 15:02:08 +01:00
Steffen Jaeckel
9092470843
fix doxygen warnings
2017-03-01 15:00:41 +01:00
Steffen Jaeckel
00308d8651
fix base64url related errors when only LTC_BASE64 is defined
2017-03-01 11:37:49 +01:00
Steffen Jaeckel
0b79bbaf5b
fix missing symbol rand_prime
2017-03-01 11:37:49 +01:00
Karel Miko
50aedb099c
fixing warning introduced by __WCHAR_MAX__ patch
2017-02-28 23:20:19 +01:00
Francois Perrad
eca2290b1e
missing prototypes
2017-02-28 23:07:06 +01:00
Francois Perrad
27280b86b3
static functions
2017-02-28 23:07:06 +01:00
Steffen Jaeckel
acfd16c60a
fix compile error
2017-02-28 21:23:39 +01:00
Karel Miko
4bd327a4cc
better handling wchar_t when __WCHAR_MAX__ is 0xFFFF (2 bytes only)
2017-02-28 20:24:49 +01:00
Karel Miko
05f85c3e6d
RS2 remove 40bit limit
2017-02-28 20:20:51 +01:00
Steffen Jaeckel
03f0674985
add compare_testvector() prototype to tomcrypt_misc.h
2017-02-28 20:09:32 +01:00
Steffen Jaeckel
9a29428f8e
Add secondary rc2 setup function
...
...to be able to pass the effective key length.
2017-02-28 20:09:32 +01:00
Steffen Jaeckel
43c50423ad
add yet another testvector
2017-02-28 20:09:32 +01:00
Steffen Jaeckel
952caf3cd7
add testvectors for smaller RC2 keysizes
...
originates from rfc2268
1 byte keylen is commented
2017-02-28 20:09:32 +01:00
Steffen Jaeckel
19c81bbbee
fix typo
2017-02-28 20:09:32 +01:00
Karel Miko
344620a0e7
fixes #135 RC2 min keylen 40bit (was 64bit)
2017-02-28 20:09:32 +01:00
Karel Miko
6c8d00d1fd
part of feature/doc changes
2017-02-28 17:35:57 +01:00
Karel Miko
efbd73fbc8
move declarations at the block beginning (ANSI C)
2017-02-28 16:11:42 +01:00
Karel Miko
88412a9fc2
conversion related troubles (int, size_t, ptrdiff_t ..)
2017-02-28 11:30:19 +01:00
Steffen Jaeckel
eee936d752
add base64url_strict_encode()
2017-02-28 01:27:06 +01:00
Karel Miko
006c601efb
no trailing = for base64url
2017-02-28 01:27:05 +01:00
Karel Miko
ff3a03a1d0
tuning base64 decoding implementation
2017-02-28 01:27:04 +01:00
Steffen Jaeckel
c1dd1cbe30
re-work strict/relaxed base64 decoding implementation
...
Instead of one API function with an option parameter, provide two API
functions.
Instead of defaulting to strict decoding, default to relaxed decoding.
2017-02-28 01:27:03 +01:00
Steffen Jaeckel
bc16c149fc
fix base64[url] strict/relaxed decode
2017-02-28 01:27:01 +01:00
Steffen Jaeckel
063bac396d
add LTC_BASE64_STRICT to crypt_build_settings and crypt_constants
2017-02-28 01:27:00 +01:00
Steffen Jaeckel
b10f9502f8
add RFC4648 base64 decoding compliance
2017-02-28 01:26:57 +01:00
Karel Miko
faa18e71c8
tuning indentation
2017-02-28 00:51:25 +01:00
Karel Miko
1e260eeaae
fir coverity finding: dsa_import double free
2017-02-28 00:51:25 +01:00
Matt Kelly
e187f4cbf4
Fix all warnings from -Wcast-align
2017-02-26 10:12:16 -05:00
Karel Miko
7246ab50da
fix coverity finding: cbc_decrypt out-of-bound read
2017-02-25 19:53:52 +01:00
Francois Perrad
4349993ad3
Suspicious use of & (part 2)
2017-02-25 13:21:34 +01:00
Karel Miko
477d621224
more trailing spaces + tabs in src
2017-02-24 20:31:48 +01:00
Francois Perrad
fc55a8fd1b
remove trailing spaces
2017-02-24 19:02:43 +01:00
Francois Perrad
b0f06ed1ec
add parenthese in macro
2017-02-24 19:00:36 +01:00
Francois Perrad
79d6e61aca
use the variable 'err'
2017-02-24 19:00:32 +01:00
Francois Perrad
31f88a9c9b
default for switch
2017-02-24 19:00:28 +01:00
Francois Perrad
203087d6d7
bug: wrong parentheses in condition with assignment
2017-02-24 19:00:24 +01:00
Karel Miko
649ef0faef
forgotten trailing space
2017-02-24 16:54:01 +01:00
Francois Perrad
58353f51e2
remove trailing spaces
2017-02-24 16:29:54 +01:00
Francois Perrad
5d7036ebe2
remove hard tab
2017-02-24 16:26:48 +01:00
Francois Perrad
9f8df116be
remove useless code
2017-02-24 16:23:27 +01:00
Francois Perrad
cebf33cdce
add some const
2017-02-24 16:23:23 +01:00
Francois Perrad
9749958fe5
the comment FALLTHROUGH is common for several lint tool
2017-02-24 16:23:19 +01:00
Francois Perrad
c22acc2d07
remove useless include
2017-02-24 16:23:15 +01:00
Francois Perrad
7b48f4d5f7
fix indentation
2017-02-24 16:23:10 +01:00
Steffen Jaeckel
ecb2402ba8
remove [X]CLOCKS_PER_SEC
2017-02-24 00:28:59 +01:00
Karel Miko
979e9a9d15
fix for #90 ltc_ecc_mul2add.c integer sign issue (sjaeckel's way)
2017-02-24 00:18:55 +01:00
Karel Miko
0c226834cc
introducing LTC_INLINE
2017-02-23 23:47:56 +01:00
Karel Miko
3d5b90d24d
LTC_NO_PROTOTYPES related cosmetics
2017-02-23 11:03:55 +01:00
Steffen Jaeckel
76b289833c
only define LTC_NO_PROTOTYPES on one point
...
This closes #132
2017-02-23 11:03:55 +01:00
Karel Miko
a2c87f54de
adding rsa_import_radix
2017-02-21 16:55:09 +01:00
Karel Miko
10545366d2
adding dsa_import_radix
2017-02-21 16:54:10 +01:00
Karel Miko
bcf7753a26
use MIN macro
2017-02-21 16:36:17 +01:00
Karel Miko
ecbac7324e
DSA: properly handle FIPS 186-4 (4.6 + 4.7)
2017-02-21 16:36:17 +01:00
Karel Miko
b36e75b7f1
don't read from c:\dev\random on windows
2017-02-21 13:34:52 +01:00
Steffen Jaeckel
d727b16898
use proper defines as of [1]
...
[1] http://predef.sourceforge.net
2017-02-21 13:34:52 +01:00
zeromus
c341d36c6a
do it differently
2017-02-21 11:49:35 +01:00
zeromus
32f19995f8
do it differently
2017-02-21 11:49:35 +01:00
zeromus
793ff08986
do it differently
2017-02-21 11:49:35 +01:00
zeromus
c83763bd46
fix tiny compile error in tomcrypt_pk.h macro
...
An ARM compiler gives me this:
libtomcrypt\pk\asn1\der\sequence\der_decode_subject_public_key_info.c(65,4): error #188-D: enumerated type mixed with another type
Since der_decode_subject_public_key_info's parameters_type is of type 'unsigned long', an attempt to assign it to ltc_asn1_list's member 'ltc_asn1_type type' fails.
My fix solves this in a simple way by casting it at the point of assignment.
But while studying this I noticed there's no use of enum in the codebase other than a few PK-related things. Perhaps a more appropriate solution would be to remove these enums. I mean, enums seem like an OK enough idea, but I don't know anything about the practicality of using enums in archaic C dialects like libtomcrypt conforms (thankfully!) to...
2017-02-21 11:49:35 +01:00
Steffen Jaeckel
383f200cb6
fix LTC_MINIMAL
2017-02-20 19:19:44 +01:00
Steffen Jaeckel
fd99c3e3c0
remove duplicate define
2017-02-20 18:58:20 +01:00
Steffen Jaeckel
08aabc7f8c
improve print_hex() prototype
2017-02-17 11:53:14 +01:00
Steffen Jaeckel
8fc1af1b7e
make implementation easier to read
...
damn you negated logic...
2017-02-15 23:15:43 +01:00
Steffen Jaeckel
7d418b34b3
Fix GCM counter reuse
...
GCM should error out after processing (2^32)-1 blocks / (2^39)-256 bits
2016-09-28 20:18:09 +02:00
Karel Miko
6ad5225268
removing forgotten debug comment
2016-07-07 15:03:33 +02:00
Karel Miko
966496ea1a
fixing GCM troubles at HP-UX/IA64
2016-01-23 18:09:03 +01:00
Karel Miko
af77f1fae9
RORc instead of ROR
2016-01-19 00:03:54 +01:00
Karel Miko
d0a534393a
fix for issue #92 - const is meaningless on cast type
2016-01-19 00:03:54 +01:00
Karel Miko
15b3f39a4f
avoid using declaration after statements (rng_win32)
2016-01-14 21:46:53 +01:00
Karel Miko
7c1e251e75
avoid using declaration after statements
2016-01-14 21:46:53 +01:00
Steffen Jaeckel
10e577e24a
there's no need to check out on function entry
...
...someone could then do something like this...
unsigned char* out = NULL;
unsigned long len = 0;
while(ecc_ansi_x963_export(key, out, &len) == CRYPT_BUFFER_OVERFLOW &&
len == 0) {
out = malloc(len);
}
...as if someone would ever like to do something like that...
2016-01-14 21:32:33 +01:00
Karel Miko
42bad9f580
fix for issue #58 - possible overflow in ecc_ansi_x963_export
2016-01-11 00:25:13 +01:00
Karel Miko
8cf7eb1801
fix for issue #91 - redefinition of macro "setbit"
2016-01-10 18:45:04 +01:00
Steffen Jaeckel
7c2ff8ebfe
show ROtate operator configuration in build settings
...
[skip ci]
2016-01-05 23:55:06 +01:00
Steffen Jaeckel
f5016d88dd
Prevent undefined behavior
...
Don't call XMEMCPY() in case info (the source parameter to memcpy) is NULL
as this would trigger UB
2015-12-05 14:31:38 +01:00
Steffen Jaeckel
318dbbccc3
fix wrongly used LTC_ARGCHK/LTC_ARGCHKVD macros
2015-12-05 14:31:37 +01:00
Steffen Jaeckel
460b8716c9
fix clang-analyzer warnings
...
This fixes #80
2015-12-05 14:31:01 +01:00
Steffen Jaeckel
16f397d55c
prevent segfault in case we hit an empty sequence
2015-09-10 19:17:42 +02:00
Steffen Jaeckel
d4945ac521
add (nearly) all defines from tomcrypt_custom.h to crypt_build_settings
...
... and provide a new make target to check if something is missing
2015-09-08 21:09:49 +02:00
Steffen Jaeckel
733c52aa00
add LTC_RSA_CRT_HARDENING to crypt_build_settings
2015-09-08 21:04:33 +02:00
Steffen Jaeckel
01f1845402
harden RSA CRT by implementing the proposed countermeasure
...
... from ch. 1.3 of [1]
[1] https://people.redhat.com/~fweimer/rsa-crt-leaks.pdf
2015-09-08 02:44:17 +02:00
Steffen Jaeckel
6ec93afa3c
clean-up test-build and extend tomcrypt_custom.h
...
added LTC_MINIMAL to be able do a build without nearly any
functionality :)
make sure timing resistant RSA & ECC are enabled if not said otherwise
2015-09-01 17:36:43 +02:00
Steffen Jaeckel
8cb20e6059
add more DES test vectors
2015-08-31 15:09:36 +02:00
Sebastian Verschoor
75b114517a
make sure no cache-based timing attack is possible
...
instead of two different buffers, there is just one buffer. Based upon the verification result, a mask is applied to the buffer before it is written to the output buffer.
2015-08-26 00:08:38 +02:00
Steffen Jaeckel
09e4b0ec9b
don't reveal plaintext if authentication failed
...
Create two buffers of the same size as the input data.
Copy the input data to the first one and work with that version to hold the
decrypted data, zeroize the second one.
Copy depending on the verification result, either the zero-buffer or the
real plaintext to the output buffer.
2015-08-26 00:08:38 +02:00
Steffen Jaeckel
6c11ca771b
fix compile error of tests
2015-08-26 00:08:38 +02:00
Sebastian Verschoor
25af184cd5
Quickfix for issue #73
...
The API of the function is changed (for decryption, tag is now an input
parameter). With the old API it is impossible to confirm to the NIST
specification and a timing sidechannel leak is inevitable.
2015-08-26 00:08:38 +02:00
Steffen Jaeckel
f9c8c9c229
also test XTS accelerators
2015-08-26 00:05:07 +02:00
Steffen Jaeckel
181d2f2df7
auto-format xts code
2015-08-26 00:02:50 +02:00
Steffen Jaeckel
b25d04ed94
fix pointer check
2015-08-25 23:58:22 +02:00
Jerome Forissier
5c3f177b34
Add function pointers for accelerated XTS to ltc_cipher_descriptor
...
Similar to what already exists for other modes.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
2015-08-25 23:58:22 +02:00
Steffen Jaeckel
a13257094e
handle LTC_NO_FAST before handling LTC_FAST
2015-08-23 22:59:15 +02:00
Steffen Jaeckel
ee03c97cde
add crc32
2015-08-23 22:59:14 +02:00
Steffen Jaeckel
9585faca2b
re-work debug output of some tests
2015-08-23 22:59:14 +02:00
Steffen Jaeckel
1987a2f975
add adler32 checksum algorithm
2015-08-23 22:59:14 +02:00
Pascal Brand
3605983f09
Introduce ECC raw algorithms for sign and verify
...
As it is performed on dsa, raw sign and verify on ECC
are introduced.
Signed-off-by: Pascal Brand <pascal.brand@st.com>
2015-08-21 22:14:03 +02:00