summaryrefslogtreecommitdiff
path: root/code/ecp/crypto/include/curve25519.h
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2020-08-05 03:38:22 +0200
committerUros Majstorovic <majstor@majstor.org>2020-08-05 03:38:22 +0200
commit5cd610a07468137066ea4daa5176c3e7045113b0 (patch)
treea6a5b572572f8f37ec2cb87332fa46e9bcc53aa7 /code/ecp/crypto/include/curve25519.h
parent2473a7d5c51806ab8651cd3c4e07a15b62084eb5 (diff)
ecp moved to root; fixed utils and tests
Diffstat (limited to 'code/ecp/crypto/include/curve25519.h')
-rw-r--r--code/ecp/crypto/include/curve25519.h78
1 files changed, 0 insertions, 78 deletions
diff --git a/code/ecp/crypto/include/curve25519.h b/code/ecp/crypto/include/curve25519.h
deleted file mode 100644
index a7092cb..0000000
--- a/code/ecp/crypto/include/curve25519.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2015, Google Inc.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef HEADER_CURVE25519_H
-#define HEADER_CURVE25519_H
-
-#include <stdint.h>
-#include <stddef.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*
- * Curve25519.
- *
- * Curve25519 is an elliptic curve. See https://tools.ietf.org/html/rfc7748.
- */
-
-/*
- * X25519.
- *
- * X25519 is the Diffie-Hellman primitive built from curve25519. It is
- * sometimes referred to as curve25519, but X25519 is a more precise name.
- * See http://cr.yp.to/ecdh.html and https://tools.ietf.org/html/rfc7748.
- */
-
-#define X25519_KEY_LENGTH 32
-
-/*
- * X25519_keypair sets |out_public_value| and |out_private_key| to a freshly
- * generated, public/private key pair. It returns one on success and zero on
- * error.
- */
-int X25519_keypair(uint8_t out_public_value[X25519_KEY_LENGTH],
- uint8_t out_private_key[X25519_KEY_LENGTH],
- int (*random_buf)(void *, size_t));
-
-/*
- * X25519 writes a shared key to |out_shared_key| that is calculated from the
- * given private key and the peer's public value. It returns one on success and
- * zero on error.
- *
- * Don't use the shared key directly, rather use a KDF and also include the two
- * public values as inputs.
- */
-int X25519(uint8_t out_shared_key[X25519_KEY_LENGTH],
- const uint8_t private_key[X25519_KEY_LENGTH],
- const uint8_t peers_public_value[X25519_KEY_LENGTH]);
-
-/*
- * ED25519
- */
-int ED25519_keypair(uint8_t out_public_key[32], uint8_t out_private_key[64],
- int (*random_buf)(void *, size_t));
-int ED25519_sign(uint8_t *out_sig, const uint8_t *message, size_t message_len,
- const uint8_t private_key[64]);
-int ED25519_verify(const uint8_t *message, size_t message_len,
- const uint8_t signature[64], const uint8_t public_key[32]);
-
-#if defined(__cplusplus)
-} /* extern C */
-#endif
-
-#endif /* HEADER_CURVE25519_H */