49 #ifndef OPENSSL_HEADER_MODES_INTERNAL_H 50 #define OPENSSL_HEADER_MODES_INTERNAL_H 54 #if defined(__cplusplus) 61 #define STRICT_ALIGNMENT 1 62 #if defined(OPENSSL_X86_64) || defined(OPENSSL_X86) || defined(OPENSSL_AARCH64) 63 #undef STRICT_ALIGNMENT 64 #define STRICT_ALIGNMENT 0 67 #if !defined(PEDANTIC) && !defined(OPENSSL_NO_ASM) 68 #if defined(__GNUC__) && __GNUC__ >= 2 69 #if defined(OPENSSL_X86_64) 73 asm("bswapq %0" : "+r"(ret)); \ 79 asm("bswapl %0" : "+r"(ret)); \ 82 #elif defined(OPENSSL_X86) 85 uint32_t lo = (uint64_t)(x) >> 32, hi = (x); \ 86 asm("bswapl %0; bswapl %1" : "+r"(hi), "+r"(lo)); \ 87 (uint64_t) hi << 32 | lo; \ 92 asm("bswapl %0" : "+r"(ret)); \ 95 #elif defined(OPENSSL_AARCH64) 99 asm("rev %0,%1" : "=r"(ret) : "r"(x)); \ 105 asm("rev %w0,%w1" : "=r"(ret) : "r"(x)); \ 108 #elif defined(OPENSSL_ARM) && !defined(STRICT_ALIGNMENT) 111 uint32_t lo = (uint64_t)(x) >> 32, hi = (x); \ 112 asm("rev %0,%0; rev %1,%1" : "+r"(hi), "+r"(lo)); \ 113 (uint64_t) hi << 32 | lo; \ 118 asm("rev %0,%1" : "=r"(ret) : "r"((uint32_t)(x))); \ 122 #elif defined(_MSC_VER) 127 #pragma intrinsic(_byteswap_uint64, _byteswap_ulong) 128 #define BSWAP8(x) _byteswap_uint64((uint64_t)(x)) 129 #define BSWAP4(x) _byteswap_ulong((uint32_t)(x)) 130 #elif defined(OPENSSL_X86) 135 #define BSWAP4(x) _bswap4(x) 140 #if defined(BSWAP4) && !defined(STRICT_ALIGNMENT) 141 #define GETU32(p) BSWAP4(*(const uint32_t *)(p)) 142 #define PUTU32(p, v) *(uint32_t *)(p) = BSWAP4(v) 145 ((uint32_t)(p)[0] << 24 | (uint32_t)(p)[1] << 16 | (uint32_t)(p)[2] << 8 | (uint32_t)(p)[3]) 146 #define PUTU32(p, v) \ 147 ((p)[0] = (uint8_t)((v) >> 24), (p)[1] = (uint8_t)((v) >> 16), \ 148 (p)[2] = (uint8_t)((v) >> 8), (p)[3] = (uint8_t)(v)) 169 } Yi, EKi, EK0,
len, Xi,
H;
182 #if defined(OPENSSL_X86) || defined(OPENSSL_X86_64) 185 int crypto_gcm_clmul_enabled(
void);
202 const void *key,
uint8_t ivec[16],
203 uint8_t ecount_buf[16],
unsigned *num,
211 const void *key,
uint8_t ivec[16],
212 uint8_t ecount_buf[16],
unsigned *num,
233 const uint8_t *iv,
size_t iv_len);
315 size_t len,
const void *key,
uint8_t ivec[16],
326 const void *key,
uint8_t ivec[16],
unsigned *num,
333 const void *key,
uint8_t ivec[16],
unsigned *num,
340 const void *key,
uint8_t ivec[16],
unsigned *num,
344 const void *key,
uint8_t ivec[16],
348 #if !defined(OPENSSL_NO_ASM) && \ 349 (defined(OPENSSL_X86) || defined(OPENSSL_X86_64)) 350 void aesni_ctr32_encrypt_blocks(
const uint8_t *in,
uint8_t *out,
size_t blocks,
351 const void *key,
const uint8_t *ivec);
354 #if defined(__cplusplus) OPENSSL_EXPORT ASN1_BIT_STRING * bits
Definition: x509v3.h:532
unsigned long long uint64_t
Definition: ptypes.h:120
OPENSSL_EXPORT int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const uint8_t *tag, size_t len)
Definition: gcm.c:1230
void CRYPTO_cfb128_encrypt(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], unsigned *num, int enc, block128_f block)
Definition: cfb.c:59
EGLStreamKHR stream
Definition: eglext.h:340
void CRYPTO_ctr128_encrypt(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], uint8_t ecount_buf[16], unsigned *num, block128_f block)
int c
Definition: cpp_unittests.cpp:275
unsigned int uint32_t
Definition: ptypes.h:105
block128_f block
Definition: internal.h:179
OPENSSL_EXPORT pem_password_cb void * u
Definition: pem.h:398
Definition: xmlparse.c:181
void CRYPTO_cfb128_8_encrypt(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], unsigned *num, int enc, block128_f block)
Definition: cfb.c:217
bool t
Definition: UpdateContents.py:37
std::integral_constant< std::size_t, V > size_t
Definition: Brigand.h:447
OPENSSL_EXPORT int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, const void *key, const uint8_t *in, uint8_t *out, size_t len, ctr128_f stream)
Definition: gcm.c:1102
OPENSSL_EXPORT int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, const void *key, const uint8_t *in, uint8_t *out, size_t len)
Definition: gcm.c:656
void(* ctr128_f)(const uint8_t *in, uint8_t *out, size_t blocks, const void *key, const uint8_t ivec[16])
Definition: internal.h:192
void CRYPTO_cbc128_decrypt(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], block128_f block)
Definition: cbc.c:113
void
Definition: AVFoundationCFSoftLinking.h:81
OPENSSL_EXPORT const ASN1_OBJECT int const unsigned char int len
Definition: x509.h:1053
void(* cbc128_f)(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], int enc)
Definition: internal.h:289
void CRYPTO_cfb128_1_encrypt(const uint8_t *in, uint8_t *out, size_t bits, const void *key, uint8_t ivec[16], unsigned *num, int enc, block128_f block)
Definition: cfb.c:200
int int * out
Definition: gcc-loops.cpp:206
#define OPENSSL_EXPORT
Definition: base.h:160
OPENSSL_EXPORT int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, const void *key, const uint8_t *in, uint8_t *out, size_t len)
Definition: gcm.c:814
OPENSSL_EXPORT int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const uint8_t *aad, size_t len)
Definition: gcm.c:589
OPENSSL_EXPORT void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, const void *key, block128_f block)
Definition: gcm.c:428
void CRYPTO_ofb128_encrypt(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], unsigned *num, block128_f block)
Definition: ofb.c:59
EGLContext ctx
Definition: eglext.h:192
unsigned int mres
Definition: internal.h:178
unsigned char uint8_t
Definition: ptypes.h:89
OPENSSL_MSVC_PRAGMA(warning(disable:4702))
Definition: e_aes.c:70
void CRYPTO_ctr128_encrypt_ctr32(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], uint8_t ecount_buf[16], unsigned *num, ctr128_f ctr)
Definition: xmlparse.c:217
uint64_t lo
Definition: internal.h:157
void(* block128_f)(const uint8_t in[16], uint8_t out[16], const void *key)
Definition: internal.h:153
#define H(b, c, d)
Definition: md4.c:113
OPENSSL_EXPORT int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, const void *key, const uint8_t *in, uint8_t *out, size_t len, ctr128_f stream)
Definition: gcm.c:981
Definition: internal.h:157
OPENSSL_EXPORT void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const void *key, const uint8_t *iv, size_t iv_len)
Definition: gcm.c:512
Definition: internal.h:162
midl_pragma warning(disable:2111) midl_pragma warning(disable
Definition: Accessible2.idl:352
size_t CRYPTO_cts128_encrypt_block(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], block128_f block)
CFArrayRef CFTypeRef key
Definition: AVFoundationCFSoftLinking.h:129
GLuint GLsizei GLsizei GLfloat * val
Definition: gl2ext.h:3301
OPENSSL_EXPORT void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, uint8_t *tag, size_t len)
Definition: gcm.c:1274
#define d
Definition: float-mm.c:30
void CRYPTO_cbc128_encrypt(const uint8_t *in, uint8_t *out, size_t len, const void *key, uint8_t ivec[16], block128_f block)
Definition: cbc.c:59