Tree @debian/openssl-1.1.1-2 (Download .tar.gz)
- ..
- certs
- ct
- d2i-tests
- ocsp-tests
- ossl_shim
- recipes
- smime-certs
- ssl-tests
- testutil
- aborttest.c
- afalgtest.c
- asn1_decode_test.c
- asn1_encode_test.c
- asn1_internal_test.c
- asn1_string_table_test.c
- asn1_time_test.c
- asynciotest.c
- asynctest.c
- bad_dtls_test.c
- bftest.c
- bio_callback_test.c
- bio_enc_test.c
- bioprinttest.c
- bntest.c
- bntests.pl
- build.info
- CAss.cnf
- CAssdh.cnf
- CAssdsa.cnf
- CAssrsa.cnf
- casttest.c
- CAtsa.cnf
- chacha_internal_test.c
- cipher_overhead_test.c
- cipherbytes_test.c
- cipherlist_test.c
- ciphername_test.c
- clienthellotest.c
- cms-examples.pl
- cmsapitest.c
- conf_include_test.c
- constant_time_test.c
- crltest.c
- ct_test.c
- ctype_internal_test.c
- curve448_internal_test.c
- d2i_test.c
- danetest.c
- danetest.in
- danetest.pem
- destest.c
- dhtest.c
- drbg_cavs_data.c
- drbg_cavs_data.h
- drbg_cavs_test.c
- drbgtest.c
- drbgtest.h
- dsa_no_digest_size_test.c
- dsatest.c
- dtls_mtu_test.c
- dtlstest.c
- dtlsv1listentest.c
- ecdsatest.c
- ecstresstest.c
- ectest.c
- enginetest.c
- errtest.c
- evp_extra_test.c
- evp_test.c
- evp_test.h
- exdatatest.c
- exptest.c
- fatalerrtest.c
- generate_buildtest.pl
- generate_ssl_tests.pl
- gmdifftest.c
- gosttest.c
- handshake_helper.c
- handshake_helper.h
- hmactest.c
- ideatest.c
- igetest.c
- lhash_test.c
- md2test.c
- mdc2_internal_test.c
- mdc2test.c
- memleaktest.c
- modes_internal_test.c
- ocspapitest.c
- P1ss.cnf
- P2ss.cnf
- packettest.c
- pbelutest.c
- pemtest.c
- pkcs7-1.pem
- pkcs7.pem
- pkey_meth_kdf_test.c
- pkey_meth_test.c
- pkits-test.pl
- poly1305_internal_test.c
- rc2test.c
- rc4test.c
- rc5test.c
- rdrand_sanitytest.c
- README
- README.external
- README.ssltest.md
- recordlentest.c
- rsa_mp_test.c
- rsa_test.c
- run_tests.pl
- sanitytest.c
- secmemtest.c
- serverinfo.pem
- serverinfo2.pem
- servername_test.c
- session.pem
- shibboleth.pfx
- shlibloadtest.c
- siphash_internal_test.c
- sm2_internal_test.c
- sm4_internal_test.c
- smcont.txt
- srptest.c
- ssl_cert_table_internal_test.c
- ssl_test.c
- ssl_test.tmpl
- ssl_test_ctx.c
- ssl_test_ctx.h
- ssl_test_ctx_test.c
- ssl_test_ctx_test.conf
- sslapitest.c
- sslbuffertest.c
- sslcorrupttest.c
- ssltest_old.c
- ssltestlib.c
- ssltestlib.h
- Sssdsa.cnf
- Sssrsa.cnf
- stack_test.c
- sysdefault.cnf
- sysdefaulttest.c
- test.cnf
- test_test.c
- testcrl.pem
- testdsa.pem
- testdsapub.pem
- testec-p256.pem
- testecpub-p256.pem
- testp7.pem
- testreq2.pem
- testrsa.pem
- testrsapub.pem
- testsid.pem
- testutil.h
- testx509.pem
- threadstest.c
- time_offset_test.c
- tls13ccstest.c
- tls13encryptiontest.c
- tls13secretstest.c
- uitest.c
- Uss.cnf
- v3-cert1.pem
- v3-cert2.pem
- v3ext.c
- v3nametest.c
- verify_extra_test.c
- versions.c
- wpackettest.c
- x509_check_cert_pkey_test.c
- x509_dup_cert_test.c
- x509_internal_test.c
- x509_time_test.c
- x509aux.c
casttest.c @debian/openssl-1.1.1-2 — raw · history · blame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | /* * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <openssl/opensslconf.h> /* To see if OPENSSL_NO_CAST is defined */ #include "internal/nelem.h" #include "testutil.h" #ifndef OPENSSL_NO_CAST # include <openssl/cast.h> static unsigned char k[16] = { 0x01, 0x23, 0x45, 0x67, 0x12, 0x34, 0x56, 0x78, 0x23, 0x45, 0x67, 0x89, 0x34, 0x56, 0x78, 0x9A }; static unsigned char in[8] = { 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF }; static int k_len[3] = { 16, 10, 5 }; static unsigned char c[3][8] = { {0x23, 0x8B, 0x4F, 0xE5, 0x84, 0x7E, 0x44, 0xB2}, {0xEB, 0x6A, 0x71, 0x1A, 0x2C, 0x02, 0x27, 0x1B}, {0x7A, 0xC8, 0x16, 0xD1, 0x6E, 0x9B, 0x30, 0x2E}, }; static unsigned char in_a[16] = { 0x01, 0x23, 0x45, 0x67, 0x12, 0x34, 0x56, 0x78, 0x23, 0x45, 0x67, 0x89, 0x34, 0x56, 0x78, 0x9A }; static unsigned char in_b[16] = { 0x01, 0x23, 0x45, 0x67, 0x12, 0x34, 0x56, 0x78, 0x23, 0x45, 0x67, 0x89, 0x34, 0x56, 0x78, 0x9A }; static unsigned char c_a[16] = { 0xEE, 0xA9, 0xD0, 0xA2, 0x49, 0xFD, 0x3B, 0xA6, 0xB3, 0x43, 0x6F, 0xB8, 0x9D, 0x6D, 0xCA, 0x92 }; static unsigned char c_b[16] = { 0xB2, 0xC9, 0x5E, 0xB0, 0x0C, 0x31, 0xAD, 0x71, 0x80, 0xAC, 0x05, 0xB8, 0xE8, 0x3D, 0x69, 0x6E }; static int cast_test_vector(int z) { int testresult = 1; CAST_KEY key; unsigned char out[80]; CAST_set_key(&key, k_len[z], k); CAST_ecb_encrypt(in, out, &key, CAST_ENCRYPT); if (!TEST_mem_eq(out, sizeof(c[z]), c[z], sizeof(c[z]))) { TEST_info("CAST_ENCRYPT iteration %d failed (len=%d)", z, k_len[z]); testresult = 0; } CAST_ecb_encrypt(out, out, &key, CAST_DECRYPT); if (!TEST_mem_eq(out, sizeof(in), in, sizeof(in))) { TEST_info("CAST_DECRYPT iteration %d failed (len=%d)", z, k_len[z]); testresult = 0; } return testresult; } static int cast_test_iterations(void) { long l; int testresult = 1; CAST_KEY key, key_b; unsigned char out_a[16], out_b[16]; memcpy(out_a, in_a, sizeof(in_a)); memcpy(out_b, in_b, sizeof(in_b)); for (l = 0; l < 1000000L; l++) { CAST_set_key(&key_b, 16, out_b); CAST_ecb_encrypt(&(out_a[0]), &(out_a[0]), &key_b, CAST_ENCRYPT); CAST_ecb_encrypt(&(out_a[8]), &(out_a[8]), &key_b, CAST_ENCRYPT); CAST_set_key(&key, 16, out_a); CAST_ecb_encrypt(&(out_b[0]), &(out_b[0]), &key, CAST_ENCRYPT); CAST_ecb_encrypt(&(out_b[8]), &(out_b[8]), &key, CAST_ENCRYPT); } if (!TEST_mem_eq(out_a, sizeof(c_a), c_a, sizeof(c_a)) || !TEST_mem_eq(out_b, sizeof(c_b), c_b, sizeof(c_b))) testresult = 0; return testresult; } #endif int setup_tests(void) { #ifndef OPENSSL_NO_CAST ADD_ALL_TESTS(cast_test_vector, OSSL_NELEM(k_len)); ADD_TEST(cast_test_iterations); #endif return 1; } |