Lines Matching refs:ctx
670 static int padlock_aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
672 static int padlock_aes_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
677 #define ALIGNED_CIPHER_DATA(ctx) ((struct padlock_cipher_data *)\
678 NEAREST_ALIGNED(ctx->cipher_data))
780 padlock_aes_init_key (EVP_CIPHER_CTX *ctx, const unsigned char *key,
784 int key_len = EVP_CIPHER_CTX_key_length(ctx) * 8;
788 cdata = ALIGNED_CIPHER_DATA(ctx);
792 if (EVP_CIPHER_CTX_mode(ctx) == EVP_CIPH_OFB_MODE)
795 cdata->cword.b.encdec = (ctx->encrypt == 0);
815 if (EVP_CIPHER_CTX_mode(ctx) == EVP_CIPH_CFB_MODE ||
816 EVP_CIPHER_CTX_mode(ctx) == EVP_CIPH_OFB_MODE ||
850 padlock_aes_cipher_omnivorous(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
856 cdata = ALIGNED_CIPHER_DATA(ctx);
859 switch (EVP_CIPHER_CTX_mode(ctx)) {
865 memcpy(cdata->iv, ctx->iv, AES_BLOCK_SIZE);
867 memcpy(ctx->iv, iv, AES_BLOCK_SIZE);
871 memcpy(cdata->iv, ctx->iv, AES_BLOCK_SIZE);
873 memcpy(ctx->iv, iv, AES_BLOCK_SIZE);
877 memcpy(cdata->iv, ctx->iv, AES_BLOCK_SIZE);
879 memcpy(ctx->iv, cdata->iv, AES_BLOCK_SIZE);
901 padlock_aes_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,
911 /* ctx->num is maintained in byte-oriented modes,
913 if ((chunk = ctx->num)) { /* borrow chunk variable */
914 unsigned char *ivp=ctx->iv;
916 switch (EVP_CIPHER_CTX_mode(ctx)) {
921 if (ctx->encrypt)
932 ctx->num = chunk%AES_BLOCK_SIZE;
943 ctx->num = chunk%AES_BLOCK_SIZE;
968 return padlock_aes_cipher_omnivorous(ctx, out_arg, in_arg, nbytes);
980 return padlock_aes_cipher_omnivorous(ctx, out_arg, in_arg, nbytes);
996 cdata = ALIGNED_CIPHER_DATA(ctx);
999 switch (EVP_CIPHER_CTX_mode(ctx)) {
1021 memcpy(cdata->iv, ctx->iv, AES_BLOCK_SIZE);
1042 memcpy(ctx->iv, iv, AES_BLOCK_SIZE);
1046 memcpy (iv = cdata->iv, ctx->iv, AES_BLOCK_SIZE);
1079 ctx->num = nbytes;
1102 memcpy(ctx->iv, iv, AES_BLOCK_SIZE);
1106 memcpy(cdata->iv, ctx->iv, AES_BLOCK_SIZE);
1129 ctx->num = nbytes;
1139 memcpy(ctx->iv, cdata->iv, AES_BLOCK_SIZE);