Lines Matching refs:transform
103 mbedtls_ssl_transform *transform );
105 mbedtls_ssl_transform *transform );
625 mbedtls_ssl_transform *transform = ssl->transform_negotiate; in mbedtls_ssl_derive_keys() local
630 cipher_info = mbedtls_cipher_info_from_type( transform->ciphersuite_info->cipher ); in mbedtls_ssl_derive_keys()
634 transform->ciphersuite_info->cipher ) ); in mbedtls_ssl_derive_keys()
638 md_info = mbedtls_md_info_from_type( transform->ciphersuite_info->mac ); in mbedtls_ssl_derive_keys()
642 transform->ciphersuite_info->mac ) ); in mbedtls_ssl_derive_keys()
670 transform->ciphersuite_info->mac == MBEDTLS_MD_SHA384 ) in mbedtls_ssl_derive_keys()
807 transform->keylen = cipher_info->key_bitlen / 8; in mbedtls_ssl_derive_keys()
815 transform->maclen = 0; in mbedtls_ssl_derive_keys()
822 transform->ivlen = 12; in mbedtls_ssl_derive_keys()
824 transform->fixed_ivlen = 12; in mbedtls_ssl_derive_keys()
826 transform->fixed_ivlen = 4; in mbedtls_ssl_derive_keys()
829 taglen = transform->ciphersuite_info->flags & in mbedtls_ssl_derive_keys()
834 explicit_ivlen = transform->ivlen - transform->fixed_ivlen; in mbedtls_ssl_derive_keys()
835 transform->minlen = explicit_ivlen + taglen; in mbedtls_ssl_derive_keys()
840 if( ( ret = mbedtls_md_setup( &transform->md_ctx_enc, md_info, 1 ) ) != 0 || in mbedtls_ssl_derive_keys()
841 ( ret = mbedtls_md_setup( &transform->md_ctx_dec, md_info, 1 ) ) != 0 ) in mbedtls_ssl_derive_keys()
849 transform->maclen = mac_key_len; in mbedtls_ssl_derive_keys()
859 transform->maclen = MBEDTLS_SSL_TRUNCATED_HMAC_LEN; in mbedtls_ssl_derive_keys()
865 mac_key_len = transform->maclen; in mbedtls_ssl_derive_keys()
871 transform->ivlen = cipher_info->iv_size; in mbedtls_ssl_derive_keys()
875 transform->minlen = transform->maclen; in mbedtls_ssl_derive_keys()
887 transform->minlen = transform->maclen in mbedtls_ssl_derive_keys()
893 transform->minlen = transform->maclen in mbedtls_ssl_derive_keys()
895 - transform->maclen % cipher_info->block_size; in mbedtls_ssl_derive_keys()
908 transform->minlen += transform->ivlen; in mbedtls_ssl_derive_keys()
920 transform->keylen, transform->minlen, transform->ivlen, in mbedtls_ssl_derive_keys()
921 transform->maclen ) ); in mbedtls_ssl_derive_keys()
930 key2 = keyblk + mac_key_len * 2 + transform->keylen; in mbedtls_ssl_derive_keys()
938 iv_copy_len = ( transform->fixed_ivlen ) ? in mbedtls_ssl_derive_keys()
939 transform->fixed_ivlen : transform->ivlen; in mbedtls_ssl_derive_keys()
940 memcpy( transform->iv_enc, key2 + transform->keylen, iv_copy_len ); in mbedtls_ssl_derive_keys()
941 memcpy( transform->iv_dec, key2 + transform->keylen + iv_copy_len, in mbedtls_ssl_derive_keys()
949 key1 = keyblk + mac_key_len * 2 + transform->keylen; in mbedtls_ssl_derive_keys()
958 iv_copy_len = ( transform->fixed_ivlen ) ? in mbedtls_ssl_derive_keys()
959 transform->fixed_ivlen : transform->ivlen; in mbedtls_ssl_derive_keys()
960 memcpy( transform->iv_dec, key1 + transform->keylen, iv_copy_len ); in mbedtls_ssl_derive_keys()
961 memcpy( transform->iv_enc, key1 + transform->keylen + iv_copy_len, in mbedtls_ssl_derive_keys()
974 if( mac_key_len > sizeof transform->mac_enc ) in mbedtls_ssl_derive_keys()
980 memcpy( transform->mac_enc, mac_enc, mac_key_len ); in mbedtls_ssl_derive_keys()
981 memcpy( transform->mac_dec, mac_dec, mac_key_len ); in mbedtls_ssl_derive_keys()
993 mbedtls_md_hmac_starts( &transform->md_ctx_enc, mac_enc, mac_key_len ); in mbedtls_ssl_derive_keys()
994 mbedtls_md_hmac_starts( &transform->md_ctx_dec, mac_dec, mac_key_len ); in mbedtls_ssl_derive_keys()
1011 if( ( ret = mbedtls_ssl_hw_record_init( ssl, key1, key2, transform->keylen, in mbedtls_ssl_derive_keys()
1012 transform->iv_enc, transform->iv_dec, in mbedtls_ssl_derive_keys()
1028 mac_key_len, transform->keylen, in mbedtls_ssl_derive_keys()
1033 if( ( ret = mbedtls_cipher_setup( &transform->cipher_ctx_enc, in mbedtls_ssl_derive_keys()
1040 if( ( ret = mbedtls_cipher_setup( &transform->cipher_ctx_dec, in mbedtls_ssl_derive_keys()
1047 if( ( ret = mbedtls_cipher_setkey( &transform->cipher_ctx_enc, key1, in mbedtls_ssl_derive_keys()
1055 if( ( ret = mbedtls_cipher_setkey( &transform->cipher_ctx_dec, key2, in mbedtls_ssl_derive_keys()
1066 if( ( ret = mbedtls_cipher_set_padding_mode( &transform->cipher_ctx_enc, in mbedtls_ssl_derive_keys()
1073 if( ( ret = mbedtls_cipher_set_padding_mode( &transform->cipher_ctx_dec, in mbedtls_ssl_derive_keys()
1103 memset( &transform->ctx_deflate, 0, sizeof( transform->ctx_deflate ) ); in mbedtls_ssl_derive_keys()
1104 memset( &transform->ctx_inflate, 0, sizeof( transform->ctx_inflate ) ); in mbedtls_ssl_derive_keys()
1106 if( deflateInit( &transform->ctx_deflate, in mbedtls_ssl_derive_keys()
1108 inflateInit( &transform->ctx_inflate ) != Z_OK ) in mbedtls_ssl_derive_keys()
1559 mbedtls_ssl_transform *transform = ssl->transform_out; in ssl_encrypt_buf() local
1560 unsigned char taglen = transform->ciphersuite_info->flags & in ssl_encrypt_buf()
1562 size_t explicit_ivlen = transform->ivlen - transform->fixed_ivlen; in ssl_encrypt_buf()
1579 if( transform->ivlen == 12 && transform->fixed_ivlen == 4 ) in ssl_encrypt_buf()
1582 memcpy( iv, transform->iv_enc, transform->fixed_ivlen ); in ssl_encrypt_buf()
1583 memcpy( iv + transform->fixed_ivlen, ssl->out_ctr, 8 ); in ssl_encrypt_buf()
1587 else if( transform->ivlen == 12 && transform->fixed_ivlen == 12 ) in ssl_encrypt_buf()
1592 memcpy( iv, transform->iv_enc, transform->fixed_ivlen ); in ssl_encrypt_buf()
1605 iv, transform->ivlen ); in ssl_encrypt_buf()
1623 if( ( ret = mbedtls_cipher_auth_encrypt( &transform->cipher_ctx_enc, in ssl_encrypt_buf()
1624 iv, transform->ivlen, in ssl_encrypt_buf()
1850 mbedtls_ssl_transform *transform = ssl->transform_in; in ssl_decrypt_buf() local
1851 unsigned char taglen = transform->ciphersuite_info->flags & in ssl_decrypt_buf()
1853 size_t explicit_iv_len = transform->ivlen - transform->fixed_ivlen; in ssl_decrypt_buf()
1886 if( transform->ivlen == 12 && transform->fixed_ivlen == 4 ) in ssl_decrypt_buf()
1889 memcpy( iv, transform->iv_dec, transform->fixed_ivlen ); in ssl_decrypt_buf()
1890 memcpy( iv + transform->fixed_ivlen, ssl->in_iv, 8 ); in ssl_decrypt_buf()
1893 else if( transform->ivlen == 12 && transform->fixed_ivlen == 12 ) in ssl_decrypt_buf()
1898 memcpy( iv, transform->iv_dec, transform->fixed_ivlen ); in ssl_decrypt_buf()
1910 MBEDTLS_SSL_DEBUG_BUF( 4, "IV used", iv, transform->ivlen ); in ssl_decrypt_buf()
1917 iv, transform->ivlen, in ssl_decrypt_buf()
6384 if( ssl->transform ) in ssl_handshake_wrapup_free_hs_transform()
6386 mbedtls_ssl_transform_free( ssl->transform ); in ssl_handshake_wrapup_free_hs_transform()
6387 mbedtls_free( ssl->transform ); in ssl_handshake_wrapup_free_hs_transform()
6389 ssl->transform = ssl->transform_negotiate; in ssl_handshake_wrapup_free_hs_transform()
6713 static void ssl_transform_init( mbedtls_ssl_transform *transform ) in ssl_transform_init() argument
6715 memset( transform, 0, sizeof(mbedtls_ssl_transform) ); in ssl_transform_init()
6717 mbedtls_cipher_init( &transform->cipher_ctx_enc ); in ssl_transform_init()
6718 mbedtls_cipher_init( &transform->cipher_ctx_dec ); in ssl_transform_init()
6720 mbedtls_md_init( &transform->md_ctx_enc ); in ssl_transform_init()
6721 mbedtls_md_init( &transform->md_ctx_dec ); in ssl_transform_init()
6836 mbedtls_ssl_transform *transform ) in ssl_update_out_pointers() argument
6854 if( transform != NULL && in ssl_update_out_pointers()
6857 ssl->out_msg = ssl->out_iv + transform->ivlen - transform->fixed_ivlen; in ssl_update_out_pointers()
6872 mbedtls_ssl_transform *transform ) in ssl_update_in_pointers() argument
6890 if( transform != NULL && in ssl_update_in_pointers()
6893 ssl->in_msg = ssl->in_iv + transform->ivlen - transform->fixed_ivlen; in ssl_update_in_pointers()
7080 if( ssl->transform ) in ssl_session_reset_int()
7082 mbedtls_ssl_transform_free( ssl->transform ); in ssl_session_reset_int()
7083 mbedtls_free( ssl->transform ); in ssl_session_reset_int()
7084 ssl->transform = NULL; in ssl_session_reset_int()
7948 const mbedtls_ssl_transform *transform = ssl->transform_out; in mbedtls_ssl_get_record_expansion() local
7951 if( transform == NULL ) in mbedtls_ssl_get_record_expansion()
7959 switch( mbedtls_cipher_get_cipher_mode( &transform->cipher_ctx_enc ) ) in mbedtls_ssl_get_record_expansion()
7965 transform_expansion = transform->minlen; in mbedtls_ssl_get_record_expansion()
7971 &transform->cipher_ctx_enc ); in mbedtls_ssl_get_record_expansion()
7974 transform_expansion += transform->maclen; in mbedtls_ssl_get_record_expansion()
8810 void mbedtls_ssl_transform_free( mbedtls_ssl_transform *transform ) in mbedtls_ssl_transform_free() argument
8812 if( transform == NULL ) in mbedtls_ssl_transform_free()
8816 deflateEnd( &transform->ctx_deflate ); in mbedtls_ssl_transform_free()
8817 inflateEnd( &transform->ctx_inflate ); in mbedtls_ssl_transform_free()
8820 mbedtls_cipher_free( &transform->cipher_ctx_enc ); in mbedtls_ssl_transform_free()
8821 mbedtls_cipher_free( &transform->cipher_ctx_dec ); in mbedtls_ssl_transform_free()
8823 mbedtls_md_free( &transform->md_ctx_enc ); in mbedtls_ssl_transform_free()
8824 mbedtls_md_free( &transform->md_ctx_dec ); in mbedtls_ssl_transform_free()
8826 mbedtls_platform_zeroize( transform, sizeof( mbedtls_ssl_transform ) ); in mbedtls_ssl_transform_free()
9020 if( ssl->transform ) in mbedtls_ssl_free()
9022 mbedtls_ssl_transform_free( ssl->transform ); in mbedtls_ssl_free()
9023 mbedtls_free( ssl->transform ); in mbedtls_ssl_free()