1 #include "common.h" 2 mbedtls_xor(unsigned char * r,const unsigned char * a,const unsigned char * b,size_t n)3void mbedtls_xor(unsigned char *r, const unsigned char *a, const unsigned char *b, size_t n) 4 { 5 size_t i = 0; 6 #if defined(MBEDTLS_EFFICIENT_UNALIGNED_ACCESS) 7 for (; (i + 4) <= n; i += 4) { 8 uint32_t x = mbedtls_get_unaligned_uint32(a + i) ^ mbedtls_get_unaligned_uint32(b + i); 9 mbedtls_put_unaligned_uint32(r + i, x); 10 } 11 #endif 12 for (; i < n; i++) { 13 r[i] = a[i] ^ b[i]; 14 } 15 }