|
|
|
@ -71,8 +71,8 @@ void av_xtea_crypt(AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int count, |
|
|
|
|
{ |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
while (count > 0) { |
|
|
|
|
if (decrypt) { |
|
|
|
|
if (decrypt) { |
|
|
|
|
while (count > 0) { |
|
|
|
|
xtea_crypt_ecb(ctx, dst, src, decrypt); |
|
|
|
|
|
|
|
|
|
if (iv) { |
|
|
|
@ -80,7 +80,13 @@ void av_xtea_crypt(AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int count, |
|
|
|
|
dst[i] = dst[i] ^ iv[i]; |
|
|
|
|
memcpy(iv, src, 8); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
src += 8; |
|
|
|
|
dst += 8; |
|
|
|
|
count -= 8; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
while (count > 0) { |
|
|
|
|
if (iv) { |
|
|
|
|
for (i = 0; i < 8; i++) |
|
|
|
|
dst[i] = src[i] ^ iv[i]; |
|
|
|
@ -89,11 +95,10 @@ void av_xtea_crypt(AVXTEA *ctx, uint8_t *dst, const uint8_t *src, int count, |
|
|
|
|
} else { |
|
|
|
|
xtea_crypt_ecb(ctx, dst, src, decrypt); |
|
|
|
|
} |
|
|
|
|
src += 8; |
|
|
|
|
dst += 8; |
|
|
|
|
count -= 8; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
src += 8; |
|
|
|
|
dst += 8; |
|
|
|
|
count -= 8; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|