diff options
Diffstat (limited to 'src/lib/libcrypto/modes/xts128.c')
| -rw-r--r-- | src/lib/libcrypto/modes/xts128.c | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/lib/libcrypto/modes/xts128.c b/src/lib/libcrypto/modes/xts128.c index 789af9ef65..9c863e73d6 100644 --- a/src/lib/libcrypto/modes/xts128.c +++ b/src/lib/libcrypto/modes/xts128.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: xts128.c,v 1.14 2025/04/21 16:01:18 jsing Exp $ */ | 1 | /* $OpenBSD: xts128.c,v 1.15 2025/05/18 09:05:59 jsing Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2011 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2011 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -61,9 +61,9 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 61 | size_t len, int enc) | 61 | size_t len, int enc) |
| 62 | { | 62 | { |
| 63 | union { | 63 | union { |
| 64 | u64 u[2]; | 64 | uint64_t u[2]; |
| 65 | u32 d[4]; | 65 | uint32_t d[4]; |
| 66 | u8 c[16]; | 66 | uint8_t c[16]; |
| 67 | } tweak, scratch; | 67 | } tweak, scratch; |
| 68 | unsigned int i; | 68 | unsigned int i; |
| 69 | 69 | ||
| @@ -83,8 +83,8 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 83 | scratch.u[0] ^= tweak.u[0]; | 83 | scratch.u[0] ^= tweak.u[0]; |
| 84 | scratch.u[1] ^= tweak.u[1]; | 84 | scratch.u[1] ^= tweak.u[1]; |
| 85 | #else | 85 | #else |
| 86 | scratch.u[0] = ((u64 *)inp)[0] ^ tweak.u[0]; | 86 | scratch.u[0] = ((uint64_t *)inp)[0] ^ tweak.u[0]; |
| 87 | scratch.u[1] = ((u64 *)inp)[1] ^ tweak.u[1]; | 87 | scratch.u[1] = ((uint64_t *)inp)[1] ^ tweak.u[1]; |
| 88 | #endif | 88 | #endif |
| 89 | (*ctx->block1)(scratch.c, scratch.c, ctx->key1); | 89 | (*ctx->block1)(scratch.c, scratch.c, ctx->key1); |
| 90 | #ifdef __STRICT_ALIGNMENT | 90 | #ifdef __STRICT_ALIGNMENT |
| @@ -92,8 +92,8 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 92 | scratch.u[1] ^= tweak.u[1]; | 92 | scratch.u[1] ^= tweak.u[1]; |
| 93 | memcpy(out, scratch.c, 16); | 93 | memcpy(out, scratch.c, 16); |
| 94 | #else | 94 | #else |
| 95 | ((u64 *)out)[0] = scratch.u[0] ^= tweak.u[0]; | 95 | ((uint64_t *)out)[0] = scratch.u[0] ^= tweak.u[0]; |
| 96 | ((u64 *)out)[1] = scratch.u[1] ^= tweak.u[1]; | 96 | ((uint64_t *)out)[1] = scratch.u[1] ^= tweak.u[1]; |
| 97 | #endif | 97 | #endif |
| 98 | inp += 16; | 98 | inp += 16; |
| 99 | out += 16; | 99 | out += 16; |
| @@ -115,15 +115,15 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 115 | for (c = 0, i = 0; i < 16; ++i) { | 115 | for (c = 0, i = 0; i < 16; ++i) { |
| 116 | /*+ substitutes for |, because c is 1 bit */ | 116 | /*+ substitutes for |, because c is 1 bit */ |
| 117 | c += ((size_t)tweak.c[i]) << 1; | 117 | c += ((size_t)tweak.c[i]) << 1; |
| 118 | tweak.c[i] = (u8)c; | 118 | tweak.c[i] = (uint8_t)c; |
| 119 | c = c >> 8; | 119 | c = c >> 8; |
| 120 | } | 120 | } |
| 121 | tweak.c[0] ^= (u8)(0x87 & (0 - c)); | 121 | tweak.c[0] ^= (uint8_t)(0x87 & (0 - c)); |
| 122 | #endif | 122 | #endif |
| 123 | } | 123 | } |
| 124 | if (enc) { | 124 | if (enc) { |
| 125 | for (i = 0; i < len; ++i) { | 125 | for (i = 0; i < len; ++i) { |
| 126 | u8 ch = inp[i]; | 126 | uint8_t ch = inp[i]; |
| 127 | out[i] = scratch.c[i]; | 127 | out[i] = scratch.c[i]; |
| 128 | scratch.c[i] = ch; | 128 | scratch.c[i] = ch; |
| 129 | } | 129 | } |
| @@ -135,8 +135,8 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 135 | memcpy(out - 16, scratch.c, 16); | 135 | memcpy(out - 16, scratch.c, 16); |
| 136 | } else { | 136 | } else { |
| 137 | union { | 137 | union { |
| 138 | u64 u[2]; | 138 | uint64_t u[2]; |
| 139 | u8 c[16]; | 139 | uint8_t c[16]; |
| 140 | } tweak1; | 140 | } tweak1; |
| 141 | 141 | ||
| 142 | #if BYTE_ORDER == LITTLE_ENDIAN | 142 | #if BYTE_ORDER == LITTLE_ENDIAN |
| @@ -152,25 +152,25 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 152 | for (c = 0, i = 0; i < 16; ++i) { | 152 | for (c = 0, i = 0; i < 16; ++i) { |
| 153 | /*+ substitutes for |, because c is 1 bit */ | 153 | /*+ substitutes for |, because c is 1 bit */ |
| 154 | c += ((size_t)tweak.c[i]) << 1; | 154 | c += ((size_t)tweak.c[i]) << 1; |
| 155 | tweak1.c[i] = (u8)c; | 155 | tweak1.c[i] = (uint8_t)c; |
| 156 | c = c >> 8; | 156 | c = c >> 8; |
| 157 | } | 157 | } |
| 158 | tweak1.c[0] ^= (u8)(0x87 & (0 - c)); | 158 | tweak1.c[0] ^= (uint8_t)(0x87 & (0 - c)); |
| 159 | #endif | 159 | #endif |
| 160 | #ifdef __STRICT_ALIGNMENT | 160 | #ifdef __STRICT_ALIGNMENT |
| 161 | memcpy(scratch.c, inp, 16); | 161 | memcpy(scratch.c, inp, 16); |
| 162 | scratch.u[0] ^= tweak1.u[0]; | 162 | scratch.u[0] ^= tweak1.u[0]; |
| 163 | scratch.u[1] ^= tweak1.u[1]; | 163 | scratch.u[1] ^= tweak1.u[1]; |
| 164 | #else | 164 | #else |
| 165 | scratch.u[0] = ((u64 *)inp)[0] ^ tweak1.u[0]; | 165 | scratch.u[0] = ((uint64_t *)inp)[0] ^ tweak1.u[0]; |
| 166 | scratch.u[1] = ((u64 *)inp)[1] ^ tweak1.u[1]; | 166 | scratch.u[1] = ((uint64_t *)inp)[1] ^ tweak1.u[1]; |
| 167 | #endif | 167 | #endif |
| 168 | (*ctx->block1)(scratch.c, scratch.c, ctx->key1); | 168 | (*ctx->block1)(scratch.c, scratch.c, ctx->key1); |
| 169 | scratch.u[0] ^= tweak1.u[0]; | 169 | scratch.u[0] ^= tweak1.u[0]; |
| 170 | scratch.u[1] ^= tweak1.u[1]; | 170 | scratch.u[1] ^= tweak1.u[1]; |
| 171 | 171 | ||
| 172 | for (i = 0; i < len; ++i) { | 172 | for (i = 0; i < len; ++i) { |
| 173 | u8 ch = inp[16 + i]; | 173 | uint8_t ch = inp[16 + i]; |
| 174 | out[16 + i] = scratch.c[i]; | 174 | out[16 + i] = scratch.c[i]; |
| 175 | scratch.c[i] = ch; | 175 | scratch.c[i] = ch; |
| 176 | } | 176 | } |
| @@ -182,8 +182,8 @@ CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], | |||
| 182 | scratch.u[1] ^= tweak.u[1]; | 182 | scratch.u[1] ^= tweak.u[1]; |
| 183 | memcpy(out, scratch.c, 16); | 183 | memcpy(out, scratch.c, 16); |
| 184 | #else | 184 | #else |
| 185 | ((u64 *)out)[0] = scratch.u[0] ^ tweak.u[0]; | 185 | ((uint64_t *)out)[0] = scratch.u[0] ^ tweak.u[0]; |
| 186 | ((u64 *)out)[1] = scratch.u[1] ^ tweak.u[1]; | 186 | ((uint64_t *)out)[1] = scratch.u[1] ^ tweak.u[1]; |
| 187 | #endif | 187 | #endif |
| 188 | } | 188 | } |
| 189 | 189 | ||
