| /optee_os/core/lib/libtomcrypt/src/modes/ctr/ |
| H A D | ctr_encrypt.c | 7 CTR implementation, encrypt data, Tom St Denis 13 static void s_ctr_increment_counter(symmetric_CTR *ctr) in s_ctr_increment_counter() argument 17 if (ctr->mode == CTR_COUNTER_LITTLE_ENDIAN) { in s_ctr_increment_counter() 18 for (x = 0; x < ctr->ctrlen; x++) { in s_ctr_increment_counter() 19 ctr->ctr[x] = (ctr->ctr[x] + 1) & 0xff; in s_ctr_increment_counter() 20 if (ctr->ctr[x]) in s_ctr_increment_counter() 24 for (x = ctr->blocklen - 1; x >= ctr->ctrlen; x--) { in s_ctr_increment_counter() 25 ctr->ctr[x] = (ctr->ctr[x] + 1) & 0xff; in s_ctr_increment_counter() 26 if (ctr->ctr[x]) { in s_ctr_increment_counter() 34 CTR encrypt software implementation [all …]
|
| H A D | ctr_start.c | 7 CTR implementation, start chain, Tom St Denis 14 Initialize a CTR context 21 @param ctr The CTR state to initialize 28 symmetric_CTR *ctr) in ctr_start() argument 34 LTC_ARGCHK(ctr != NULL); in ctr_start() 42 ctr->ctrlen = (ctr_mode & 255) ? (ctr_mode & 255) : cipher_descriptor[cipher]->block_length; in ctr_start() 43 if (ctr->ctrlen > cipher_descriptor[cipher]->block_length) { in ctr_start() 48 ctr->ctrlen = cipher_descriptor[cipher]->block_length - ctr->ctrlen; in ctr_start() 52 if ((err = cipher_descriptor[cipher]->setup(key, keylen, num_rounds, &ctr->key)) != CRYPT_OK) { in ctr_start() 56 /* copy ctr */ in ctr_start() [all …]
|
| H A D | ctr_setiv.c | 7 CTR implementation, set IV, Tom St Denis 16 @param ctr The CTR state 19 int ctr_setiv(const unsigned char *IV, unsigned long len, symmetric_CTR *ctr) in ctr_setiv() argument 24 LTC_ARGCHK(ctr != NULL); in ctr_setiv() 27 if ((err = cipher_is_valid(ctr->cipher)) != CRYPT_OK) { in ctr_setiv() 31 if (len != (unsigned long)ctr->blocklen) { in ctr_setiv() 36 XMEMCPY(ctr->ctr, IV, len); in ctr_setiv() 39 ctr->padlen = 0; in ctr_setiv() 40 return cipher_descriptor[ctr->cipher]->ecb_encrypt(IV, ctr->pad, &ctr->key); in ctr_setiv()
|
| H A D | ctr_getiv.c | 7 CTR implementation, get IV, Tom St Denis 16 @param ctr The CTR state 19 int ctr_getiv(unsigned char *IV, unsigned long *len, const symmetric_CTR *ctr) in ctr_getiv() argument 23 LTC_ARGCHK(ctr != NULL); in ctr_getiv() 24 if ((unsigned long)ctr->blocklen > *len) { in ctr_getiv() 25 *len = ctr->blocklen; in ctr_getiv() 28 XMEMCPY(IV, ctr->ctr, ctr->blocklen); in ctr_getiv() 29 *len = ctr->blocklen; in ctr_getiv()
|
| H A D | ctr_done.c | 7 CTR implementation, finish chain, Tom St Denis 13 @param ctr The CTR chain to terminate 16 int ctr_done(symmetric_CTR *ctr) in ctr_done() argument 19 LTC_ARGCHK(ctr != NULL); in ctr_done() 21 if ((err = cipher_is_valid(ctr->cipher)) != CRYPT_OK) { in ctr_done() 24 cipher_descriptor[ctr->cipher]->done(&ctr->key); in ctr_done()
|
| H A D | ctr_decrypt.c | 7 CTR implementation, decrypt data, Tom St Denis 13 CTR decrypt 17 @param ctr CTR state 20 int ctr_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CTR *ctr) in ctr_decrypt() argument 24 LTC_ARGCHK(ctr != NULL); in ctr_decrypt() 26 return ctr_encrypt(ct, pt, len, ctr); in ctr_decrypt()
|
| H A D | ctr_test.c | 7 CTR implementation, Tests again RFC 3686, Tom St Denis 45 symmetric_CTR ctr; in ctr_test() 55 …IV, tests[x].key, tests[x].keylen, 0, CTR_COUNTER_BIG_ENDIAN|LTC_CTR_RFC3686, &ctr)) != CRYPT_OK) { in ctr_test() 58 if ((err = ctr_encrypt(tests[x].pt, buf, tests[x].msglen, &ctr)) != CRYPT_OK) { in ctr_test() 61 ctr_done(&ctr); in ctr_test() 62 if (compare_testvector(buf, tests[x].msglen, tests[x].ct, tests[x].msglen, "CTR", x)) { in ctr_test()
|
| /optee_os/core/crypto/ |
| H A D | sm4-ctr.c | 20 uint8_t ctr[16]; member 41 if (key1_len != 16 || iv_len != sizeof(c->ctr)) in sm4_ctr_init() 45 memcpy(c->ctr, iv, sizeof(c->ctr)); in sm4_ctr_init() 56 sm4_crypt_ctr(&c->state, len, c->ctr, data, dst); in sm4_ctr_update() 66 memzero_explicit(&c->ctr, sizeof(c->ctr)); in sm4_ctr_final() 81 memcpy(dst->ctr, src->ctr, sizeof(src->ctr)); in sm4_ctr_copy_state()
|
| H A D | aes-gcm.c | 74 COMPILE_TIME_ASSERT(sizeof(state->ctr) == TEE_AES_BLOCK_SIZE); in __gcm_init() 85 memcpy(state->ctr, nonce, nonce_len); in __gcm_init() 91 memcpy(state->ctr, state->hash_state, sizeof(state->ctr)); in __gcm_init() 96 state->ctr, state->buf_tag); in __gcm_init() 117 state->ctr, state->buf_cryp); in __gcm_init() 216 ek->rounds, state->ctr, in __gcm_update_payload() 241 ek->rounds, state->ctr, in __gcm_update_payload() 351 c = TEE_U64_FROM_BIG_ENDIAN(state->ctr[1]); in internal_aes_gcm_inc_ctr() 354 state->ctr[1] = TEE_U64_TO_BIG_ENDIAN(c); in internal_aes_gcm_inc_ctr() 362 c = TEE_U64_FROM_BIG_ENDIAN(state->ctr[1]); in internal_aes_gcm_dec_ctr() [all …]
|
| H A D | aes-gcm-sw.c | 20 state->ctr, state->ghash_key.hash_subkey); in internal_aes_gcm_set_key() 64 enc_key->rounds, state->ctr, state->buf_cryp); in encrypt_block() 99 enc_key->rounds, state->ctr, buf_cryp); in decrypt_block()
|
| H A D | sm4_accel.c | 45 void sm4_crypt_ctr(struct sm4_context *ctx, size_t length, uint8_t ctr[16], in sm4_crypt_ctr() 50 crypto_accel_sm4_ctr_enc(output, input, ctx->sk, length, ctr); in sm4_crypt_ctr()
|
| H A D | sm4.c | 249 void sm4_crypt_ctr(struct sm4_context *ctx, size_t length, uint8_t ctr[16], in sm4_crypt_ctr() 258 memcpy(temp, ctr, 16); in sm4_crypt_ctr() 259 sm4_one_round(ctx->sk, ctr, ctr); in sm4_crypt_ctr() 261 output[i] = (uint8_t)(input[i] ^ ctr[i]); in sm4_crypt_ctr() 262 memcpy(ctr, temp, 16); in sm4_crypt_ctr() 264 if (++ctr[i - 1]) in sm4_crypt_ctr()
|
| /optee_os/core/lib/libtomcrypt/src/encauth/ccm/ |
| H A D | ccm_memory.c | 43 unsigned char PAD[16], ctr[16], CTRPAD[16], ptTag[16], b, *pt_real; in ccm_memory() local 212 /* setup the ctr counter */ in ccm_memory() 216 ctr[x++] = (unsigned char)L-1; in ccm_memory() 220 ctr[x++] = nonce[y]; in ccm_memory() 224 ctr[x++] = 0; in ccm_memory() 237 /* increment the ctr? */ in ccm_memory() 239 ctr[z] = (ctr[z] + 1) & 255; in ccm_memory() 240 if (ctr[z]) break; in ccm_memory() 242 if ((err = cipher_descriptor[cipher]->ecb_encrypt(ctr, CTRPAD, skey)) != CRYPT_OK) { in ccm_memory() 257 /* increment the ctr? */ in ccm_memory() [all …]
|
| H A D | ccm_process.c | 44 /* increment the ctr? */ in ccm_process() 47 ccm->ctr[z] = (ccm->ctr[z] + 1) & 255; in ccm_process() 48 if (ccm->ctr[z]) break; in ccm_process() 50 …if ((err = cipher_descriptor[ccm->cipher]->ecb_encrypt(ccm->ctr, ccm->CTRPAD, &ccm->K)) != CRYPT_O… in ccm_process()
|
| H A D | ccm_done.c | 36 /* setup CTR for the TAG (zero the count) */ in ccm_done() 38 ccm->ctr[y] = 0x00; in ccm_done() 40 …if ((err = cipher_descriptor[ccm->cipher]->ecb_encrypt(ccm->ctr, ccm->CTRPAD, &ccm->K)) != CRYPT_O… in ccm_done()
|
| H A D | ccm_add_nonce.c | 87 /* setup the ctr counter */ in ccm_add_nonce() 91 ccm->ctr[x++] = (unsigned char)ccm->L-1; in ccm_add_nonce() 95 ccm->ctr[x++] = nonce[y]; in ccm_add_nonce() 99 ccm->ctr[x++] = 0; in ccm_add_nonce()
|
| H A D | ccm_reset.c | 16 zeromem(ccm->ctr, sizeof(ccm->ctr)); in ccm_reset()
|
| /optee_os/lib/libmbedtls/mbedtls/library/ |
| H A D | ctr.h | 2 * \file ctr.h 17 * This is quite performance-sensitive for AES-CTR and CTR-DRBG.
|
| H A D | ccm.c | 121 * Encrypt or decrypt a partial block with CTR 132 ret = mbedtls_block_cipher_encrypt(&ctx->block_cipher_ctx, ctx->ctr, tmp_buf); in mbedtls_ccm_crypt() 135 ret = mbedtls_cipher_update(&ctx->cipher_ctx, ctx->ctr, 16, tmp_buf, &olen); in mbedtls_ccm_crypt() 153 memset(ctx->ctr, 0, 16); in mbedtls_ccm_clear_state() 246 memset(ctx->ctr, 0, 16); in mbedtls_ccm_starts() 247 ctx->ctr[0] = ctx->q - 1; in mbedtls_ccm_starts() 248 memcpy(ctx->ctr + 1, iv, iv_len); in mbedtls_ccm_starts() 249 memset(ctx->ctr + 1 + iv_len, 0, ctx->q); in mbedtls_ccm_starts() 250 ctx->ctr[15] = 1; in mbedtls_ccm_starts() 456 if (++(ctx->ctr)[15-i] != 0) { in mbedtls_ccm_update() [all …]
|
| /optee_os/core/arch/arm/crypto/ |
| H A D | aes-gcm-ce.c | 53 enc_key->rounds, state->ctr, k); in internal_aes_gcm_set_key() 109 ce_aes_ecb_encrypt(buf_cryp, (const uint8_t *)state->ctr, in encrypt_pl() 127 ek->rounds, 1, (uint8_t *)state->ctr, 1); in decrypt_pl() 159 (uint8_t *)state->ctr, ek->rounds); in update_payload_2block() 162 state->ctr, NULL, ek->rounds, ks); in update_payload_2block() 167 state->ctr, ek->data, ek->rounds); in update_payload_2block()
|
| H A D | aes_modes_armv8a_ce_a32.S | 6 * aes-ce-core.S - AES in CBC/CTR/XTS mode using ARMv8 Crypto Extensions 281 * uint8_t ctr[], int first) 286 vld1.8 {q6}, [r5] @ load ctr 288 vmov r6, s27 @ keep swabbed ctr in r6 328 adds r6, r6, #1 @ increment BE ctr 344 vmov ip, \sreg @ load next word of ctr
|
| /optee_os/core/arch/arm/include/crypto/ |
| H A D | ghash-ce-core.h | 30 uint64_t ctr[], const uint64_t rk[], int rounds, 37 uint64_t ctr[], const uint64_t rk[], int rounds);
|
| /optee_os/core/lib/libtomcrypt/src/encauth/eax/ |
| H A D | eax_done.c | 57 /* terminate the CTR chain */ in eax_done() 58 if ((err = ctr_done(&eax->ctr)) != CRYPT_OK) { in eax_done()
|
| /optee_os/core/ |
| H A D | crypto.mk | 160 $(eval $(call cryp-enable-all-depends,CFG_REE_FS, AES ECB CTR HMAC SHA256 GCM)) 161 $(eval $(call cryp-enable-all-depends,CFG_RPMB_FS, AES ECB CTR HMAC SHA256 GCM)) 170 $(eval $(call cryp-dep-one, CTR, AES)) 181 $(eval $(call cryp-dep-one, AES, ECB CBC CTR CTS XTS)) 206 core-ltc-vars += ECB CBC CTR CTS XTS
|
| /optee_os/core/lib/libtomcrypt/src/prngs/ |
| H A D | yarrow.c | 188 /* setup CTR mode using the "pool" as the key */ in yarrow_ready() 199 &prng->u.yarrow.ctr)) != CRYPT_OK) { in yarrow_ready() 231 if (ctr_encrypt(out, out, outlen, &prng->u.yarrow.ctr) != CRYPT_OK) { in yarrow_read() 256 err = ctr_done(&prng->u.yarrow.ctr); in yarrow_done()
|