diff options
Diffstat (limited to 'src/lib/libcrypto/evp/e_camellia.c')
| -rw-r--r-- | src/lib/libcrypto/evp/e_camellia.c | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/src/lib/libcrypto/evp/e_camellia.c b/src/lib/libcrypto/evp/e_camellia.c index 42c036a7ab..2d7ab73627 100644 --- a/src/lib/libcrypto/evp/e_camellia.c +++ b/src/lib/libcrypto/evp/e_camellia.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: e_camellia.c,v 1.11 2022/09/04 07:54:59 jsing Exp $ */ | 1 | /* $OpenBSD: e_camellia.c,v 1.12 2022/09/04 13:17:18 jsing Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2006 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -64,9 +64,6 @@ | |||
| 64 | 64 | ||
| 65 | #include "evp_locl.h" | 65 | #include "evp_locl.h" |
| 66 | 66 | ||
| 67 | static int camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 68 | const unsigned char *iv, int enc); | ||
| 69 | |||
| 70 | /* Camellia subkey Structure */ | 67 | /* Camellia subkey Structure */ |
| 71 | typedef struct { | 68 | typedef struct { |
| 72 | CAMELLIA_KEY ks; | 69 | CAMELLIA_KEY ks; |
| @@ -76,6 +73,22 @@ typedef struct { | |||
| 76 | #define data(ctx) ((EVP_CAMELLIA_KEY *)(ctx)->cipher_data) | 73 | #define data(ctx) ((EVP_CAMELLIA_KEY *)(ctx)->cipher_data) |
| 77 | 74 | ||
| 78 | static int | 75 | static int |
| 76 | camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 77 | const unsigned char *iv, int enc) | ||
| 78 | { | ||
| 79 | int ret; | ||
| 80 | |||
| 81 | ret = Camellia_set_key(key, ctx->key_len * 8, ctx->cipher_data); | ||
| 82 | |||
| 83 | if (ret < 0) { | ||
| 84 | EVPerror(EVP_R_CAMELLIA_KEY_SETUP_FAILED); | ||
| 85 | return 0; | ||
| 86 | } | ||
| 87 | |||
| 88 | return 1; | ||
| 89 | } | ||
| 90 | |||
| 91 | static int | ||
| 79 | camellia_128_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl) | 92 | camellia_128_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl) |
| 80 | { | 93 | { |
| 81 | while (inl >= EVP_MAXCHUNK) { | 94 | while (inl >= EVP_MAXCHUNK) { |
| @@ -828,21 +841,4 @@ EVP_camellia_256_cfb8(void) | |||
| 828 | { | 841 | { |
| 829 | return &camellia_256_cfb8; | 842 | return &camellia_256_cfb8; |
| 830 | } | 843 | } |
| 831 | |||
| 832 | /* The subkey for Camellia is generated. */ | ||
| 833 | static int | ||
| 834 | camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 835 | const unsigned char *iv, int enc) | ||
| 836 | { | ||
| 837 | int ret; | ||
| 838 | |||
| 839 | ret = Camellia_set_key(key, ctx->key_len * 8, ctx->cipher_data); | ||
| 840 | |||
| 841 | if (ret < 0) { | ||
| 842 | EVPerror(EVP_R_CAMELLIA_KEY_SETUP_FAILED); | ||
| 843 | return 0; | ||
| 844 | } | ||
| 845 | |||
| 846 | return 1; | ||
| 847 | } | ||
| 848 | #endif | 844 | #endif |
