diff options
author | Steffen Jaeckel <s@jaeckel.eu> | 2020-05-26 17:36:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-26 23:36:47 +0800 |
commit | b4bd23b4d2a4c640880b49069e02cd598dd03416 (patch) | |
tree | fb480b4e501cc69b305de95fb15259aa6afa1963 /rsa.c | |
parent | 724e61f8ae9e9f216b0252e41c5ebd5d64ad79a6 (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.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -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 */ |