Move ec.h to ec2.h because it is not compatible with what we will use.
Add EC vaporware: change relevant Makefiles and add some empty source files. "make update".
This commit is contained in:
parent
757a8b4621
commit
65e8167079
20 changed files with 600 additions and 83 deletions
|
@ -165,7 +165,7 @@ SHLIBDIRS= crypto ssl
|
||||||
SDIRS= \
|
SDIRS= \
|
||||||
md2 md4 md5 sha mdc2 hmac ripemd \
|
md2 md4 md5 sha mdc2 hmac ripemd \
|
||||||
des rc2 rc4 rc5 idea bf cast \
|
des rc2 rc4 rc5 idea bf cast \
|
||||||
bn rsa dsa dh dso engine rijndael \
|
bn ec rsa dsa dh dso engine rijndael \
|
||||||
buffer bio stack lhash rand err objects \
|
buffer bio stack lhash rand err objects \
|
||||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp
|
||||||
|
|
||||||
|
|
|
@ -955,7 +955,7 @@ speed.o: ../include/openssl/rijndael.h ../include/openssl/ripemd.h
|
||||||
speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
speed.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
speed.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
||||||
speed.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
|
speed.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
|
||||||
speed.o: ../include/openssl/x509_vfy.h apps.h speed.c testdsa.h testrsa.h
|
speed.o: ../include/openssl/x509_vfy.h ./testdsa.h ./testrsa.h apps.h speed.c
|
||||||
spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
|
spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
spkac.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
spkac.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
spkac.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
spkac.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
|
|
|
@ -28,7 +28,7 @@ LIBS=
|
||||||
|
|
||||||
SDIRS= md2 md5 sha mdc2 hmac ripemd \
|
SDIRS= md2 md5 sha mdc2 hmac ripemd \
|
||||||
des rc2 rc4 rc5 idea bf cast \
|
des rc2 rc4 rc5 idea bf cast \
|
||||||
bn rsa dsa dh dso engine rijndael \
|
bn ec rsa dsa dh dso engine rijndael \
|
||||||
buffer bio stack lhash rand err objects \
|
buffer bio stack lhash rand err objects \
|
||||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp
|
||||||
|
|
||||||
|
|
2
crypto/ec/.cvsignore
Normal file
2
crypto/ec/.cvsignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
lib
|
||||||
|
Makefile.save
|
101
crypto/ec/Makefile.ssl
Normal file
101
crypto/ec/Makefile.ssl
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
#
|
||||||
|
# crypto/ec/Makefile
|
||||||
|
#
|
||||||
|
|
||||||
|
DIR= ec
|
||||||
|
TOP= ../..
|
||||||
|
CC= cc
|
||||||
|
INCLUDES= -I.. -I$(TOP) -I../../include
|
||||||
|
CFLAG=-g
|
||||||
|
INSTALL_PREFIX=
|
||||||
|
OPENSSLDIR= /usr/local/ssl
|
||||||
|
INSTALLTOP=/usr/local/ssl
|
||||||
|
MAKE= make -f Makefile.ssl
|
||||||
|
MAKEDEPPROG= makedepend
|
||||||
|
MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
|
||||||
|
MAKEFILE= Makefile.ssl
|
||||||
|
AR= ar r
|
||||||
|
|
||||||
|
CFLAGS= $(INCLUDES) $(CFLAG)
|
||||||
|
|
||||||
|
GENERAL=Makefile
|
||||||
|
TEST=ectest.c
|
||||||
|
APPS=
|
||||||
|
|
||||||
|
LIB=$(TOP)/libcrypto.a
|
||||||
|
LIBSRC= ec_lib.c ecp_smpl.c ecp_mont.c ecp_recp.c ec_cvt.c ec_mult.c
|
||||||
|
|
||||||
|
LIBOBJ= ec_lib.o ecp_smpl.o ecp_mont.o ecp_recp.o ec_cvt.o ec_mult.o
|
||||||
|
|
||||||
|
SRC= $(LIBSRC)
|
||||||
|
|
||||||
|
EXHEADER= ec.h
|
||||||
|
HEADER= ec_lcl.h $(EXHEADER)
|
||||||
|
|
||||||
|
ALL= $(GENERAL) $(SRC) $(HEADER)
|
||||||
|
|
||||||
|
top:
|
||||||
|
(cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
|
||||||
|
|
||||||
|
all: lib
|
||||||
|
|
||||||
|
lib: $(LIBOBJ)
|
||||||
|
$(AR) $(LIB) $(LIBOBJ)
|
||||||
|
@echo You may get an error following this line. Please ignore.
|
||||||
|
- $(RANLIB) $(LIB)
|
||||||
|
@touch lib
|
||||||
|
|
||||||
|
files:
|
||||||
|
$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
|
||||||
|
|
||||||
|
links:
|
||||||
|
@$(TOP)/util/point.sh Makefile.ssl Makefile
|
||||||
|
@$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
|
||||||
|
@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
|
||||||
|
@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
|
||||||
|
|
||||||
|
install:
|
||||||
|
@for i in $(EXHEADER) ; \
|
||||||
|
do \
|
||||||
|
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
||||||
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
||||||
|
done;
|
||||||
|
|
||||||
|
tags:
|
||||||
|
ctags $(SRC)
|
||||||
|
|
||||||
|
tests:
|
||||||
|
|
||||||
|
lint:
|
||||||
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
|
depend:
|
||||||
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
|
dclean:
|
||||||
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
mv -f Makefile.new $(MAKEFILE)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
|
||||||
|
|
||||||
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||||
|
|
||||||
|
ec_cvt.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
|
||||||
|
ec_cvt.o: ../../include/openssl/ec.h ../../include/openssl/opensslconf.h
|
||||||
|
ec_cvt.o: ec_cvt.c ec_lcl.h
|
||||||
|
ec_lib.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
|
||||||
|
ec_lib.o: ../../include/openssl/ec.h ../../include/openssl/opensslconf.h
|
||||||
|
ec_lib.o: ec_lcl.h ec_lib.c
|
||||||
|
ec_mult.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
|
||||||
|
ec_mult.o: ../../include/openssl/ec.h ../../include/openssl/opensslconf.h
|
||||||
|
ec_mult.o: ec_lcl.h ec_mult.c
|
||||||
|
ecp_mont.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
|
||||||
|
ecp_mont.o: ../../include/openssl/ec.h ../../include/openssl/opensslconf.h
|
||||||
|
ecp_mont.o: ec_lcl.h ecp_mont.c
|
||||||
|
ecp_recp.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
|
||||||
|
ecp_recp.o: ../../include/openssl/ec.h ../../include/openssl/opensslconf.h
|
||||||
|
ecp_recp.o: ec_lcl.h ecp_recp.c
|
||||||
|
ecp_smpl.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
|
||||||
|
ecp_smpl.o: ../../include/openssl/ec.h ../../include/openssl/opensslconf.h
|
||||||
|
ecp_smpl.o: ec_lcl.h ecp_smpl.c
|
|
@ -14,7 +14,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#include "ec.h"
|
#include "ec2.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
144
crypto/ec/ec.h
144
crypto/ec/ec.h
|
@ -1,85 +1,85 @@
|
||||||
/*
|
/* TODO */
|
||||||
|
/* crypto/ec/ec.h */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
||||||
*
|
*
|
||||||
* ec.h
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
*
|
*
|
||||||
* Elliptic Curve Arithmetic Functions
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
*
|
*
|
||||||
* Copyright (C) Lenka Fibikova 2000
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
*
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef HEADER_EC_H
|
#ifndef HEADER_EC_H
|
||||||
#define HEADER_EC_H
|
#define HEADER_EC_H
|
||||||
|
|
||||||
|
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include "../bn/bn_mont2.h" /* XXX */
|
|
||||||
|
|
||||||
typedef struct bn_ec_struct /* E: y^2 = x^3 + Ax + B (mod p) */
|
|
||||||
{
|
|
||||||
BIGNUM *A, *B, *p;
|
|
||||||
int is_in_mont;
|
|
||||||
} EC;
|
|
||||||
|
|
||||||
typedef struct bn_ec_point_struct /* P = [X, Y, Z] */
|
|
||||||
{
|
|
||||||
BIGNUM *X, *Y, *Z;
|
|
||||||
int is_in_mont;
|
|
||||||
} EC_POINT;
|
|
||||||
|
|
||||||
typedef struct bn_ecp_precompute_struct /* Pi[i] = [2i + 1]P i = 0..2^{r-1} - 1 */
|
|
||||||
{
|
|
||||||
int r;
|
|
||||||
EC_POINT **Pi;
|
|
||||||
} ECP_PRECOMPUTE;
|
|
||||||
|
|
||||||
|
|
||||||
#define ECP_is_infty(P) (BN_is_zero(P->Z))
|
|
||||||
#define ECP_is_norm(P) (BN_is_one(P->Z))
|
|
||||||
|
|
||||||
#define ECP_mont_minus(P, mont) (ECP_minus((P), (mont)->p))
|
|
||||||
|
|
||||||
|
|
||||||
EC *EC_new();
|
|
||||||
void EC_clear_free(EC *E);
|
|
||||||
#ifdef MONTGOMERY
|
|
||||||
int EC_to_montgomery(EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int EC_from_montgomery(EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
#endif /* MONTGOMERY */
|
|
||||||
|
|
||||||
|
|
||||||
EC_POINT *ECP_new();
|
|
||||||
void ECP_clear_free(EC_POINT *P);
|
|
||||||
void ECP_clear_free_precompute(ECP_PRECOMPUTE *prec);
|
|
||||||
|
|
||||||
EC_POINT *ECP_generate(BIGNUM *x, BIGNUM *z, EC *E, BN_CTX *ctx);
|
|
||||||
EC_POINT *ECP_dup(EC_POINT *P);
|
|
||||||
int ECP_copy(EC_POINT *R, EC_POINT *P);
|
|
||||||
int ECP_normalize(EC_POINT *P, EC *E, BN_CTX *ctx);
|
|
||||||
EC_POINT *ECP_minus(EC_POINT *P, BIGNUM *p);
|
|
||||||
int ECP_is_on_ec(EC_POINT *P, EC *E, BN_CTX *ctx);
|
|
||||||
int ECP_ecp2bin(EC_POINT *P, unsigned char *to, int form); /* form(ANSI 9.62): 1-compressed; 2-uncompressed; 3-hybrid */
|
|
||||||
int ECP_bin2ecp(unsigned char *from, int len, EC_POINT *P, EC *E, BN_CTX *ctx);
|
|
||||||
|
|
||||||
#ifdef SIMPLE
|
|
||||||
int ECP_cmp(EC_POINT *P, EC_POINT *Q, BIGNUM *p, BN_CTX *ctx);
|
|
||||||
int ECP_double(EC_POINT *R, EC_POINT *P, EC *E, BN_CTX *ctx);
|
|
||||||
int ECP_add(EC_POINT *R, EC_POINT *P, EC_POINT *Q, EC *E, BN_CTX *ctx);
|
|
||||||
ECP_PRECOMPUTE *ECP_precompute(int r, EC_POINT *P, EC *E, BN_CTX *ctx);
|
|
||||||
int ECP_multiply(EC_POINT *R, BIGNUM *k, ECP_PRECOMPUTE *prec, EC *E, BN_CTX *ctx);
|
|
||||||
#endif /* SIMPLE */
|
|
||||||
|
|
||||||
#ifdef MONTGOMERY
|
|
||||||
int ECP_to_montgomery(EC_POINT *P, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int ECP_from_montgomery(EC_POINT *P, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int ECP_mont_cmp(EC_POINT *P, EC_POINT *Q, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int ECP_mont_double(EC_POINT *R, EC_POINT *P, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int ECP_mont_add(EC_POINT *R, EC_POINT *P, EC_POINT *Q, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
ECP_PRECOMPUTE *ECP_mont_precompute(int r, EC_POINT *P, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int ECP_mont_multiply(EC_POINT *R, BIGNUM *k, ECP_PRECOMPUTE *prec, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
int ECP_mont_multiply2(EC_POINT *R, BIGNUM *k, EC_POINT *P, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
|
||||||
#endif /* MONTGOMERY */
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* BEGIN ERROR CODES */
|
||||||
|
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||||
|
* made after this point may be overwritten when the script is next run.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Error codes for the EC functions. */
|
||||||
|
|
||||||
|
/* Function codes. */
|
||||||
|
|
||||||
|
/* Reason codes. */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
85
crypto/ec/ec2.h
Normal file
85
crypto/ec/ec2.h
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* ec.h
|
||||||
|
*
|
||||||
|
* Elliptic Curve Arithmetic Functions
|
||||||
|
*
|
||||||
|
* Copyright (C) Lenka Fibikova 2000
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef HEADER_EC_H
|
||||||
|
#define HEADER_EC_H
|
||||||
|
|
||||||
|
|
||||||
|
#include <openssl/bn.h>
|
||||||
|
#include "../bn/bn_mont2.h" /* XXX */
|
||||||
|
|
||||||
|
typedef struct bn_ec_struct /* E: y^2 = x^3 + Ax + B (mod p) */
|
||||||
|
{
|
||||||
|
BIGNUM *A, *B, *p;
|
||||||
|
int is_in_mont;
|
||||||
|
} EC;
|
||||||
|
|
||||||
|
typedef struct bn_ec_point_struct /* P = [X, Y, Z] */
|
||||||
|
{
|
||||||
|
BIGNUM *X, *Y, *Z;
|
||||||
|
int is_in_mont;
|
||||||
|
} EC_POINT;
|
||||||
|
|
||||||
|
typedef struct bn_ecp_precompute_struct /* Pi[i] = [2i + 1]P i = 0..2^{r-1} - 1 */
|
||||||
|
{
|
||||||
|
int r;
|
||||||
|
EC_POINT **Pi;
|
||||||
|
} ECP_PRECOMPUTE;
|
||||||
|
|
||||||
|
|
||||||
|
#define ECP_is_infty(P) (BN_is_zero(P->Z))
|
||||||
|
#define ECP_is_norm(P) (BN_is_one(P->Z))
|
||||||
|
|
||||||
|
#define ECP_mont_minus(P, mont) (ECP_minus((P), (mont)->p))
|
||||||
|
|
||||||
|
|
||||||
|
EC *EC_new();
|
||||||
|
void EC_clear_free(EC *E);
|
||||||
|
#ifdef MONTGOMERY
|
||||||
|
int EC_to_montgomery(EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int EC_from_montgomery(EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
#endif /* MONTGOMERY */
|
||||||
|
|
||||||
|
|
||||||
|
EC_POINT *ECP_new();
|
||||||
|
void ECP_clear_free(EC_POINT *P);
|
||||||
|
void ECP_clear_free_precompute(ECP_PRECOMPUTE *prec);
|
||||||
|
|
||||||
|
EC_POINT *ECP_generate(BIGNUM *x, BIGNUM *z, EC *E, BN_CTX *ctx);
|
||||||
|
EC_POINT *ECP_dup(EC_POINT *P);
|
||||||
|
int ECP_copy(EC_POINT *R, EC_POINT *P);
|
||||||
|
int ECP_normalize(EC_POINT *P, EC *E, BN_CTX *ctx);
|
||||||
|
EC_POINT *ECP_minus(EC_POINT *P, BIGNUM *p);
|
||||||
|
int ECP_is_on_ec(EC_POINT *P, EC *E, BN_CTX *ctx);
|
||||||
|
int ECP_ecp2bin(EC_POINT *P, unsigned char *to, int form); /* form(ANSI 9.62): 1-compressed; 2-uncompressed; 3-hybrid */
|
||||||
|
int ECP_bin2ecp(unsigned char *from, int len, EC_POINT *P, EC *E, BN_CTX *ctx);
|
||||||
|
|
||||||
|
#ifdef SIMPLE
|
||||||
|
int ECP_cmp(EC_POINT *P, EC_POINT *Q, BIGNUM *p, BN_CTX *ctx);
|
||||||
|
int ECP_double(EC_POINT *R, EC_POINT *P, EC *E, BN_CTX *ctx);
|
||||||
|
int ECP_add(EC_POINT *R, EC_POINT *P, EC_POINT *Q, EC *E, BN_CTX *ctx);
|
||||||
|
ECP_PRECOMPUTE *ECP_precompute(int r, EC_POINT *P, EC *E, BN_CTX *ctx);
|
||||||
|
int ECP_multiply(EC_POINT *R, BIGNUM *k, ECP_PRECOMPUTE *prec, EC *E, BN_CTX *ctx);
|
||||||
|
#endif /* SIMPLE */
|
||||||
|
|
||||||
|
#ifdef MONTGOMERY
|
||||||
|
int ECP_to_montgomery(EC_POINT *P, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int ECP_from_montgomery(EC_POINT *P, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int ECP_mont_cmp(EC_POINT *P, EC_POINT *Q, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int ECP_mont_double(EC_POINT *R, EC_POINT *P, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int ECP_mont_add(EC_POINT *R, EC_POINT *P, EC_POINT *Q, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
ECP_PRECOMPUTE *ECP_mont_precompute(int r, EC_POINT *P, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int ECP_mont_multiply(EC_POINT *R, BIGNUM *k, ECP_PRECOMPUTE *prec, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
int ECP_mont_multiply2(EC_POINT *R, BIGNUM *k, EC_POINT *P, EC *E, BN_MONTGOMERY *mont, BN_CTX *ctx);
|
||||||
|
#endif /* MONTGOMERY */
|
||||||
|
|
||||||
|
#endif
|
59
crypto/ec/ec_cvt.c
Normal file
59
crypto/ec/ec_cvt.c
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/* TODO */
|
||||||
|
/* crypto/ec/ec_cvt.c */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/ec.h>
|
||||||
|
|
||||||
|
#include "ec_lcl.h"
|
92
crypto/ec/ec_err.c
Normal file
92
crypto/ec/ec_err.c
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
/* crypto/ec/ec_err.c */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@OpenSSL.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||||
|
* made to it will be overwritten when the script next updates this file,
|
||||||
|
* only reason strings will be preserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <openssl/err.h>
|
||||||
|
#include <openssl/ec.h>
|
||||||
|
|
||||||
|
/* BEGIN ERROR CODES */
|
||||||
|
#ifndef OPENSSL_NO_ERR
|
||||||
|
static ERR_STRING_DATA EC_str_functs[]=
|
||||||
|
{
|
||||||
|
{0,NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
static ERR_STRING_DATA EC_str_reasons[]=
|
||||||
|
{
|
||||||
|
{0,NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void ERR_load_EC_strings(void)
|
||||||
|
{
|
||||||
|
static int init=1;
|
||||||
|
|
||||||
|
if (init)
|
||||||
|
{
|
||||||
|
init=0;
|
||||||
|
#ifndef OPENSSL_NO_ERR
|
||||||
|
ERR_load_strings(ERR_LIB_EC,EC_str_functs);
|
||||||
|
ERR_load_strings(ERR_LIB_EC,EC_str_reasons);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
55
crypto/ec/ec_lcl.h
Normal file
55
crypto/ec/ec_lcl.h
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
/* TODO */
|
||||||
|
/* crypto/ec/ec_lcl.h */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
*/
|
59
crypto/ec/ec_lib.c
Normal file
59
crypto/ec/ec_lib.c
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/* TODO */
|
||||||
|
/* crypto/ec/ec_lib.c */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/ec.h>
|
||||||
|
|
||||||
|
#include "ec_lcl.h"
|
59
crypto/ec/ec_mult.c
Normal file
59
crypto/ec/ec_mult.c
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/* TODO */
|
||||||
|
/* crypto/ec/ec_mult.c */
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/ec.h>
|
||||||
|
|
||||||
|
#include "ec_lcl.h"
|
|
@ -17,7 +17,7 @@
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
|
|
||||||
#include "../bn/bn_mont2.h" /* XXX */
|
#include "../bn/bn_mont2.h" /* XXX */
|
||||||
#include "ec.h"
|
#include "ec2.h"
|
||||||
|
|
||||||
|
|
||||||
EC_POINT *ECP_new()
|
EC_POINT *ECP_new()
|
||||||
|
|
|
@ -164,6 +164,7 @@ static ERR_STRING_DATA ERR_str_libraries[]=
|
||||||
{ERR_PACK(ERR_LIB_DSO,0,0) ,"DSO support routines"},
|
{ERR_PACK(ERR_LIB_DSO,0,0) ,"DSO support routines"},
|
||||||
{ERR_PACK(ERR_LIB_ENGINE,0,0) ,"engine routines"},
|
{ERR_PACK(ERR_LIB_ENGINE,0,0) ,"engine routines"},
|
||||||
{ERR_PACK(ERR_LIB_OCSP,0,0) ,"OCSP routines"},
|
{ERR_PACK(ERR_LIB_OCSP,0,0) ,"OCSP routines"},
|
||||||
|
{ERR_PACK(ERR_LIB_EC,0,0) ,"EC routines"},
|
||||||
{0,NULL},
|
{0,NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -134,6 +134,7 @@ typedef struct err_state_st
|
||||||
#define ERR_LIB_DSO 37
|
#define ERR_LIB_DSO 37
|
||||||
#define ERR_LIB_ENGINE 38
|
#define ERR_LIB_ENGINE 38
|
||||||
#define ERR_LIB_OCSP 39
|
#define ERR_LIB_OCSP 39
|
||||||
|
#define ERR_LIB_EC 40
|
||||||
|
|
||||||
#define ERR_LIB_USER 128
|
#define ERR_LIB_USER 128
|
||||||
|
|
||||||
|
@ -165,6 +166,7 @@ typedef struct err_state_st
|
||||||
#define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),ERR_file_name,__LINE__)
|
#define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),ERR_file_name,__LINE__)
|
||||||
#define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),ERR_file_name,__LINE__)
|
#define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),ERR_file_name,__LINE__)
|
||||||
#define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),ERR_file_name,__LINE__)
|
#define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),ERR_file_name,__LINE__)
|
||||||
|
#define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),ERR_file_name,__LINE__)
|
||||||
|
|
||||||
/* Borland C seems too stupid to be able to shift and do longs in
|
/* Borland C seems too stupid to be able to shift and do longs in
|
||||||
* the pre-processor :-( */
|
* the pre-processor :-( */
|
||||||
|
@ -215,6 +217,8 @@ typedef struct err_state_st
|
||||||
#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12
|
#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12
|
||||||
#define ERR_R_DSO_LIB ERR_LIB_DSO
|
#define ERR_R_DSO_LIB ERR_LIB_DSO
|
||||||
#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE
|
#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE
|
||||||
|
#define ERR_R_OCSP_LIB ERR_LIB_OCSP
|
||||||
|
#define ERR_R_EC_LIB ERR_LIB_EC
|
||||||
|
|
||||||
/* fatal error */
|
/* fatal error */
|
||||||
#define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL)
|
#define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
L ERR NONE NONE
|
L ERR NONE NONE
|
||||||
L CRYPTO crypto/crypto.h crypto/cpt_err.c
|
L CRYPTO crypto/crypto.h crypto/cpt_err.c
|
||||||
L BN crypto/bn/bn.h crypto/bn/bn_err.c
|
L BN crypto/bn/bn.h crypto/bn/bn_err.c
|
||||||
|
L EC crypto/ec/ec.h crypto/ec/ec_err.c
|
||||||
L RSA crypto/rsa/rsa.h crypto/rsa/rsa_err.c
|
L RSA crypto/rsa/rsa.h crypto/rsa/rsa_err.c
|
||||||
L DSA crypto/dsa/dsa.h crypto/dsa/dsa_err.c
|
L DSA crypto/dsa/dsa.h crypto/dsa/dsa_err.c
|
||||||
L DSO crypto/dso/dso.h crypto/dso/dso_err.c
|
L DSO crypto/dso/dso.h crypto/dso/dso_err.c
|
||||||
|
|
|
@ -112,10 +112,6 @@ int RAND_event(UINT, WPARAM, LPARAM);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* BEGIN ERROR CODES */
|
/* BEGIN ERROR CODES */
|
||||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||||
* made after this point may be overwritten when the script is next run.
|
* made after this point may be overwritten when the script is next run.
|
||||||
|
@ -129,5 +125,8 @@ int RAND_event(UINT, WPARAM, LPARAM);
|
||||||
/* Reason codes. */
|
/* Reason codes. */
|
||||||
#define RAND_R_PRNG_NOT_SEEDED 100
|
#define RAND_R_PRNG_NOT_SEEDED 100
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1551,10 +1551,10 @@ int SSL_COMP_add_compression_method(int id,char *cm);
|
||||||
#define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228
|
#define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228
|
||||||
#define SSL_R_SSL_HANDSHAKE_FAILURE 229
|
#define SSL_R_SSL_HANDSHAKE_FAILURE 229
|
||||||
#define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230
|
#define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230
|
||||||
#define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 1101
|
|
||||||
#define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 1102
|
#define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 1102
|
||||||
#define SSL_R_SSL_SESSION_ID_CONFLICT 1103
|
#define SSL_R_SSL_SESSION_ID_CONFLICT 1103
|
||||||
#define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273
|
#define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273
|
||||||
|
#define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 1101
|
||||||
#define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231
|
#define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231
|
||||||
#define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049
|
#define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049
|
||||||
#define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050
|
#define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050
|
||||||
|
|
|
@ -366,10 +366,10 @@ static ERR_STRING_DATA SSL_str_reasons[]=
|
||||||
{SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION,"ssl ctx has no default ssl version"},
|
{SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION,"ssl ctx has no default ssl version"},
|
||||||
{SSL_R_SSL_HANDSHAKE_FAILURE ,"ssl handshake failure"},
|
{SSL_R_SSL_HANDSHAKE_FAILURE ,"ssl handshake failure"},
|
||||||
{SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS ,"ssl library has no ciphers"},
|
{SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS ,"ssl library has no ciphers"},
|
||||||
{SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH ,"ssl session id has bad length"},
|
|
||||||
{SSL_R_SSL_SESSION_ID_CALLBACK_FAILED ,"ssl session id callback failed"},
|
{SSL_R_SSL_SESSION_ID_CALLBACK_FAILED ,"ssl session id callback failed"},
|
||||||
{SSL_R_SSL_SESSION_ID_CONFLICT ,"ssl session id conflict"},
|
{SSL_R_SSL_SESSION_ID_CONFLICT ,"ssl session id conflict"},
|
||||||
{SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG ,"ssl session id context too long"},
|
{SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG ,"ssl session id context too long"},
|
||||||
|
{SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH ,"ssl session id has bad length"},
|
||||||
{SSL_R_SSL_SESSION_ID_IS_DIFFERENT ,"ssl session id is different"},
|
{SSL_R_SSL_SESSION_ID_IS_DIFFERENT ,"ssl session id is different"},
|
||||||
{SSL_R_TLSV1_ALERT_ACCESS_DENIED ,"tlsv1 alert access denied"},
|
{SSL_R_TLSV1_ALERT_ACCESS_DENIED ,"tlsv1 alert access denied"},
|
||||||
{SSL_R_TLSV1_ALERT_DECODE_ERROR ,"tlsv1 alert decode error"},
|
{SSL_R_TLSV1_ALERT_DECODE_ERROR ,"tlsv1 alert decode error"},
|
||||||
|
|
Loading…
Reference in a new issue