Sha256: 6f6f9ee5ec6dd2c9f4b42fab49651b1638990face581dd36b0c8d9620c4ff564

Contents?: true

Size: 1.29 KB

Versions: 5

Compression:

Stored size: 1.29 KB

Contents

/**
 * Copyright (c) 2017 Armando Faz <armfazh@ic.unicamp.br>.
 * Institute of Computing.
 * University of Campinas, Brazil.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, version 3.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef X25519_PRECOMPUTED_H
#define X25519_PRECOMPUTED_H

#include <stdint.h>

#define ALIGN_BYTES 32
#ifdef __INTEL_COMPILER
#define ALIGN __declspec(align(ALIGN_BYTES))
#else
#define ALIGN __attribute__ ((aligned (ALIGN_BYTES)))
#endif

#define X25519_KEYSIZE_BYTES 32
typedef ALIGN uint8_t X25519_KEY[X25519_KEYSIZE_BYTES];

void x25519_precomputed_scalarmult(uint8_t *shared, uint8_t *private_key, uint8_t *session_key);
void x25519_precomputed_scalarmult_base(uint8_t *session_key, uint8_t *private_key);
int check_4th_gen_intel_core_features();

#endif /* X25519_PRECOMPUTED_H */

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
x25519-1.0.6 ext/x25519_precomputed/x25519_precomputed.h
x25519-1.0.5 ext/x25519_precomputed/x25519_precomputed.h
x25519-1.0.4 ext/x25519_precomputed/x25519_precomputed.h
x25519-1.0.3 ext/x25519_precomputed/x25519_precomputed.h
x25519-1.0.2 ext/x25519_precomputed/x25519_precomputed.h