Hello,

I see AES XTS support added in MBEDTLS release. Wanted to know more details about AES XTS Implementation.

- Can you point out to standard/RFC which is used to implement AES XTS
- AES XTS implementation uses GF multiplication. Can you please point out to the standard/RFC which is used to implement this.

/*

- GF(2^128) multiplication function
- This function multiplies a field element by x in the polynomial field
- representation. It uses 64-bit word operations to gain speed but compensates
- for machine endianess and hence works correctly on both big and little
- endian machines.

*/

static void mbedtls_gf128mul_x_ble( unsigned char r[16],

const unsigned char x[16] )

{

uint64_t a, b, ra, rb;GET_UINT64_LE( a, x, 0 );

GET_UINT64_LE( b, x, 8 );ra = ( a << 1 ) ^ 0x0087 >> ( 8 - ( ( b >> 63 ) << 3 ) );

rb = ( a >> 63 ) | ( b << 1 );PUT_UINT64_LE( ra, r, 0 );

PUT_UINT64_LE( rb, r, 8 );

}