summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ecdsa/ecdsa.h
diff options
context:
space:
mode:
authortb <>2023-07-28 08:49:43 +0000
committertb <>2023-07-28 08:49:43 +0000
commit27bf20b08f028e09b36afd8b49d1fbaa87746bb6 (patch)
treeefbe0438383ae81f0c511a990e4a656ecd91e76c /src/lib/libcrypto/ecdsa/ecdsa.h
parent783244ed4a6bd90016acb876b9752acd0db924be (diff)
downloadopenbsd-27bf20b08f028e09b36afd8b49d1fbaa87746bb6.tar.gz
openbsd-27bf20b08f028e09b36afd8b49d1fbaa87746bb6.tar.bz2
openbsd-27bf20b08f028e09b36afd8b49d1fbaa87746bb6.zip
Make extended ECDSA signing routines internal
ECDSA_sign_setup() permits precomputing the values of the inverse of the random k and the corresponding r. These can then be fed into the signing routines ECDSA_{do_,}sign_ex() multiple times if needed. This is not a great idea and the interface adds a lot of unwanted complexity. Not to mention that nothing ever used this correctly - if s works out to 0, a special error code is thrown requesting that the caller provide new kinv and r values. Unsurprisingly, nobody ever checked for that special error code. ok jsing This commit marks the start of a libcrypto major bump. Do not build the tree until I bumped the shlib_version and synced file sets (in about 35 commits).
Diffstat (limited to 'src/lib/libcrypto/ecdsa/ecdsa.h')
-rw-r--r--src/lib/libcrypto/ecdsa/ecdsa.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/lib/libcrypto/ecdsa/ecdsa.h b/src/lib/libcrypto/ecdsa/ecdsa.h
index 2e6b672627..9960a4b1ea 100644
--- a/src/lib/libcrypto/ecdsa/ecdsa.h
+++ b/src/lib/libcrypto/ecdsa/ecdsa.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ecdsa.h,v 1.16 2023/06/19 09:12:41 tb Exp $ */ 1/* $OpenBSD: ecdsa.h,v 1.17 2023/07/28 08:49:43 tb Exp $ */
2/* 2/*
3 * Written by Nils Larsch for the OpenSSL project 3 * Written by Nils Larsch for the OpenSSL project
4 */ 4 */
@@ -108,8 +108,6 @@ int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
108 108
109ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, 109ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len,
110 EC_KEY *eckey); 110 EC_KEY *eckey);
111ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen,
112 const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey);
113int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, 111int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
114 const ECDSA_SIG *sig, EC_KEY* eckey); 112 const ECDSA_SIG *sig, EC_KEY* eckey);
115 113
@@ -119,13 +117,8 @@ const ECDSA_METHOD *ECDSA_get_default_method(void);
119int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); 117int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth);
120int ECDSA_size(const EC_KEY *eckey); 118int ECDSA_size(const EC_KEY *eckey);
121 119
122int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv,
123 BIGNUM **rp);
124int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, 120int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen,
125 unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); 121 unsigned char *sig, unsigned int *siglen, EC_KEY *eckey);
126int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen,
127 unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv,
128 const BIGNUM *rp, EC_KEY *eckey);
129int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, 122int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen,
130 const unsigned char *sig, int siglen, EC_KEY *eckey); 123 const unsigned char *sig, int siglen, EC_KEY *eckey);
131 124