summaryrefslogtreecommitdiffhomepage
path: root/rsa.c
diff options
context:
space:
mode:
authorSteffen Jaeckel <s@jaeckel.eu>2020-05-26 17:36:47 +0200
committerGitHub <noreply@github.com>2020-05-26 23:36:47 +0800
commitb4bd23b4d2a4c640880b49069e02cd598dd03416 (patch)
treefb480b4e501cc69b305de95fb15259aa6afa1963 /rsa.c
parent724e61f8ae9e9f216b0252e41c5ebd5d64ad79a6 (diff)
Update LibTomMath to 1.2.0 (#84)
* update C files * update other files * update headers * update makefiles * remove mp_set/get_double() * use ltm 1.2.0 API * update ltm_desc * use bundled tommath if system-tommath is too old * XMALLOC etc. were changed to MP_MALLOC etc.
Diffstat (limited to 'rsa.c')
-rw-r--r--rsa.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/rsa.c b/rsa.c
index 39e2d46..6152e1c 100644
--- a/rsa.c
+++ b/rsa.c
@@ -211,12 +211,12 @@ int buf_rsa_verify(buffer * buf, const dropbear_rsa_key *key,
m_mp_init_multi(&rsa_mdash, &rsa_s, &rsa_em, NULL);
slen = buf_getint(buf);
- if (slen != (unsigned int)mp_unsigned_bin_size(key->n)) {
+ if (slen != (unsigned int)mp_ubin_size(key->n)) {
TRACE(("bad size"))
goto out;
}
- if (mp_read_unsigned_bin(&rsa_s, buf_getptr(buf, buf->len - buf->pos),
+ if (mp_from_ubin(&rsa_s, buf_getptr(buf, buf->len - buf->pos),
buf->len - buf->pos) != MP_OKAY) {
TRACE(("failed reading rsa_s"))
goto out;
@@ -257,6 +257,7 @@ void buf_put_rsa_sign(buffer* buf, const dropbear_rsa_key *key,
const char *name = NULL;
unsigned int nsize, ssize, namelen = 0;
unsigned int i;
+ size_t written;
DEF_MP_INT(rsa_s);
DEF_MP_INT(rsa_tmp1);
DEF_MP_INT(rsa_tmp2);
@@ -322,21 +323,21 @@ void buf_put_rsa_sign(buffer* buf, const dropbear_rsa_key *key,
name = signature_name_from_type(sigtype, &namelen);
buf_putstring(buf, name, namelen);
- nsize = mp_unsigned_bin_size(key->n);
+ nsize = mp_ubin_size(key->n);
/* string rsa_signature_blob length */
buf_putint(buf, nsize);
/* pad out s to same length as n */
- ssize = mp_unsigned_bin_size(&rsa_s);
+ ssize = mp_ubin_size(&rsa_s);
dropbear_assert(ssize <= nsize);
for (i = 0; i < nsize-ssize; i++) {
buf_putbyte(buf, 0x00);
}
- if (mp_to_unsigned_bin(&rsa_s, buf_getwriteptr(buf, ssize)) != MP_OKAY) {
+ if (mp_to_ubin(&rsa_s, buf_getwriteptr(buf, ssize), ssize, &written) != MP_OKAY) {
dropbear_exit("RSA error");
}
- buf_incrwritepos(buf, ssize);
+ buf_incrwritepos(buf, written);
mp_clear(&rsa_s);
#if defined(DEBUG_RSA) && DEBUG_TRACE
@@ -397,7 +398,8 @@ static void rsa_pad_em(const dropbear_rsa_key * key,
assert(0);
}
- nsize = mp_unsigned_bin_size(key->n);
+
+ nsize = mp_ubin_size(key->n);
rsa_EM = buf_new(nsize);
/* type byte */