José Alamos
d16d911f42
Merge pull request #10120 from mtausig/ocb
...
Add OCB encryption mode
2019-04-23 11:08:30 +02:00
Mathias Tausig
aa611f6468
crypto: Implement OCB encryption mode
2019-04-23 10:34:32 +02:00
Kevin "Bear Puncher" Weiss
7dc243e3cc
Merge pull request #10220 from bergzand/pr/crypto/chacha20poly1305
...
chacha20poly1305: Initial implementation of AEAD cipher.
2019-02-04 12:52:24 +01:00
1990e1629a
crypto: Add chacha20poly1305 AEAD algorithm
2019-02-04 09:29:26 +01:00
e29adedfc5
sys/crypto/aes: avoid UB by explicit unsigned integer promotion
2019-01-21 14:01:22 +01:00
Kevin "Bear Puncher" Weiss
f05852290a
Merge pull request #9236 from bergzand/pr/crypto/poly1305
...
crypto: Poly1305 implementation
2018-12-03 14:31:28 +01:00
731ceda2f7
crypto/poly1305: Initial import
...
poly1305 implementation strongly based on
https://github.com/floodyberry/poly1305-donna
2018-12-03 09:31:09 +01:00
Juan I Carrano
77c9cc4041
Merge pull request #10219 from bergzand/pr/crypt/helper_add_wipe
...
crypto/helper: Add secure wipe function
2018-11-30 11:32:45 +01:00
Gaëtan Harter
c87fe94ec1
crypto/modes/ccm: update api to const input buffers
...
Input buffers are not modified, so can be declared const arguments.
2018-11-19 16:44:04 +01:00
Gaëtan Harter
9e6782afb4
crypto/modes/ccm: update internal functions to const input buffers
...
Input buffers are not modified, so can be declared const arguments.
This will allow using `const` inputs for `modes/ccm`.
Also say `iv` const even if not required for the api update, just because it is
the case.
2018-11-19 16:44:09 +01:00
Gaëtan Harter
9427371849
crypto/modes/ctr: update api to const input buffers
...
Input buffers are not modified, so can be declared const arguments.
This will allow using `const` inputs for `modes/ccm`.
2018-11-19 16:44:04 +01:00
Juan Carrano
3393dafe82
sys/crypto: configure AES via pseudomodules.
...
USEMODULE += crypto_aes_precalculated enables the precalculated T tables (the old
code).
USEMODULE += crypto_aes_unroll causes loops to be unrolled.
2018-11-15 18:25:26 +01:00
Oleg Artamonov
05fe168a1e
sys/crypto: optimize AES
2018-11-15 18:21:17 +01:00
Wentao Shang
3fd8276c37
crypto/ccm: fix auth_data_len upperbound value
...
RFC3610 states that len_encoding is only valid for "0x0001 ... 0xFEFF"
If 0 < l(a) < (2^16 - 2^8), then the length field is encoded as two
octets which contain the value l(a) in most-significant-byte first
order.
2018-11-12 16:38:45 +01:00
Gaëtan Harter
f0e785a430
crypto/ccm: check ccm_compute_adata_mac return value
...
Return value was ignored but function could fail
2018-11-12 16:37:00 +01:00
fa64817e61
crypto/helper: Add secure wipe function
...
Adds a cryptographically secure wipe function to wipe structs with
sensitive data. Works by first casting the pointer to a `volatile`
pointer to ensure that the compiler doesn't optimize the "memset" away.
2018-11-07 09:38:08 +01:00
ed23bdf25a
crypto/helper: Change equals arguments to const
2018-10-21 20:27:33 +02:00
7d013eb2b6
sys: fix doxygen grouping
2018-06-11 19:12:02 +02:00
Gaëtan Harter
fa33eacd1f
crypto/ccm: fix _fits_in_nbytes function
...
Function is broken with num_bytes >= 4.
Could happen when storing input_len with len_encoding >= 4.
It can take values from 2 to 8, so make it work for cases it would overflow.
2018-05-07 15:08:00 +02:00
Gaëtan Harter
ee311a331b
crypto/ccm: refactor input_len check in a function
...
Refactorg checking that length can be stored in a number of bytes to a
subfunction.
2018-05-07 15:08:00 +02:00
Wentao Shang
89023b3499
crypto/ccm: fix input_len check
...
Maximum input_len depends only on length_encoding and not auth_data_len.
The current length_max value was also wrong.
RFC3610 page 2
3. The message m, consisting of a string of l(m) octets where 0 <=
l(m) < 2^(8L). The length restriction ensures that l(m) can be
encoded in a field of L octets.
2018-05-07 15:08:00 +02:00
61f1b941ce
make: replace curly braces with parenthesis
2018-03-22 20:43:15 +01:00
4ec8f4c2fc
sys: instead of cpp-style, use C-style comments
2018-02-06 16:59:58 +01:00
Vincent Dupont
4f6fadbdc7
crypto/cbc: constify input buffers
2017-06-27 18:58:33 +02:00
Emmanuel Baccelli
6589c01aa0
sys/crypto: remove 3DES
2017-04-25 18:34:18 +02:00
Martine Lenders
62ca7f9242
crypto: fix cppcheck warnings
2017-04-14 14:36:14 +02:00
Oleg Hahm
c2893d4a88
sys: crypto: remove twofish and rc5
2017-01-15 14:53:43 +01:00
Mathias Tausig
3a3b26e70a
ciphers: Added defines for return values of cipher_init() and [specific cipher]_init() functions
...
New definitions: CIPHER_INIT_SUCCESS and CIPHER_ERR_BAD_CONTEXT_SIZE
2016-10-04 13:01:38 +02:00
Oleg Hahm
b428979a1d
debug: add missing line breaks
2016-09-27 23:38:41 +02:00
Cenk Gündoğan
e70c5d416e
Merge pull request #4787 from BytesGalore/doc_crypto_add_word_on_required_cflags
...
doc crypto: add word on using required `CFLAGS`
2016-03-03 13:36:27 +01:00
9082273746
core: header cleanup
2016-02-28 22:46:28 +01:00
BytesGalore
d09ae8f384
doc crypto: add word on using required CFLAGS
2016-02-12 08:41:53 +01:00
Oleg Hahm
825ba72751
doc crypto: fixed typo and improved example
2016-02-11 11:44:57 +01:00
Oleg Hahm
51db509f7c
sha256: move from crypto to hashes
2016-02-04 14:58:34 +01:00
René Kijewski
cecb4c8c56
crypto: remove skipjack support
...
Unused, unmaintained, buggy code for an unknown algorithm.
2015-09-25 00:05:18 +02:00
Oleg Hahm
a0957b11d6
Merge pull request #3926 from OlegHahm/some-scan-build-warnings
...
clean up: Some scan build warnings
2015-09-22 11:43:20 +02:00
René Kijewski
d2afdf5079
crypto: memcpy()
in overlapping data in ccm
...
`memcpy()` must not be used if the input and output ranges overlap,
because it is undefined if the data if copied from front to the end or
vice versa.
Found via valgrind.
2015-09-22 11:01:56 +02:00
Oleg Hahm
e15bdd257a
debug: replace __FILE__ by RIOT_RELATIVE_FILE
2015-09-20 01:51:47 +02:00
Oleg Hahm
fac95806a8
sys: replace DEBUGF with corresponding DEBUG calls
2015-09-20 01:51:47 +02:00
Oleg Hahm
4a8e897c0e
doc: minor fixing for crypto module
...
Moves the crypto module documentation to the right group and streamline the doxygen keywords.
2015-08-26 10:42:50 +02:00
Oleg Hahm
4f4b924e6f
crypto: replaced printf with DEBUGF
...
also getting rid of non-ISO compliant __FUNCTION__ macros
2015-08-04 17:47:40 +02:00
Nico von Geyso
4a4235c622
Unified Cipher API and Block cipher operation modes
2015-07-22 19:18:34 +02:00
René Kijewski
2cf4253710
sys: add ChaCha stream cipher and PRNG
...
This implementation is optimized for a little code and data size, not
for speed. IMO the code is more readable than in the reference
implementation.
The biggest advantage of ChaCha over other stream ciphers is the very
little data usage with only 64 bytes of context, and its good encryption
speed.
Also part of this PR is pseudo-random number generator, that just
returns the keystream of a randomly initialized ChaCha context.
2015-06-28 18:32:04 +02:00
Joakim Gebart
13832d8e62
everything: Remove filename from @file Doxygen command
2015-05-22 07:34:41 +02:00
Hinnerk van Bruinehsen
ff6a7febc6
lint: fix uselessAssignmentPtrArg
2014-10-31 01:24:30 +01:00
Hinnerk van Bruinehsen
ec98c85a05
lint: fix unusedVariable warnings
...
SQUASH ME: into unusedVariable (annotated)
SQUASH ME: into unusedVariable (II)
SQUASH ME: into unreadVariable (II)
2014-10-31 01:24:29 +01:00
Oleg Hahm
6d8c0d74c3
doc: some doxygen cleanups
...
* removed RIOT unrelated cpu documentation
* introduced cpu_specific prefix to mark such documentation
* put oneway_malloc and crypto into sys group
2014-10-23 17:29:25 +02:00
Hinnerk van Bruinehsen
57b998e4a1
cpu/examples/sys/drivers: reduce scope of variables
2014-09-13 19:03:40 +02:00
Ludwig Ortmann
b7992922ce
fix license headers in non-.c files
2014-08-23 16:16:26 +02:00
Oleg Hahm
feca0d73c8
crypto: get rid of compiler warnings
2014-08-01 00:04:55 +02:00