Lines Matching refs:ctr
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()
57 ctr->blocklen = cipher_descriptor[cipher]->block_length; in ctr_start()
58 ctr->cipher = cipher; in ctr_start()
59 ctr->padlen = 0; in ctr_start()
60 ctr->mode = ctr_mode & 0x1000; in ctr_start()
61 for (x = 0; x < ctr->blocklen; x++) { in ctr_start()
62 ctr->ctr[x] = IV[x]; in ctr_start()
67 if (ctr->mode == CTR_COUNTER_LITTLE_ENDIAN) { in ctr_start()
69 for (x = 0; x < ctr->ctrlen; x++) { in ctr_start()
70 ctr->ctr[x] = (ctr->ctr[x] + (unsigned char)1) & (unsigned char)255; in ctr_start()
71 if (ctr->ctr[x] != (unsigned char)0) { in ctr_start()
77 for (x = ctr->blocklen-1; x >= ctr->ctrlen; x--) { in ctr_start()
78 ctr->ctr[x] = (ctr->ctr[x] + (unsigned char)1) & (unsigned char)255; in ctr_start()
79 if (ctr->ctr[x] != (unsigned char)0) { in ctr_start()
86 return cipher_descriptor[ctr->cipher]->ecb_encrypt(ctr->ctr, ctr->pad, &ctr->key); in ctr_start()