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...  
Detailed Description
Counter(CTR) mode.
License
SPDXLicenseIdentifier: GPL2.0orlater
Copyright (C) 20102020 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 021101301, USA.
Description
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 exclusiveORed with the plaintext to produce the ciphertext, and vice versa. Refer to SP 80038A for more details
 Version
 1.9.8
Definition in file ctr.c.
Macro Definition Documentation
◆ TRACE_LEVEL
Function Documentation
◆ ctrDecrypt()
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.
 Parameters

[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
 Returns
 Error code
◆ ctrEncrypt()
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.
 Parameters

[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
 Returns
 Error code