Home
last modified time | relevance | path

Searched full:ctr (Results 1 – 25 of 74) sorted by relevance

123

/optee_os/core/lib/libtomcrypt/src/modes/ctr/
H A Dctr_encrypt.c7 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 Dctr_start.c7 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 Dctr_setiv.c7 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 Dctr_getiv.c7 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 Dctr_done.c7 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 Dctr_decrypt.c7 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 Dctr_test.c7 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 Dsm4-ctr.c20 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 Daes-gcm.c74 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 Daes-gcm-sw.c20 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 Dsm4_accel.c45 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 Dsm4.c249 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 Dccm_memory.c43 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 Dccm_process.c44 /* 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 Dccm_done.c36 /* 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 Dccm_add_nonce.c87 /* 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 Dccm_reset.c16 zeromem(ccm->ctr, sizeof(ccm->ctr)); in ccm_reset()
/optee_os/lib/libmbedtls/mbedtls/library/
H A Dctr.h2 * \file ctr.h
17 * This is quite performance-sensitive for AES-CTR and CTR-DRBG.
H A Dccm.c121 * 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 Daes-gcm-ce.c53 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 Daes_modes_armv8a_ce_a32.S6 * 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 Dghash-ce-core.h30 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 Deax_done.c57 /* terminate the CTR chain */ in eax_done()
58 if ((err = ctr_done(&eax->ctr)) != CRYPT_OK) { in eax_done()
/optee_os/core/
H A Dcrypto.mk160 $(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 Dyarrow.c188 /* 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()

123