X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/137d3b36ce3d121855364d3a28383ab86fbb9d7b..ae8cd973b817f81c075ab20e84d3239125146f24:/x448.h diff --git a/x448.h b/x448.h deleted file mode 100644 index ae1672f..0000000 --- a/x448.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * x448.h: Hamburg's X448 key-exchange function - */ -/* - * This file is Free Software. It has been modified to as part of its - * incorporation into secnet. - * - * Copyright 2017 Mark Wooding - * - * You may redistribute this file and/or modify it under the terms of - * the permissive licence shown below. - * - * You may redistribute secnet as a whole and/or modify it under the - * terms of the GNU General Public License as published by the Free - * Software Foundation; either version 3, or (at your option) any - * later version. - * - * 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see - * https://www.gnu.org/licenses/gpl.html. - */ -/* - * Imported from Catacomb, and modified for Secnet (2017-04-30): - * - * * Use `fake-mLib-bits.h' in place of the real . - * - * * Strip out the key-management definitions. - * - * The file's original comment headers are preserved below. - */ -/* -*-c-*- - * - * The X448 key-agreement algorithm - * - * (c) 2017 Straylight/Edgeware - */ - -/*----- Licensing notice --------------------------------------------------* - * - * This file is part of Catacomb. - * - * Catacomb is free software; you can redistribute it and/or modify - * it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * Catacomb 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 Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with Catacomb; if not, write to the Free - * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - */ - -#ifndef CATACOMB_X448_H -#define CATACOMB_X448_H - -#ifdef __cplusplus - extern "C" { -#endif - -/*----- Notes on the X448 key-agreement algorithm -------------------------* - * - * This is X448, as described in RFC7748, based on the elliptic curve defined - * in Mike Hamburg, `Ed448-Goldilocks, a new elliptic curve', EUROCRYPT 2016, - * https://eprint.iacr.org/2015/625/. - * - * The RFC-specified operation is simpler than the Diffie--Hellman function - * described in Hamburg's paper, since it doesn't involve the `Decaf' - * cofactor elimination procedure. Indeed, it looks very much like X25519 - * with Hamburg's curve slotted in in place of Bernstein's. - */ - -/*----- Header files ------------------------------------------------------*/ - -#include "fake-mLib-bits.h" - -/*----- Important constants -----------------------------------------------*/ - -#define X448_KEYSZ 56 -#define X448_PUBSZ 56 -#define X448_OUTSZ 56 - -extern const octet x448_base[56]; - -/*----- Functions provided ------------------------------------------------*/ - -/* --- @x448@ --- * - * - * Arguments: @octet zz[X448_OUTSZ]@ = where to put the result - * @const octet k[X448_KEYSZ]@ = pointer to private key - * @const octet qx[X448_PUBSZ]@ = pointer to public value - * - * Returns: --- - * - * Use: Calculates X448 of @k@ and @qx@. - */ - -extern void x448(octet /*zz*/[X448_OUTSZ], - const octet /*k*/[X448_KEYSZ], - const octet /*qx*/[X448_PUBSZ]); - -/*----- That's all, folks -------------------------------------------------*/ - -#ifdef __cplusplus - } -#endif - -#endif