Simon Butcher
327398ad3a
Refactor and change CMAC interface
...
Change the CMAC interface to match the mbedtls_md_hmac_xxxx() interface. This
changes the overall design of the CMAC interface to make it more consistent with
the existing HMAC interface, and will allow incremental updates of input data
rather than requiring all data to be presented at once, which is what the
current interface requires.
2016-10-05 14:19:18 +01:00
Brian Murray
8b4111c516
Fix build failure for thread config
2016-10-05 14:19:17 +01:00
Brian Murray
72b69e3808
Minor fixes to comments
2016-10-05 14:19:17 +01:00
Brian Murray
53e23b684f
Minor CMAC fixes for merge
2016-10-05 14:19:17 +01:00
Brian Murray
9ce2e091de
cleaned up indentation and braket issues in mbedtls_cmac_verify
2016-10-05 14:19:17 +01:00
Brian Murray
ae1cb12d82
Changed test function to inline to pass tests/scripts/check-names.sh
2016-10-05 14:19:17 +01:00
Brian Murray
0cf14c10d4
Fixed some build warnings
2016-10-05 14:19:17 +01:00
Brian Murray
6a3c0d2d67
Do not zeroize null pointer
2016-10-05 14:19:17 +01:00
Brian Murray
4b64ab6664
Removed unneed memsets and fixed spacing
2016-10-05 14:19:16 +01:00
Brian Murray
87e4040bb9
No CMAC minimum tag length is specified by NIST SP800-38B A
...
Minor Typo Changes
2016-10-05 14:19:16 +01:00
Brian Murray
617634e656
cmac.c whitespace cleanup
2016-10-05 14:19:16 +01:00
Brian Murray
2cfa5072ed
better handling of failed calloc
2016-10-05 14:19:16 +01:00
Brian Murray
57863ad7ed
selftest supports cmac if only MBEDTLS_DES_C is defined
...
Other minor typo fixes
2016-10-05 14:19:16 +01:00
Brian Murray
9044b0295c
More cleanup of CMAC self tests
2016-10-05 14:19:16 +01:00
Brian Murray
b439d4556d
Only compile AES CMAC PRF support if MBEDTLS_AES_C is defined and other cleanups
2016-10-05 14:19:16 +01:00
Brian Murray
0f6af73599
More cleanup of CMAC selftests
2016-10-05 14:19:15 +01:00
Brian Murray
00dc5f0fc8
Fixed CMAC tag length
2016-10-05 14:19:15 +01:00
Brian Murray
b0c3c43dec
CMAC support for cipher with 64bit blocks (DES/3DES)
2016-10-05 14:19:15 +01:00
Manuel Pégourié-Gonnard
7b555f2928
cmac: more cosmetic changes
2016-10-05 14:19:15 +01:00
Manuel Pégourié-Gonnard
ab9c5fd9b3
cmac: avoid useless wrapping of function
...
probably a leftover from an earlier stage
2016-10-05 14:19:15 +01:00
Manuel Pégourié-Gonnard
d18c70708e
cmac: reduce visibility of macros
...
The #undef is usefull for people who want to to amalgamated releases
2016-10-05 14:19:15 +01:00
Manuel Pégourié-Gonnard
2c06306364
cmac: some more padding-related tune-ups
...
- use one less temporary buffer
- pedantic: in_len + 15 was a potential overflow
- use a more explicit name instead of 'flag'
- Mn was a bit misleading
2016-10-05 14:19:14 +01:00
Manuel Pégourié-Gonnard
d2c3d3eddb
cmac: clean up padding function and comments
2016-10-05 14:19:14 +01:00
Manuel Pégourié-Gonnard
475f06f609
cmac: make subkey gen more constant-time
...
The previous version had secret-dependent memory accesses. While it was
probably not an issue in practice cause the two bytes of the array are
probably on the same cache line anyway, as a matter of principle this should
be avoided.
2016-10-05 14:19:14 +01:00
Manuel Pégourié-Gonnard
d6cf75474b
cmac: zeroize sensitive intermediate values
2016-10-05 14:19:14 +01:00
Manuel Pégourié-Gonnard
a610b4c04b
cmac: factor multiply by u to its own function
...
We're doing exactly the same operation for K1 and K2.
2016-10-05 14:19:14 +01:00
Manuel Pégourié-Gonnard
3da5402a89
cmac: fix whitespace/codingstyle issues
2016-10-05 14:19:14 +01:00
Manuel Pégourié-Gonnard
690083c21d
cmac: improve argument order and naming
...
- always use the pattern "buffer, length"
- avoid using unqualified "length" as a name when there are more than one
2016-10-05 14:19:14 +01:00
Robert Cragie
3d23b1d5ed
Line endings wrong
2016-10-05 14:19:14 +01:00
Robert Cragie
dc5c7b98ac
Add support for AES-128-CMAC and AES-CMAC-PRF-128
2016-10-05 14:19:13 +01:00