Counter(CTR) mode. More...
Go to the source code of this file.
Macros | |
#define | TRACE_LEVEL CRYPTO_TRACE_LEVEL |
Functions | |
error_t | ctrEncrypt (const CipherAlgo *cipher, void *context, uint_t m, uint8_t *t, const uint8_t *p, uint8_t *c, size_t length) |
CTR encryption. More... | |
error_t | ctrDecrypt (const CipherAlgo *cipher, void *context, uint_t m, uint8_t *t, const uint8_t *c, uint8_t *p, size_t length) |
CTR decryption. More... | |
Counter(CTR) mode.
Copyright (C) 2010-2018 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneCrypto Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
The Counter (CTR) mode is a confidentiality mode that features the application of the forward cipher to a set of input blocks, called counters, to produce a sequence of output blocks that are exclusive-ORed with the plaintext to produce the ciphertext, and vice versa. Refer to SP 800-38A for more details
Definition in file ctr.c.
error_t ctrDecrypt | ( | const CipherAlgo * | cipher, |
void * | context, | ||
uint_t | m, | ||
uint8_t * | t, | ||
const uint8_t * | c, | ||
uint8_t * | p, | ||
size_t | length | ||
) |
CTR decryption.
[in] | cipher | Cipher algorithm |
[in] | context | Cipher algorithm context |
[in] | m | Size in bits of the specific part of the block to be incremented |
[in,out] | t | Initial counter block |
[in] | c | Ciphertext to be decrypted |
[out] | p | Plaintext resulting from the decryption |
[in] | length | Total number of data bytes to be decrypted |
error_t ctrEncrypt | ( | const CipherAlgo * | cipher, |
void * | context, | ||
uint_t | m, | ||
uint8_t * | t, | ||
const uint8_t * | p, | ||
uint8_t * | c, | ||
size_t | length | ||
) |
CTR encryption.
[in] | cipher | Cipher algorithm |
[in] | context | Cipher algorithm context |
[in] | m | Size in bits of the specific part of the block to be incremented |
[in,out] | t | Initial counter block |
[in] | p | Plaintext to be encrypted |
[out] | c | Ciphertext resulting from the encryption |
[in] | length | Total number of data bytes to be encrypted |