Jan Romann
4384795cb9
treewide: Remove excessive newlines
2021-08-13 19:50:38 +02:00
Leandro Lanzieri
d90ac484a3
sys/crypto: add modules to Kconfig
2021-01-26 17:39:44 +01:00
Bas Stottelaar
80d9da90df
sys/*: add missing include of assert.h
2020-10-22 11:13:09 +02:00
Fabian Hüßler
069f88eeb6
sys/crypto: OCB add const
2020-10-05 12:32:51 +02:00
Fabian Hüßler
8ded1b8c3c
sys/crypto: CTR add const
2020-10-05 12:32:51 +02:00
Fabian Hüßler
a9295ae531
sys/crypto: CCM add const
2020-10-05 12:32:51 +02:00
Fabian Hüßler
83d391f6b1
sys/crypto: CBC and ECB add const
2020-10-05 12:32:51 +02:00
Francisco Molina
8372286591
sys/crypto/modes/ccm: accept input_len=0
...
CCM may be used on messages with no plaintext data.
2020-04-10 10:41:01 +02:00
Gaëtan Harter
480a8bf076
crypto/ccm: fix plaintext_len write
...
plaintext_len should be written in MSB first order into bytes
[16-L..15] both included and not ]16-L..15].
[RFC3610: 2.2 Authentication]
2020-01-08 19:49:15 +01:00
Mathias Tausig
116240d721
crypto: Fix CCM mode when message size > 256
...
Fixes part of issue #8107
2020-01-07 23:31:35 +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
6fe6f8f6ca
sys/crypto: Allow CCM encryption with AAD of length > 24
...
Fixes parts of issue #8107
2020-01-07 21:25:48 +01:00
Mathias Tausig
f266275afb
sys/crypto: Make internal functions static
2020-01-07 21:23:13 +01:00
Mathias Tausig
3382a089a8
sys/crypto: Check block size for CCM operations
2020-01-07 21:22:09 +01:00
3475542650
sys/crypto: 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
607aa6fbcd
sys/crypto/ocb: fix max data condition
2019-11-22 19:21:06 +01:00
Mathias Tausig
89db40b563
sys/crypto: Fix code style
2019-10-08 20:58:52 +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
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
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
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
Vincent Dupont
4f6fadbdc7
crypto/cbc: constify input buffers
2017-06-27 18:58:33 +02:00
Martine Lenders
62ca7f9242
crypto: fix cppcheck warnings
2017-04-14 14:36:14 +02:00
Oleg Hahm
b428979a1d
debug: add missing line breaks
2016-09-27 23:38:41 +02:00
9082273746
core: header cleanup
2016-02-28 22:46:28 +01: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
Nico von Geyso
4a4235c622
Unified Cipher API and Block cipher operation modes
2015-07-22 19:18:34 +02:00