Lines Matching refs:ctr
36 symmetric_CTR *ctr) in ctr_start() argument
42 LTC_ARGCHK(ctr != NULL); in ctr_start()
50 if ((err = cipher_descriptor[cipher].setup(key, keylen, num_rounds, &ctr->key)) != CRYPT_OK) { in ctr_start()
55 ctr->blocklen = cipher_descriptor[cipher].block_length; in ctr_start()
56 ctr->cipher = cipher; in ctr_start()
57 ctr->padlen = 0; in ctr_start()
58 ctr->mode = ctr_mode & 1; in ctr_start()
59 for (x = 0; x < ctr->blocklen; x++) { in ctr_start()
60 ctr->ctr[x] = IV[x]; in ctr_start()
65 if (ctr->mode == CTR_COUNTER_LITTLE_ENDIAN) { in ctr_start()
67 for (x = 0; x < ctr->blocklen; x++) { in ctr_start()
68 ctr->ctr[x] = (ctr->ctr[x] + (unsigned char)1) & (unsigned char)255; in ctr_start()
69 if (ctr->ctr[x] != (unsigned char)0) { in ctr_start()
75 for (x = ctr->blocklen-1; x >= 0; x--) { in ctr_start()
76 ctr->ctr[x] = (ctr->ctr[x] + (unsigned char)1) & (unsigned char)255; in ctr_start()
77 if (ctr->ctr[x] != (unsigned char)0) { in ctr_start()
84 return cipher_descriptor[ctr->cipher].ecb_encrypt(ctr->ctr, ctr->pad, &ctr->key); in ctr_start()