50 Commits
Author SHA1 Message Date
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
Koen Zandberg 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
Koen Zandberg 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
Koen Zandberg 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
Koen Zandberg 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
Koen Zandberg 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
Koen Zandberg 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
Koen Zandberg ed23bdf25a crypto/helper: Change equals arguments to const 2018-10-21 20:27:33 +02:00
Alexandre Abadie 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
Kaspar Schleiser 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
Kaspar Schleiser 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
Oleg Hahm 0ccf1043de doc: fixed broken doxygen references 2014-12-04 17:16:57 +01:00
Oleg Hahm d92e9af91c doc: fixed broken param descriptions 2014-11-30 22:34:50 +01:00
Oleg Hahm 36e49c6c65 doc: removed broken doxygen struct tags 2014-11-30 21:50:43 +01:00
BytesGalore de3c3cebd0 c++: sys: add extern C to header files 2014-11-08 20:09:55 +01:00
Ludwig Ortmann b7992922ce fix license headers in non-.c files 2014-08-23 16:16:26 +02:00
Ludwig Ortmann c51c135192 sys/crypto: remove assert.h include
It is not used and most platforms don't have it.
2014-03-01 14:43:13 +01:00
Ludwig Ortmann 2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
Hauke Petersen 05419a5547 Initial import of crypto libs from SecureMicroMesh
- Imported files from secure micro mesh library
- added Makefiles and included libs into sys/Makefile
2013-12-19 13:33:06 +01:00