1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

58 Commits

Author SHA1 Message Date
f6c4e269b1
sys/crypto: define ciphers via pseudomodules 2020-03-06 19:49:58 +01:00
Francisco Molina
0e4640276c sys/include/crypto/modes/ccm: specify implem limits 2020-01-12 17:57:27 +01:00
Francisco
4c4cb8a14f
Merge pull request #12362 from mtausig/ccm_aadlen
Fix CCM mode when length of AAD is > 24
2020-01-07 22:26:24 +01:00
Mathias Tausig
3382a089a8 sys/crypto: Check block size for CCM operations 2020-01-07 21:22:09 +01:00
61db4d9724 sys/include: fix typos 2019-11-23 22:39:37 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Mathias Tausig
89db40b563 sys/crypto: Fix code style 2019-10-08 20:58:52 +02:00
Mathias Tausig
66edeeb9c6 crypto: aes_init(): Fail correctly when called with bad key length
A proper error code is returned if a key with unsupported (either by the implementation or the AES algorithm) length is passed to aes_init.
This fixes Issue #10175
2019-08-07 11:02:16 +02:00
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
1990e1629a
crypto: Add chacha20poly1305 AEAD algorithm 2019-02-04 09:29:26 +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
d5c527161d
test/crypto: Add tests for poly1305
Tests are based on the tests vectors provided in RFC 7539
2018-12-03 09:31:10 +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
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
66e0d48037
Merge pull request #10159 from mtausig/crypto_documentation
crypto: fix several documentation issues
2018-11-08 12:13:59 +01:00
Mathias Tausig
4272ccf281 crypto: Fix whitespace errors 2018-11-08 11:25:50 +01:00
Mathias Tausig
41667cef66 crypto: Improve and fix comments
Update return values in documentation
Improve comments with separate @return statement for each rv
Remove incorrect return value for aes_init
Use @return instead of @returns
Fix comment lines over 80 chars
2018-11-08 11:25:50 +01:00
Mathias Tausig
3ddd17b267 crypto: Fix typos in comments 2018-11-08 11:25:14 +01:00
6c69e6f452
Merge pull request #10347 from mtausig/fixstyle
crypto: Fix code style
2018-11-08 10:58:50 +01:00
Mathias Tausig
068e263cba crypto: Fix code style 2018-11-08 10:31:42 +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
Pieter Willemsen
599dbd3bcd crypto/cbc: add return values to documentation 2018-02-27 09:56:54 +01:00
Gaëtan Harter
5e22f61cda sys/crypto/ccm: fix docstring value for 'nonce_len'
From RFC3610 - 2.1.2:

    A nonce N of 15-L octets
    (where L: Number of octets in length field)
2017-12-19 18:24:44 +01:00
Vincent Dupont
4f6fadbdc7 crypto/cbc: constify input buffers 2017-06-27 18:58:33 +02:00
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00
Emmanuel Baccelli
6589c01aa0 sys/crypto: remove 3DES 2017-04-25 18:34:18 +02:00
Oleg Hahm
9934837349 crypto: remove superfluous and unused header
The implementation is gone for a long time anyway.
2017-03-08 10:39:47 +01:00
Oleg Hahm
3c6678b037 *: fix mismatching endifs for header guards 2017-01-19 18:30:53 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01: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
Mathias Tausig
bc3f49a7d0 ciphers: Documented return values of init functions 2016-10-04 09:30:22 +02:00
Shuguo Zhuo
4a0720fd21 sys/crypto: Rename header include guards. 2016-09-01 16:56:13 +02:00
9082273746 core: header cleanup 2016-02-28 22:46:28 +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
Nico von Geyso
4a4235c622 Unified Cipher API and Block cipher operation modes 2015-07-22 19:18:34 +02:00
Joakim Gebart
5ab48c2d67 sys/crypto/twofish: Add casts to ensure bit shifts fit in the target variable 2015-07-14 08:11:15 +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
Oleg Hahm
3d411807c0 doc: fix and complemented some doxygen headers 2015-03-18 14:27:48 +01:00
Oleg Hahm
a9ed34a293 doc: fixed documentation for crypto headers 2014-12-06 11:55:28 +01:00
Oleg Hahm
43c86b5a3e doc: fix remaining doxygen warnings 2014-12-04 17:16:57 +01:00