diff options
| -rw-r--r-- | src/lib/libcrypto/chacha/chacha.c | 20 | ||||
| -rw-r--r-- | src/lib/libcrypto/chacha/chacha.h | 11 | ||||
| -rw-r--r-- | src/lib/libcrypto/evp/c_allc.c | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/evp/e_chacha.c | 65 | ||||
| -rw-r--r-- | src/lib/libcrypto/evp/evp.h | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/objects/objects.txt | 4 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/chacha/chacha.c | 20 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/chacha/chacha.h | 11 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/evp/c_allc.c | 4 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/evp/e_chacha.c | 65 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/evp/evp.h | 4 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/objects/objects.txt | 4 | ||||
| -rw-r--r-- | src/regress/lib/libcrypto/evp/evptest.c | 7 | ||||
| -rw-r--r-- | src/regress/lib/libcrypto/evp/evptests.txt | 10 |
14 files changed, 233 insertions, 0 deletions
diff --git a/src/lib/libcrypto/chacha/chacha.c b/src/lib/libcrypto/chacha/chacha.c index d76d64de4a..1bc95f502d 100644 --- a/src/lib/libcrypto/chacha/chacha.c +++ b/src/lib/libcrypto/chacha/chacha.c | |||
| @@ -14,9 +14,29 @@ | |||
| 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #include "chacha.h" | ||
| 17 | #include "chacha-merged.c" | 18 | #include "chacha-merged.c" |
| 18 | 19 | ||
| 19 | void | 20 | void |
| 21 | ChaCha_set_key(ChaCha_ctx *ctx, const unsigned char *key, uint32_t keybits) | ||
| 22 | { | ||
| 23 | chacha_keysetup((chacha_ctx *)ctx, key, keybits); | ||
| 24 | } | ||
| 25 | |||
| 26 | void | ||
| 27 | ChaCha_set_iv(ChaCha_ctx *ctx, const unsigned char *iv, | ||
| 28 | const unsigned char *counter) | ||
| 29 | { | ||
| 30 | chacha_ivsetup((chacha_ctx *)ctx, iv, counter); | ||
| 31 | } | ||
| 32 | |||
| 33 | void | ||
| 34 | ChaCha(ChaCha_ctx *ctx, unsigned char *out, const unsigned char *in, size_t len) | ||
| 35 | { | ||
| 36 | chacha_encrypt_bytes((chacha_ctx *)ctx, in, out, (uint32_t)len); | ||
| 37 | } | ||
| 38 | |||
| 39 | void | ||
| 20 | CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, | 40 | CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, |
| 21 | const unsigned char key[32], const unsigned char iv[8], size_t counter) | 41 | const unsigned char key[32], const unsigned char iv[8], size_t counter) |
| 22 | { | 42 | { |
diff --git a/src/lib/libcrypto/chacha/chacha.h b/src/lib/libcrypto/chacha/chacha.h index d66a719ae4..456d960ed9 100644 --- a/src/lib/libcrypto/chacha/chacha.h +++ b/src/lib/libcrypto/chacha/chacha.h | |||
| @@ -29,6 +29,17 @@ | |||
| 29 | extern "C" { | 29 | extern "C" { |
| 30 | #endif | 30 | #endif |
| 31 | 31 | ||
| 32 | typedef struct { | ||
| 33 | unsigned int input[16]; | ||
| 34 | } ChaCha_ctx; | ||
| 35 | |||
| 36 | void ChaCha_set_key(ChaCha_ctx *ctx, const unsigned char *key, | ||
| 37 | unsigned int keybits); | ||
| 38 | void ChaCha_set_iv(ChaCha_ctx *ctx, const unsigned char *iv, | ||
| 39 | const unsigned char *counter); | ||
| 40 | void ChaCha(ChaCha_ctx *ctx, unsigned char *out, const unsigned char *in, | ||
| 41 | size_t len); | ||
| 42 | |||
| 32 | void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, | 43 | void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, |
| 33 | const unsigned char key[32], const unsigned char iv[8], size_t counter); | 44 | const unsigned char key[32], const unsigned char iv[8], size_t counter); |
| 34 | 45 | ||
diff --git a/src/lib/libcrypto/evp/c_allc.c b/src/lib/libcrypto/evp/c_allc.c index 2a45d435e5..2047b6cd61 100644 --- a/src/lib/libcrypto/evp/c_allc.c +++ b/src/lib/libcrypto/evp/c_allc.c | |||
| @@ -227,4 +227,8 @@ void OpenSSL_add_all_ciphers(void) | |||
| 227 | EVP_add_cipher_alias(SN_camellia_256_cbc,"CAMELLIA256"); | 227 | EVP_add_cipher_alias(SN_camellia_256_cbc,"CAMELLIA256"); |
| 228 | EVP_add_cipher_alias(SN_camellia_256_cbc,"camellia256"); | 228 | EVP_add_cipher_alias(SN_camellia_256_cbc,"camellia256"); |
| 229 | #endif | 229 | #endif |
| 230 | |||
| 231 | #ifndef OPENSSL_NO_CHACHA | ||
| 232 | EVP_add_cipher(EVP_chacha20()); | ||
| 233 | #endif | ||
| 230 | } | 234 | } |
diff --git a/src/lib/libcrypto/evp/e_chacha.c b/src/lib/libcrypto/evp/e_chacha.c new file mode 100644 index 0000000000..4a20186006 --- /dev/null +++ b/src/lib/libcrypto/evp/e_chacha.c | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | ||
| 3 | * | ||
| 4 | * Permission to use, copy, modify, and distribute this software for any | ||
| 5 | * purpose with or without fee is hereby granted, provided that the above | ||
| 6 | * copyright notice and this permission notice appear in all copies. | ||
| 7 | * | ||
| 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| 11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef OPENSSL_NO_CHACHA | ||
| 18 | |||
| 19 | #include <openssl/chacha.h> | ||
| 20 | #include <openssl/evp.h> | ||
| 21 | #include <openssl/objects.h> | ||
| 22 | |||
| 23 | #include "evp_locl.h" | ||
| 24 | |||
| 25 | static int chacha_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, | ||
| 26 | const unsigned char *in, size_t len); | ||
| 27 | static int chacha_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 28 | const unsigned char *iv, int enc); | ||
| 29 | |||
| 30 | static const EVP_CIPHER chacha20_cipher = { | ||
| 31 | .nid = NID_chacha20, | ||
| 32 | .block_size = 1, | ||
| 33 | .key_len = 32, | ||
| 34 | .iv_len = 8, | ||
| 35 | .flags = EVP_CIPH_STREAM_CIPHER, | ||
| 36 | .init = chacha_init, | ||
| 37 | .do_cipher = chacha_cipher, | ||
| 38 | .ctx_size = sizeof(ChaCha_ctx) | ||
| 39 | }; | ||
| 40 | |||
| 41 | const EVP_CIPHER * | ||
| 42 | EVP_chacha20(void) | ||
| 43 | { | ||
| 44 | return(&chacha20_cipher); | ||
| 45 | } | ||
| 46 | |||
| 47 | static int | ||
| 48 | chacha_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 49 | const unsigned char *iv, int enc) | ||
| 50 | { | ||
| 51 | ChaCha_set_key((ChaCha_ctx *)ctx->cipher_data, key, | ||
| 52 | EVP_CIPHER_CTX_key_length(ctx) * 8); | ||
| 53 | ChaCha_set_iv((ChaCha_ctx *)ctx->cipher_data, iv, NULL); | ||
| 54 | return 1; | ||
| 55 | } | ||
| 56 | |||
| 57 | static int | ||
| 58 | chacha_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, | ||
| 59 | size_t len) | ||
| 60 | { | ||
| 61 | ChaCha((ChaCha_ctx *)ctx->cipher_data, out, in, len); | ||
| 62 | return 1; | ||
| 63 | } | ||
| 64 | |||
| 65 | #endif | ||
diff --git a/src/lib/libcrypto/evp/evp.h b/src/lib/libcrypto/evp/evp.h index f43fe33b47..fa98d4d93c 100644 --- a/src/lib/libcrypto/evp/evp.h +++ b/src/lib/libcrypto/evp/evp.h | |||
| @@ -838,6 +838,10 @@ const EVP_CIPHER *EVP_seed_cfb128(void); | |||
| 838 | const EVP_CIPHER *EVP_seed_ofb(void); | 838 | const EVP_CIPHER *EVP_seed_ofb(void); |
| 839 | #endif | 839 | #endif |
| 840 | 840 | ||
| 841 | #ifndef OPENSSL_NO_CHACHA | ||
| 842 | const EVP_CIPHER *EVP_chacha20(void); | ||
| 843 | #endif | ||
| 844 | |||
| 841 | void OPENSSL_add_all_algorithms_noconf(void); | 845 | void OPENSSL_add_all_algorithms_noconf(void); |
| 842 | void OPENSSL_add_all_algorithms_conf(void); | 846 | void OPENSSL_add_all_algorithms_conf(void); |
| 843 | 847 | ||
diff --git a/src/lib/libcrypto/objects/objects.txt b/src/lib/libcrypto/objects/objects.txt index 487e079255..bb44aa77a3 100644 --- a/src/lib/libcrypto/objects/objects.txt +++ b/src/lib/libcrypto/objects/objects.txt | |||
| @@ -1309,3 +1309,7 @@ brainpool 1 13 : brainpoolP512r1 | |||
| 1309 | brainpool 1 14 : brainpoolP512t1 | 1309 | brainpool 1 14 : brainpoolP512t1 |
| 1310 | 1310 | ||
| 1311 | 1 2 250 1 223 101 256 1 : FRP256v1 | 1311 | 1 2 250 1 223 101 256 1 : FRP256v1 |
| 1312 | |||
| 1313 | # ChaCha Stream Cipher | ||
| 1314 | !Cname chacha20 | ||
| 1315 | : ChaCha : chacha | ||
diff --git a/src/lib/libssl/src/crypto/chacha/chacha.c b/src/lib/libssl/src/crypto/chacha/chacha.c index d76d64de4a..1bc95f502d 100644 --- a/src/lib/libssl/src/crypto/chacha/chacha.c +++ b/src/lib/libssl/src/crypto/chacha/chacha.c | |||
| @@ -14,9 +14,29 @@ | |||
| 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | #include "chacha.h" | ||
| 17 | #include "chacha-merged.c" | 18 | #include "chacha-merged.c" |
| 18 | 19 | ||
| 19 | void | 20 | void |
| 21 | ChaCha_set_key(ChaCha_ctx *ctx, const unsigned char *key, uint32_t keybits) | ||
| 22 | { | ||
| 23 | chacha_keysetup((chacha_ctx *)ctx, key, keybits); | ||
| 24 | } | ||
| 25 | |||
| 26 | void | ||
| 27 | ChaCha_set_iv(ChaCha_ctx *ctx, const unsigned char *iv, | ||
| 28 | const unsigned char *counter) | ||
| 29 | { | ||
| 30 | chacha_ivsetup((chacha_ctx *)ctx, iv, counter); | ||
| 31 | } | ||
| 32 | |||
| 33 | void | ||
| 34 | ChaCha(ChaCha_ctx *ctx, unsigned char *out, const unsigned char *in, size_t len) | ||
| 35 | { | ||
| 36 | chacha_encrypt_bytes((chacha_ctx *)ctx, in, out, (uint32_t)len); | ||
| 37 | } | ||
| 38 | |||
| 39 | void | ||
| 20 | CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, | 40 | CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, |
| 21 | const unsigned char key[32], const unsigned char iv[8], size_t counter) | 41 | const unsigned char key[32], const unsigned char iv[8], size_t counter) |
| 22 | { | 42 | { |
diff --git a/src/lib/libssl/src/crypto/chacha/chacha.h b/src/lib/libssl/src/crypto/chacha/chacha.h index d66a719ae4..456d960ed9 100644 --- a/src/lib/libssl/src/crypto/chacha/chacha.h +++ b/src/lib/libssl/src/crypto/chacha/chacha.h | |||
| @@ -29,6 +29,17 @@ | |||
| 29 | extern "C" { | 29 | extern "C" { |
| 30 | #endif | 30 | #endif |
| 31 | 31 | ||
| 32 | typedef struct { | ||
| 33 | unsigned int input[16]; | ||
| 34 | } ChaCha_ctx; | ||
| 35 | |||
| 36 | void ChaCha_set_key(ChaCha_ctx *ctx, const unsigned char *key, | ||
| 37 | unsigned int keybits); | ||
| 38 | void ChaCha_set_iv(ChaCha_ctx *ctx, const unsigned char *iv, | ||
| 39 | const unsigned char *counter); | ||
| 40 | void ChaCha(ChaCha_ctx *ctx, unsigned char *out, const unsigned char *in, | ||
| 41 | size_t len); | ||
| 42 | |||
| 32 | void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, | 43 | void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len, |
| 33 | const unsigned char key[32], const unsigned char iv[8], size_t counter); | 44 | const unsigned char key[32], const unsigned char iv[8], size_t counter); |
| 34 | 45 | ||
diff --git a/src/lib/libssl/src/crypto/evp/c_allc.c b/src/lib/libssl/src/crypto/evp/c_allc.c index 2a45d435e5..2047b6cd61 100644 --- a/src/lib/libssl/src/crypto/evp/c_allc.c +++ b/src/lib/libssl/src/crypto/evp/c_allc.c | |||
| @@ -227,4 +227,8 @@ void OpenSSL_add_all_ciphers(void) | |||
| 227 | EVP_add_cipher_alias(SN_camellia_256_cbc,"CAMELLIA256"); | 227 | EVP_add_cipher_alias(SN_camellia_256_cbc,"CAMELLIA256"); |
| 228 | EVP_add_cipher_alias(SN_camellia_256_cbc,"camellia256"); | 228 | EVP_add_cipher_alias(SN_camellia_256_cbc,"camellia256"); |
| 229 | #endif | 229 | #endif |
| 230 | |||
| 231 | #ifndef OPENSSL_NO_CHACHA | ||
| 232 | EVP_add_cipher(EVP_chacha20()); | ||
| 233 | #endif | ||
| 230 | } | 234 | } |
diff --git a/src/lib/libssl/src/crypto/evp/e_chacha.c b/src/lib/libssl/src/crypto/evp/e_chacha.c new file mode 100644 index 0000000000..4a20186006 --- /dev/null +++ b/src/lib/libssl/src/crypto/evp/e_chacha.c | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | ||
| 3 | * | ||
| 4 | * Permission to use, copy, modify, and distribute this software for any | ||
| 5 | * purpose with or without fee is hereby granted, provided that the above | ||
| 6 | * copyright notice and this permission notice appear in all copies. | ||
| 7 | * | ||
| 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||
| 11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||
| 14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #ifndef OPENSSL_NO_CHACHA | ||
| 18 | |||
| 19 | #include <openssl/chacha.h> | ||
| 20 | #include <openssl/evp.h> | ||
| 21 | #include <openssl/objects.h> | ||
| 22 | |||
| 23 | #include "evp_locl.h" | ||
| 24 | |||
| 25 | static int chacha_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, | ||
| 26 | const unsigned char *in, size_t len); | ||
| 27 | static int chacha_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 28 | const unsigned char *iv, int enc); | ||
| 29 | |||
| 30 | static const EVP_CIPHER chacha20_cipher = { | ||
| 31 | .nid = NID_chacha20, | ||
| 32 | .block_size = 1, | ||
| 33 | .key_len = 32, | ||
| 34 | .iv_len = 8, | ||
| 35 | .flags = EVP_CIPH_STREAM_CIPHER, | ||
| 36 | .init = chacha_init, | ||
| 37 | .do_cipher = chacha_cipher, | ||
| 38 | .ctx_size = sizeof(ChaCha_ctx) | ||
| 39 | }; | ||
| 40 | |||
| 41 | const EVP_CIPHER * | ||
| 42 | EVP_chacha20(void) | ||
| 43 | { | ||
| 44 | return(&chacha20_cipher); | ||
| 45 | } | ||
| 46 | |||
| 47 | static int | ||
| 48 | chacha_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, | ||
| 49 | const unsigned char *iv, int enc) | ||
| 50 | { | ||
| 51 | ChaCha_set_key((ChaCha_ctx *)ctx->cipher_data, key, | ||
| 52 | EVP_CIPHER_CTX_key_length(ctx) * 8); | ||
| 53 | ChaCha_set_iv((ChaCha_ctx *)ctx->cipher_data, iv, NULL); | ||
| 54 | return 1; | ||
| 55 | } | ||
| 56 | |||
| 57 | static int | ||
| 58 | chacha_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, | ||
| 59 | size_t len) | ||
| 60 | { | ||
| 61 | ChaCha((ChaCha_ctx *)ctx->cipher_data, out, in, len); | ||
| 62 | return 1; | ||
| 63 | } | ||
| 64 | |||
| 65 | #endif | ||
diff --git a/src/lib/libssl/src/crypto/evp/evp.h b/src/lib/libssl/src/crypto/evp/evp.h index f43fe33b47..fa98d4d93c 100644 --- a/src/lib/libssl/src/crypto/evp/evp.h +++ b/src/lib/libssl/src/crypto/evp/evp.h | |||
| @@ -838,6 +838,10 @@ const EVP_CIPHER *EVP_seed_cfb128(void); | |||
| 838 | const EVP_CIPHER *EVP_seed_ofb(void); | 838 | const EVP_CIPHER *EVP_seed_ofb(void); |
| 839 | #endif | 839 | #endif |
| 840 | 840 | ||
| 841 | #ifndef OPENSSL_NO_CHACHA | ||
| 842 | const EVP_CIPHER *EVP_chacha20(void); | ||
| 843 | #endif | ||
| 844 | |||
| 841 | void OPENSSL_add_all_algorithms_noconf(void); | 845 | void OPENSSL_add_all_algorithms_noconf(void); |
| 842 | void OPENSSL_add_all_algorithms_conf(void); | 846 | void OPENSSL_add_all_algorithms_conf(void); |
| 843 | 847 | ||
diff --git a/src/lib/libssl/src/crypto/objects/objects.txt b/src/lib/libssl/src/crypto/objects/objects.txt index 487e079255..bb44aa77a3 100644 --- a/src/lib/libssl/src/crypto/objects/objects.txt +++ b/src/lib/libssl/src/crypto/objects/objects.txt | |||
| @@ -1309,3 +1309,7 @@ brainpool 1 13 : brainpoolP512r1 | |||
| 1309 | brainpool 1 14 : brainpoolP512t1 | 1309 | brainpool 1 14 : brainpoolP512t1 |
| 1310 | 1310 | ||
| 1311 | 1 2 250 1 223 101 256 1 : FRP256v1 | 1311 | 1 2 250 1 223 101 256 1 : FRP256v1 |
| 1312 | |||
| 1313 | # ChaCha Stream Cipher | ||
| 1314 | !Cname chacha20 | ||
| 1315 | : ChaCha : chacha | ||
diff --git a/src/regress/lib/libcrypto/evp/evptest.c b/src/regress/lib/libcrypto/evp/evptest.c index 164d8f3e01..de1bcce41d 100644 --- a/src/regress/lib/libcrypto/evp/evptest.c +++ b/src/regress/lib/libcrypto/evp/evptest.c | |||
| @@ -429,6 +429,13 @@ int main(int argc,char **argv) | |||
| 429 | continue; | 429 | continue; |
| 430 | } | 430 | } |
| 431 | #endif | 431 | #endif |
| 432 | #ifdef OPENSSL_NO_CHACHA | ||
| 433 | if (strstr(cipher, "ChaCha") == cipher) | ||
| 434 | { | ||
| 435 | fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); | ||
| 436 | continue; | ||
| 437 | } | ||
| 438 | #endif | ||
| 432 | fprintf(stderr,"Can't find %s\n",cipher); | 439 | fprintf(stderr,"Can't find %s\n",cipher); |
| 433 | exit(3); | 440 | exit(3); |
| 434 | } | 441 | } |
diff --git a/src/regress/lib/libcrypto/evp/evptests.txt b/src/regress/lib/libcrypto/evp/evptests.txt index c273707c14..bdee5a88f7 100644 --- a/src/regress/lib/libcrypto/evp/evptests.txt +++ b/src/regress/lib/libcrypto/evp/evptests.txt | |||
| @@ -332,3 +332,13 @@ SEED-ECB:00000000000000000000000000000000::000102030405060708090A0B0C0D0E0F:5EBA | |||
| 332 | SEED-ECB:000102030405060708090A0B0C0D0E0F::00000000000000000000000000000000:C11F22F20140505084483597E4370F43:1 | 332 | SEED-ECB:000102030405060708090A0B0C0D0E0F::00000000000000000000000000000000:C11F22F20140505084483597E4370F43:1 |
| 333 | SEED-ECB:4706480851E61BE85D74BFB3FD956185::83A2F8A288641FB9A4E9A5CC2F131C7D:EE54D13EBCAE706D226BC3142CD40D4A:1 | 333 | SEED-ECB:4706480851E61BE85D74BFB3FD956185::83A2F8A288641FB9A4E9A5CC2F131C7D:EE54D13EBCAE706D226BC3142CD40D4A:1 |
| 334 | SEED-ECB:28DBC3BC49FFD87DCFA509B11D422BE7::B41E6BE2EBA84A148E2EED84593C5EC7:9B9B7BFCD1813CB95D0B3618F40F5122:1 | 334 | SEED-ECB:28DBC3BC49FFD87DCFA509B11D422BE7::B41E6BE2EBA84A148E2EED84593C5EC7:9B9B7BFCD1813CB95D0B3618F40F5122:1 |
| 335 | |||
| 336 | # ChaCha test vectors | ||
| 337 | ChaCha:0000000000000000000000000000000000000000000000000000000000000000:0000000000000000:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11cc387b669b2ee6586:1 | ||
| 338 | ChaCha:0100000000000000000000000000000000000000000000000000000000000000:0000000000000000:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:c5d30a7ce1ec119378c84f487d775a8542f13ece238a9455e8229e888de85bbd29eb63d0a17a5b999b52da22be4023eb07620a54f6fa6ad8737b71eb0464dac0:1 | ||
| 339 | ChaCha:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff:ffffffffffffffff:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:d9bf3f6bce6ed0b54254557767fb57443dd4778911b606055c39cc25e674b8363feabc57fde54f790c52c8ae43240b79d49042b777bfd6cb80e931270b7f50eb:1 | ||
| 340 | ChaCha:5555555555555555555555555555555555555555555555555555555555555555:aaaaaaaaaaaaaaaa:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:aff7418293f3a553894b1e7484bd1e8ede196eced5a1d6814de37091e07e076e34bbba8107a686c982850f0a7353940d40db1ab0b5765b78b4cf473d9485a3dd:1 | ||
| 341 | ChaCha:5555555555555555555555555555555555555555555555555555555555555555:5555555555555555:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:bea9411aa453c5434a5ae8c92862f564396855a9ea6e22d6d3b50ae1b3663311a4a3606c671d605ce16c3aece8e61ea145c59775017bee2fa6f88afc758069f7:1 | ||
| 342 | ChaCha:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaa:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:9aa2a9f656efde5aa7591c5fed4b35aea2895dec7cb4543b9e9f21f5e7bcbcf3c43c748a970888f8248393a09d43e0b7e164bc4d0b0fb240a2d72115c4808906:1 | ||
| 343 | ChaCha:00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100:0f1e2d3c4b5a6978:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:9fadf409c00811d00431d67efbd88fba59218d5d6708b1d685863fabbb0e961eea480fd6fb532bfd494b2151015057423ab60a63fe4f55f7a212e2167ccab931:1 | ||
| 344 | ChaCha:c46ec1b18ce8a878725a37e780dfb7351f68ed2e194c79fbc6aebee1a667975d:1ada31d5cf688221:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:f63a89b75c2271f9368816542ba52f06ed49241792302b00b5e8f80ae9a473afc25b218f519af0fdd406362e8d69de7f54c604a6e00f353f110f771bdca8ab92:1 | ||
