/optee_os/core/lib/libtomcrypt/src/modes/lrw/ |
A D | lrw_process.c | 28 …rocess(const unsigned char *pt, unsigned char *ct, unsigned long len, int mode, symmetric_LRW *lrw) in lrw_process() argument 38 LTC_ARGCHK(lrw != NULL); in lrw_process() 46 XMEMCPY(prod, lrw->pad, 16); in lrw_process() 50 lrw->IV[x] = (lrw->IV[x] + 1) & 255; in lrw_process() 51 if (lrw->IV[x]) { in lrw_process() 62 …FAST_TYPE_PTR_CAST(lrw->pad + y)) ^= *(LTC_FAST_TYPE_PTR_CAST(&lrw->PC[x][lrw->IV[x]][y])) ^ *(LTC… in lrw_process() 66 lrw->pad[y] ^= lrw->PC[x][lrw->IV[x]][y] ^ lrw->PC[x][(lrw->IV[x]-1)&255][y]; in lrw_process() 71 gcm_gf_mult(lrw->tweak, lrw->IV, lrw->pad); in lrw_process() 87 if ((err = cipher_descriptor[lrw->cipher]->ecb_encrypt(ct, ct, &lrw->key)) != CRYPT_OK) { in lrw_process() 91 if ((err = cipher_descriptor[lrw->cipher]->ecb_decrypt(ct, ct, &lrw->key)) != CRYPT_OK) { in lrw_process()
|
A D | lrw_test.c | 72 symmetric_LRW lrw; in lrw_test() 91 lrw_done(&lrw); in lrw_test() 96 if ((err = lrw_encrypt(tests[x].P, buf[0], 16, &lrw)) != CRYPT_OK) { in lrw_test() 97 lrw_done(&lrw); in lrw_test() 102 lrw_done(&lrw); in lrw_test() 107 if ((err = lrw_setiv(tests[x].IV, 16, &lrw)) != CRYPT_OK) { in lrw_test() 108 lrw_done(&lrw); in lrw_test() 112 if ((err = lrw_decrypt(buf[0], buf[1], 16, &lrw)) != CRYPT_OK) { in lrw_test() 113 lrw_done(&lrw); in lrw_test() 118 lrw_done(&lrw); in lrw_test() [all …]
|
A D | lrw_setiv.c | 26 int lrw_setiv(const unsigned char *IV, unsigned long len, symmetric_LRW *lrw) in lrw_setiv() argument 34 LTC_ARGCHK(lrw != NULL); in lrw_setiv() 40 if ((err = cipher_is_valid(lrw->cipher)) != CRYPT_OK) { in lrw_setiv() 45 XMEMCPY(lrw->IV, IV, 16); in lrw_setiv() 48 …if (cipher_descriptor[lrw->cipher]->accel_lrw_encrypt != NULL && cipher_descriptor[lrw->cipher]->a… in lrw_setiv() 54 XMEMCPY(T, &lrw->PC[0][IV[0]][0], 16); in lrw_setiv() 58 *(LTC_FAST_TYPE_PTR_CAST(T + y)) ^= *(LTC_FAST_TYPE_PTR_CAST(&lrw->PC[x][IV[x]][y])); in lrw_setiv() 62 T[y] ^= lrw->PC[x][IV[x]][y]; in lrw_setiv() 66 XMEMCPY(lrw->pad, T, 16); in lrw_setiv() 68 gcm_gf_mult(lrw->tweak, IV, lrw->pad); in lrw_setiv()
|
A D | lrw_start.c | 35 symmetric_LRW *lrw) in lrw_start() argument 46 LTC_ARGCHK(lrw != NULL); in lrw_start() 63 if ((err = cipher_descriptor[cipher]->setup(key, keylen, num_rounds, &lrw->key)) != CRYPT_OK) { in lrw_start() 66 lrw->cipher = cipher; in lrw_start() 69 XMEMCPY(lrw->tweak, tweak, 16); in lrw_start() 77 gcm_gf_mult(tweak, B, &lrw->PC[0][y][0]); in lrw_start() 84 t = lrw->PC[x-1][y][15]; in lrw_start() 86 lrw->PC[x][y][z] = lrw->PC[x-1][y][z-1]; in lrw_start() 88 lrw->PC[x][y][0] = gcm_shift_table[t<<1]; in lrw_start() 89 lrw->PC[x][y][1] ^= gcm_shift_table[(t<<1)+1]; in lrw_start() [all …]
|
A D | lrw_decrypt.c | 26 int lrw_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_LRW *lrw) in lrw_decrypt() argument 32 LTC_ARGCHK(lrw != NULL); in lrw_decrypt() 34 if ((err = cipher_is_valid(lrw->cipher)) != CRYPT_OK) { in lrw_decrypt() 38 if (cipher_descriptor[lrw->cipher]->accel_lrw_decrypt != NULL) { in lrw_decrypt() 39 …return cipher_descriptor[lrw->cipher]->accel_lrw_decrypt(ct, pt, len, lrw->IV, lrw->tweak, &lrw->k… in lrw_decrypt() 42 return lrw_process(ct, pt, len, LRW_DECRYPT, lrw); in lrw_decrypt()
|
A D | lrw_encrypt.c | 26 int lrw_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_LRW *lrw) in lrw_encrypt() argument 32 LTC_ARGCHK(lrw != NULL); in lrw_encrypt() 34 if ((err = cipher_is_valid(lrw->cipher)) != CRYPT_OK) { in lrw_encrypt() 38 if (cipher_descriptor[lrw->cipher]->accel_lrw_encrypt != NULL) { in lrw_encrypt() 39 …return cipher_descriptor[lrw->cipher]->accel_lrw_encrypt(pt, ct, len, lrw->IV, lrw->tweak, &lrw->k… in lrw_encrypt() 42 return lrw_process(pt, ct, len, LRW_ENCRYPT, lrw); in lrw_encrypt()
|
A D | lrw_done.c | 24 int lrw_done(symmetric_LRW *lrw) in lrw_done() argument 28 LTC_ARGCHK(lrw != NULL); in lrw_done() 30 if ((err = cipher_is_valid(lrw->cipher)) != CRYPT_OK) { in lrw_done() 33 cipher_descriptor[lrw->cipher]->done(&lrw->key); in lrw_done()
|
A D | lrw_getiv.c | 26 int lrw_getiv(unsigned char *IV, unsigned long *len, const symmetric_LRW *lrw) in lrw_getiv() argument 30 LTC_ARGCHK(lrw != NULL); in lrw_getiv() 36 XMEMCPY(IV, lrw->IV, 16); in lrw_getiv()
|
/optee_os/core/lib/libtomcrypt/src/headers/ |
A D | tomcrypt_cipher.h | 930 symmetric_LRW *lrw); 931 int lrw_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, symmetric_LRW *lrw); 932 int lrw_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_LRW *lrw); 933 int lrw_getiv(unsigned char *IV, unsigned long *len, const symmetric_LRW *lrw); 934 int lrw_setiv(const unsigned char *IV, unsigned long len, symmetric_LRW *lrw); 935 int lrw_done(symmetric_LRW *lrw); 939 …ocess(const unsigned char *pt, unsigned char *ct, unsigned long len, int mode, symmetric_LRW *lrw);
|