Commit daaf5088 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

xts128.c: minor optimization and clarified prototype.

parent e382e4e6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -121,5 +121,5 @@ size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len);

typedef struct xts128_context XTS128_CONTEXT;

int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char *iv,
int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16],
	const unsigned char *inp, unsigned char *out, size_t len, int enc);
+11 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@
#endif
#include <assert.h>

int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char *iv,
int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16],
	const unsigned char *inp, unsigned char *out,
	size_t len, int enc)
{
@@ -84,9 +84,14 @@ int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char *iv,
		scratch.u[1] = ((u64*)inp)[1]^tweak.u[1];
#endif
		(*ctx->block1)(scratch.c,scratch.c,ctx->key1);
#if defined(STRICT_ALIGNMENT)
		scratch.u[0] ^= tweak.u[0];
		scratch.u[1] ^= tweak.u[1];
		memcpy(out,scratch.c,16);
#else
		((u64*)out)[0] = scratch.u[0]^tweak.u[0];
		((u64*)out)[1] = scratch.u[1]^tweak.u[1];
#endif
		inp += 16;
		out += 16;
		len -= 16;
@@ -166,9 +171,14 @@ int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char *iv,
		scratch.u[0] ^= tweak.u[0];
		scratch.u[1] ^= tweak.u[1];
		(*ctx->block1)(scratch.c,scratch.c,ctx->key1);
#if defined(STRICT_ALIGNMENT)
		scratch.u[0] ^= tweak.u[0];
		scratch.u[1] ^= tweak.u[1];
		memcpy (out,scratch.c,16);
#else
		((u64*)out)[0] = scratch.u[0]^tweak.u[0];
		((u64*)out)[1] = scratch.u[1]^tweak.u[1];
#endif
	}

	return 0;