Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Wim Lewis
nettle
Commits
a7826587
Commit
a7826587
authored
Apr 26, 2013
by
Niels Möller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use size_t for bignums, rsa and dsa.
parent
64bb6b36
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
84 additions
and
84 deletions
+84
-84
bignum.c
bignum.c
+14
-14
bignum.h
bignum.h
+7
-7
dsa-sign.c
dsa-sign.c
+1
-1
dsa-verify.c
dsa-verify.c
+1
-1
dsa.h
dsa.h
+4
-4
examples/rsa-decrypt.c
examples/rsa-decrypt.c
+1
-1
pkcs1-decrypt.c
pkcs1-decrypt.c
+4
-4
pkcs1-encrypt.c
pkcs1-encrypt.c
+4
-4
pkcs1-rsa-digest.c
pkcs1-rsa-digest.c
+2
-2
pkcs1-rsa-md5.c
pkcs1-rsa-md5.c
+2
-2
pkcs1-rsa-sha1.c
pkcs1-rsa-sha1.c
+2
-2
pkcs1-rsa-sha256.c
pkcs1-rsa-sha256.c
+2
-2
pkcs1-rsa-sha512.c
pkcs1-rsa-sha512.c
+2
-2
pkcs1.h
pkcs1.h
+14
-14
rsa-decrypt-tr.c
rsa-decrypt-tr.c
+1
-1
rsa-decrypt.c
rsa-decrypt.c
+1
-1
rsa-encrypt.c
rsa-encrypt.c
+1
-1
rsa-pkcs1-sign-tr.c
rsa-pkcs1-sign-tr.c
+1
-1
rsa-pkcs1-sign.c
rsa-pkcs1-sign.c
+1
-1
rsa-pkcs1-verify.c
rsa-pkcs1-verify.c
+1
-1
rsa.c
rsa.c
+2
-2
rsa.h
rsa.h
+10
-10
sexp2dsa.c
sexp2dsa.c
+2
-2
sexp2rsa.c
sexp2rsa.c
+1
-1
testsuite/rsa-encrypt-test.c
testsuite/rsa-encrypt-test.c
+3
-3
No files found.
bignum.c
View file @
a7826587
...
...
@@ -46,7 +46,7 @@
*/
/* Including extra sign bit, if needed. Also one byte for zero. */
unsigned
size_t
nettle_mpz_sizeinbase_256_s
(
const
mpz_t
x
)
{
if
(
mpz_sgn
(
x
)
>=
0
)
...
...
@@ -54,7 +54,7 @@ nettle_mpz_sizeinbase_256_s(const mpz_t x)
else
{
/* We'll output ~~x, so we need as many bits as for ~x */
unsigned
size
;
size_t
size
;
mpz_t
c
;
mpz_init
(
c
);
...
...
@@ -66,24 +66,24 @@ nettle_mpz_sizeinbase_256_s(const mpz_t x)
}
}
unsigned
size_t
nettle_mpz_sizeinbase_256_u
(
const
mpz_t
x
)
{
return
(
mpz_sizeinbase
(
x
,
2
)
+
7
)
/
8
;
}
static
void
nettle_mpz_to_octets
(
unsigned
length
,
uint8_t
*
s
,
nettle_mpz_to_octets
(
size_t
length
,
uint8_t
*
s
,
const
mpz_t
x
,
uint8_t
sign
)
{
uint8_t
*
dst
=
s
+
length
-
1
;
unsigned
size
=
mpz_size
(
x
);
unsigned
i
;
size_t
size
=
mpz_size
(
x
);
size_t
i
;
for
(
i
=
0
;
i
<
size
;
i
++
)
{
mp_limb_t
limb
=
mpz_getlimbn
(
x
,
i
);
unsigned
j
;
size_t
j
;
for
(
j
=
0
;
length
&&
j
<
sizeof
(
mp_limb_t
);
j
++
)
{
...
...
@@ -98,7 +98,7 @@ nettle_mpz_to_octets(unsigned length, uint8_t *s,
}
void
nettle_mpz_get_str_256
(
unsigned
length
,
uint8_t
*
s
,
const
mpz_t
x
)
nettle_mpz_get_str_256
(
size_t
length
,
uint8_t
*
s
,
const
mpz_t
x
)
{
if
(
!
length
)
{
...
...
@@ -134,9 +134,9 @@ nettle_mpz_get_str_256(unsigned length, uint8_t *s, const mpz_t x)
#else
static
void
nettle_mpz_from_octets
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
)
size_t
length
,
const
uint8_t
*
s
)
{
unsigned
i
;
size_t
i
;
mpz_set_ui
(
x
,
0
);
...
...
@@ -150,14 +150,14 @@ nettle_mpz_from_octets(mpz_t x,
void
nettle_mpz_set_str_256_u
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
)
size_t
length
,
const
uint8_t
*
s
)
{
nettle_mpz_from_octets
(
x
,
length
,
s
);
}
void
nettle_mpz_init_set_str_256_u
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
)
size_t
length
,
const
uint8_t
*
s
)
{
mpz_init
(
x
);
nettle_mpz_from_octets
(
x
,
length
,
s
);
...
...
@@ -165,7 +165,7 @@ nettle_mpz_init_set_str_256_u(mpz_t x,
void
nettle_mpz_set_str_256_s
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
)
size_t
length
,
const
uint8_t
*
s
)
{
if
(
!
length
)
{
...
...
@@ -188,7 +188,7 @@ nettle_mpz_set_str_256_s(mpz_t x,
void
nettle_mpz_init_set_str_256_s
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
)
size_t
length
,
const
uint8_t
*
s
)
{
mpz_init
(
x
);
nettle_mpz_set_str_256_s
(
x
,
length
,
s
);
...
...
bignum.h
View file @
a7826587
...
...
@@ -37,36 +37,36 @@ extern "C" {
/* Size needed for signed encoding, including extra sign byte if
* necessary. */
unsigned
size_t
nettle_mpz_sizeinbase_256_s
(
const
mpz_t
x
);
/* Size needed for unsigned encoding */
unsigned
size_t
nettle_mpz_sizeinbase_256_u
(
const
mpz_t
x
);
/* Writes an integer as length octets, using big endian byte order,
* and two's complement for negative numbers. */
void
nettle_mpz_get_str_256
(
unsigned
length
,
uint8_t
*
s
,
const
mpz_t
x
);
nettle_mpz_get_str_256
(
size_t
length
,
uint8_t
*
s
,
const
mpz_t
x
);
/* Reads a big endian, two's complement, integer. */
void
nettle_mpz_set_str_256_s
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
);
size_t
length
,
const
uint8_t
*
s
);
void
nettle_mpz_init_set_str_256_s
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
);
size_t
length
,
const
uint8_t
*
s
);
/* Similar, but for unsigned format. These function don't interpret
* the most significant bit as the sign. */
void
nettle_mpz_set_str_256_u
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
);
size_t
length
,
const
uint8_t
*
s
);
void
nettle_mpz_init_set_str_256_u
(
mpz_t
x
,
unsigned
length
,
const
uint8_t
*
s
);
size_t
length
,
const
uint8_t
*
s
);
/* Returns a uniformly distributed random number 0 <= x < 2^n */
void
...
...
dsa-sign.c
View file @
a7826587
...
...
@@ -39,7 +39,7 @@ int
_dsa_sign
(
const
struct
dsa_public_key
*
pub
,
const
struct
dsa_private_key
*
key
,
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
digest_size
,
size_t
digest_size
,
const
uint8_t
*
digest
,
struct
dsa_signature
*
signature
)
{
...
...
dsa-verify.c
View file @
a7826587
...
...
@@ -35,7 +35,7 @@
int
_dsa_verify
(
const
struct
dsa_public_key
*
key
,
unsigned
digest_size
,
size_t
digest_size
,
const
uint8_t
*
digest
,
const
struct
dsa_signature
*
signature
)
{
...
...
dsa.h
View file @
a7826587
...
...
@@ -238,13 +238,13 @@ int
dsa_sha1_keypair_from_sexp
(
struct
dsa_public_key
*
pub
,
struct
dsa_private_key
*
priv
,
unsigned
p_max_bits
,
unsigned
length
,
const
uint8_t
*
expr
);
size_t
length
,
const
uint8_t
*
expr
);
int
dsa_sha256_keypair_from_sexp
(
struct
dsa_public_key
*
pub
,
struct
dsa_private_key
*
priv
,
unsigned
p_max_bits
,
unsigned
length
,
const
uint8_t
*
expr
);
size_t
length
,
const
uint8_t
*
expr
);
/* Keys in X.509 andd OpenSSL format. */
struct
asn1_der_iterator
;
...
...
@@ -276,13 +276,13 @@ int
_dsa_sign
(
const
struct
dsa_public_key
*
pub
,
const
struct
dsa_private_key
*
key
,
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
digest_size
,
size_t
digest_size
,
const
uint8_t
*
digest
,
struct
dsa_signature
*
signature
);
int
_dsa_verify
(
const
struct
dsa_public_key
*
key
,
unsigned
digest_size
,
size_t
digest_size
,
const
uint8_t
*
digest
,
const
struct
dsa_signature
*
signature
);
...
...
examples/rsa-decrypt.c
View file @
a7826587
...
...
@@ -198,7 +198,7 @@ main(int argc, char **argv)
struct
rsa_session
ctx
;
struct
rsa_session_info
session
;
unsigned
length
;
size_t
length
;
mpz_t
x
;
mpz_init
(
x
);
...
...
pkcs1-decrypt.c
View file @
a7826587
...
...
@@ -34,14 +34,14 @@
#include "nettle-internal.h"
int
pkcs1_decrypt
(
unsigned
key_size
,
pkcs1_decrypt
(
size_t
key_size
,
const
mpz_t
m
,
unsigned
*
length
,
uint8_t
*
message
)
size_t
*
length
,
uint8_t
*
message
)
{
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
uint8_t
*
terminator
;
unsigned
padding
;
unsigned
message_length
;
size_t
padding
;
size_t
message_length
;
TMP_ALLOC
(
em
,
key_size
);
nettle_mpz_get_str_256
(
key_size
,
em
,
m
);
...
...
pkcs1-encrypt.c
View file @
a7826587
...
...
@@ -37,15 +37,15 @@
#include "nettle-internal.h"
int
pkcs1_encrypt
(
unsigned
key_size
,
pkcs1_encrypt
(
size_t
key_size
,
/* For padding */
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
length
,
const
uint8_t
*
message
,
size_t
length
,
const
uint8_t
*
message
,
mpz_t
m
)
{
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
unsigned
padding
;
unsigned
i
;
size_t
padding
;
size_t
i
;
/* The message is encoded as a string of the same length as the
* modulo n, of the form
...
...
pkcs1-rsa-digest.c
View file @
a7826587
...
...
@@ -32,8 +32,8 @@
#include "nettle-internal.h"
int
pkcs1_rsa_digest_encode
(
mpz_t
m
,
unsigned
key_size
,
unsigned
di_length
,
const
uint8_t
*
digest_info
)
pkcs1_rsa_digest_encode
(
mpz_t
m
,
size_t
key_size
,
size_t
di_length
,
const
uint8_t
*
digest_info
)
{
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
TMP_ALLOC
(
em
,
key_size
);
...
...
pkcs1-rsa-md5.c
View file @
a7826587
...
...
@@ -62,7 +62,7 @@ md5_prefix[] =
};
int
pkcs1_rsa_md5_encode
(
mpz_t
m
,
unsigned
key_size
,
struct
md5_ctx
*
hash
)
pkcs1_rsa_md5_encode
(
mpz_t
m
,
size_t
key_size
,
struct
md5_ctx
*
hash
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
@@ -83,7 +83,7 @@ pkcs1_rsa_md5_encode(mpz_t m, unsigned key_size, struct md5_ctx *hash)
}
int
pkcs1_rsa_md5_encode_digest
(
mpz_t
m
,
unsigned
key_size
,
const
uint8_t
*
digest
)
pkcs1_rsa_md5_encode_digest
(
mpz_t
m
,
size_t
key_size
,
const
uint8_t
*
digest
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
pkcs1-rsa-sha1.c
View file @
a7826587
...
...
@@ -62,7 +62,7 @@ sha1_prefix[] =
};
int
pkcs1_rsa_sha1_encode
(
mpz_t
m
,
unsigned
key_size
,
struct
sha1_ctx
*
hash
)
pkcs1_rsa_sha1_encode
(
mpz_t
m
,
size_t
key_size
,
struct
sha1_ctx
*
hash
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
@@ -83,7 +83,7 @@ pkcs1_rsa_sha1_encode(mpz_t m, unsigned key_size, struct sha1_ctx *hash)
}
int
pkcs1_rsa_sha1_encode_digest
(
mpz_t
m
,
unsigned
key_size
,
const
uint8_t
*
digest
)
pkcs1_rsa_sha1_encode_digest
(
mpz_t
m
,
size_t
key_size
,
const
uint8_t
*
digest
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
pkcs1-rsa-sha256.c
View file @
a7826587
...
...
@@ -60,7 +60,7 @@ sha256_prefix[] =
};
int
pkcs1_rsa_sha256_encode
(
mpz_t
m
,
unsigned
key_size
,
struct
sha256_ctx
*
hash
)
pkcs1_rsa_sha256_encode
(
mpz_t
m
,
size_t
key_size
,
struct
sha256_ctx
*
hash
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
@@ -81,7 +81,7 @@ pkcs1_rsa_sha256_encode(mpz_t m, unsigned key_size, struct sha256_ctx *hash)
}
int
pkcs1_rsa_sha256_encode_digest
(
mpz_t
m
,
unsigned
key_size
,
const
uint8_t
*
digest
)
pkcs1_rsa_sha256_encode_digest
(
mpz_t
m
,
size_t
key_size
,
const
uint8_t
*
digest
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
pkcs1-rsa-sha512.c
View file @
a7826587
...
...
@@ -60,7 +60,7 @@ sha512_prefix[] =
};
int
pkcs1_rsa_sha512_encode
(
mpz_t
m
,
unsigned
key_size
,
struct
sha512_ctx
*
hash
)
pkcs1_rsa_sha512_encode
(
mpz_t
m
,
size_t
key_size
,
struct
sha512_ctx
*
hash
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
@@ -81,7 +81,7 @@ pkcs1_rsa_sha512_encode(mpz_t m, unsigned key_size, struct sha512_ctx *hash)
}
int
pkcs1_rsa_sha512_encode_digest
(
mpz_t
m
,
unsigned
key_size
,
const
uint8_t
*
digest
)
pkcs1_rsa_sha512_encode_digest
(
mpz_t
m
,
size_t
key_size
,
const
uint8_t
*
digest
)
{
uint8_t
*
p
;
TMP_DECL
(
em
,
uint8_t
,
NETTLE_MAX_BIGNUM_SIZE
);
...
...
pkcs1.h
View file @
a7826587
...
...
@@ -60,44 +60,44 @@ _pkcs1_signature_prefix(unsigned key_size,
unsigned
digest_size
);
int
pkcs1_encrypt
(
unsigned
key_size
,
pkcs1_encrypt
(
size_t
key_size
,
/* For padding */
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
length
,
const
uint8_t
*
message
,
size_t
length
,
const
uint8_t
*
message
,
mpz_t
m
);
int
pkcs1_decrypt
(
unsigned
key_size
,
pkcs1_decrypt
(
size_t
key_size
,
const
mpz_t
m
,
unsigned
*
length
,
uint8_t
*
message
);
size_t
*
length
,
uint8_t
*
message
);
int
pkcs1_rsa_digest_encode
(
mpz_t
m
,
unsigned
key_size
,
unsigned
di_length
,
const
uint8_t
*
digest_info
);
pkcs1_rsa_digest_encode
(
mpz_t
m
,
size_t
key_size
,
size_t
di_length
,
const
uint8_t
*
digest_info
);
int
pkcs1_rsa_md5_encode
(
mpz_t
m
,
unsigned
length
,
struct
md5_ctx
*
hash
);
pkcs1_rsa_md5_encode
(
mpz_t
m
,
size_t
length
,
struct
md5_ctx
*
hash
);
int
pkcs1_rsa_md5_encode_digest
(
mpz_t
m
,
unsigned
length
,
const
uint8_t
*
digest
);
pkcs1_rsa_md5_encode_digest
(
mpz_t
m
,
size_t
length
,
const
uint8_t
*
digest
);
int
pkcs1_rsa_sha1_encode
(
mpz_t
m
,
unsigned
length
,
struct
sha1_ctx
*
hash
);
pkcs1_rsa_sha1_encode
(
mpz_t
m
,
size_t
length
,
struct
sha1_ctx
*
hash
);
int
pkcs1_rsa_sha1_encode_digest
(
mpz_t
m
,
unsigned
length
,
const
uint8_t
*
digest
);
pkcs1_rsa_sha1_encode_digest
(
mpz_t
m
,
size_t
length
,
const
uint8_t
*
digest
);
int
pkcs1_rsa_sha256_encode
(
mpz_t
m
,
unsigned
length
,
struct
sha256_ctx
*
hash
);
pkcs1_rsa_sha256_encode
(
mpz_t
m
,
size_t
length
,
struct
sha256_ctx
*
hash
);
int
pkcs1_rsa_sha256_encode_digest
(
mpz_t
m
,
unsigned
length
,
const
uint8_t
*
digest
);
pkcs1_rsa_sha256_encode_digest
(
mpz_t
m
,
size_t
length
,
const
uint8_t
*
digest
);
int
pkcs1_rsa_sha512_encode
(
mpz_t
m
,
unsigned
length
,
struct
sha512_ctx
*
hash
);
pkcs1_rsa_sha512_encode
(
mpz_t
m
,
size_t
length
,
struct
sha512_ctx
*
hash
);
int
pkcs1_rsa_sha512_encode_digest
(
mpz_t
m
,
unsigned
length
,
const
uint8_t
*
digest
);
pkcs1_rsa_sha512_encode_digest
(
mpz_t
m
,
size_t
length
,
const
uint8_t
*
digest
);
#ifdef __cplusplus
}
...
...
rsa-decrypt-tr.c
View file @
a7826587
...
...
@@ -37,7 +37,7 @@ int
rsa_decrypt_tr
(
const
struct
rsa_public_key
*
pub
,
const
struct
rsa_private_key
*
key
,
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
*
length
,
uint8_t
*
message
,
size_t
*
length
,
uint8_t
*
message
,
const
mpz_t
gibberish
)
{
mpz_t
m
,
ri
;
...
...
rsa-decrypt.c
View file @
a7826587
...
...
@@ -33,7 +33,7 @@
int
rsa_decrypt
(
const
struct
rsa_private_key
*
key
,
unsigned
*
length
,
uint8_t
*
message
,
size_t
*
length
,
uint8_t
*
message
,
const
mpz_t
gibberish
)
{
mpz_t
m
;
...
...
rsa-encrypt.c
View file @
a7826587
...
...
@@ -35,7 +35,7 @@ int
rsa_encrypt
(
const
struct
rsa_public_key
*
key
,
/* For padding */
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
length
,
const
uint8_t
*
message
,
size_t
length
,
const
uint8_t
*
message
,
mpz_t
gibberish
)
{
if
(
pkcs1_encrypt
(
key
->
size
,
random_ctx
,
random
,
...
...
rsa-pkcs1-sign-tr.c
View file @
a7826587
...
...
@@ -35,7 +35,7 @@ int
rsa_pkcs1_sign_tr
(
const
struct
rsa_public_key
*
pub
,
const
struct
rsa_private_key
*
key
,
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
length
,
const
uint8_t
*
digest_info
,
size_t
length
,
const
uint8_t
*
digest_info
,
mpz_t
s
)
{
mpz_t
ri
;
...
...
rsa-pkcs1-sign.c
View file @
a7826587
...
...
@@ -33,7 +33,7 @@
int
rsa_pkcs1_sign
(
const
struct
rsa_private_key
*
key
,
unsigned
length
,
const
uint8_t
*
digest_info
,
size_t
length
,
const
uint8_t
*
digest_info
,
mpz_t
s
)
{
if
(
pkcs1_rsa_digest_encode
(
s
,
key
->
size
,
length
,
digest_info
))
...
...
rsa-pkcs1-verify.c
View file @
a7826587
...
...
@@ -33,7 +33,7 @@
int
rsa_pkcs1_verify
(
const
struct
rsa_public_key
*
key
,
unsigned
length
,
const
uint8_t
*
digest_info
,
size_t
length
,
const
uint8_t
*
digest_info
,
const
mpz_t
s
)
{
int
res
;
...
...
rsa.c
View file @
a7826587
...
...
@@ -52,11 +52,11 @@ rsa_public_key_clear(struct rsa_public_key *key)
/* Computes the size, in octets, of a the modulo. Returns 0 if the
* modulo is too small to be useful. */
unsigned
size_t
_rsa_check_size
(
mpz_t
n
)
{
/* Round upwards */
unsigned
size
=
(
mpz_sizeinbase
(
n
,
2
)
+
7
)
/
8
;
size_t
size
=
(
mpz_sizeinbase
(
n
,
2
)
+
7
)
/
8
;
if
(
size
<
RSA_MINIMUM_N_OCTETS
)
return
0
;
...
...
rsa.h
View file @
a7826587
...
...
@@ -95,7 +95,7 @@ struct rsa_public_key
{
/* Size of the modulo, in octets. This is also the size of all
* signatures that are created or verified with this key. */
unsigned
size
;
size_t
size
;
/* Modulo */
mpz_t
n
;
...
...
@@ -106,7 +106,7 @@ struct rsa_public_key
struct
rsa_private_key
{
unsigned
size
;
size_t
size
;
/* d is filled in by the key generation function; otherwise it's
* completely unused. */
...
...
@@ -174,18 +174,18 @@ rsa_private_key_prepare(struct rsa_private_key *key);
/* PKCS#1 style signatures */
int
rsa_pkcs1_sign
(
const
struct
rsa_private_key
*
key
,
unsigned
length
,
const
uint8_t
*
digest_info
,
size_t
length
,
const
uint8_t
*
digest_info
,
mpz_t
s
);
int
rsa_pkcs1_sign_tr
(
const
struct
rsa_public_key
*
pub
,
const
struct
rsa_private_key
*
key
,
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
length
,
const
uint8_t
*
digest_info
,
size_t
length
,
const
uint8_t
*
digest_info
,
mpz_t
s
);
int
rsa_pkcs1_verify
(
const
struct
rsa_public_key
*
key
,
unsigned
length
,
const
uint8_t
*
digest_info
,
size_t
length
,
const
uint8_t
*
digest_info
,
const
mpz_t
signature
);
int
...
...
@@ -281,7 +281,7 @@ int
rsa_encrypt
(
const
struct
rsa_public_key
*
key
,
/* For padding */
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
length
,
const
uint8_t
*
cleartext
,
size_t
length
,
const
uint8_t
*
cleartext
,
mpz_t
cipher
);
/* Message must point to a buffer of size *LENGTH. KEY->size is enough
...
...
@@ -291,7 +291,7 @@ rsa_encrypt(const struct rsa_public_key *key,
* didn't fit. */
int
rsa_decrypt
(
const
struct
rsa_private_key
*
key
,
unsigned
*
length
,
uint8_t
*
cleartext
,
size_t
*
length
,
uint8_t
*
cleartext
,
const
mpz_t
ciphertext
);
/* Timing-resistant version, using randomized RSA blinding. */
...
...
@@ -299,7 +299,7 @@ int
rsa_decrypt_tr
(
const
struct
rsa_public_key
*
pub
,
const
struct
rsa_private_key
*
key
,
void
*
random_ctx
,
nettle_random_func
*
random
,
unsigned
*
length
,
uint8_t
*
message
,
size_t
*
length
,
uint8_t
*
message
,
const
mpz_t
gibberish
);
/* Compute x, the e:th root of m. Calling it with x == m is allowed. */
...
...
@@ -364,7 +364,7 @@ int
rsa_keypair_from_sexp
(
struct
rsa_public_key
*
pub
,
struct
rsa_private_key
*
priv
,
unsigned
limit
,
unsigned
length
,
const
uint8_t
*
expr
);
size_t
length
,
const
uint8_t
*
expr
);
/* Keys in PKCS#1 format. */
...
...
@@ -402,7 +402,7 @@ _rsa_verify(const struct rsa_public_key *key,
const
mpz_t
m
,
const
mpz_t
s
);
unsigned
size_t
_rsa_check_size
(
mpz_t
n
);
void
...
...
sexp2dsa.c
View file @
a7826587
...
...
@@ -78,7 +78,7 @@ int
dsa_sha1_keypair_from_sexp
(
struct
dsa_public_key
*
pub
,
struct
dsa_private_key
*
priv
,
unsigned
p_max_bits
,
unsigned
length
,
const
uint8_t
*
expr
)
size_t
length
,
const
uint8_t
*
expr
)
{
struct
sexp_iterator
i
;
...
...
@@ -92,7 +92,7 @@ int
dsa_sha256_keypair_from_sexp
(
struct
dsa_public_key
*
pub
,
struct
dsa_private_key
*
priv
,
unsigned
p_max_bits
,
unsigned
length
,
const
uint8_t
*
expr
)
size_t
length
,
const
uint8_t
*
expr
)
{
struct
sexp_iterator
i
;
...
...
sexp2rsa.c
View file @
a7826587
...
...
@@ -89,7 +89,7 @@ int
rsa_keypair_from_sexp
(
struct
rsa_public_key
*
pub
,
struct
rsa_private_key
*
priv
,
unsigned
limit
,
unsigned
length
,
const
uint8_t
*
expr
)
size_t
length
,
const
uint8_t
*
expr
)
{
struct
sexp_iterator
i
;
static
const
uint8_t
*
const
names
[
3
]
...
...
testsuite/rsa-encrypt-test.c
View file @
a7826587
...
...
@@ -12,10 +12,10 @@ test_main(void)
/* FIXME: How is this spelled? */
const
uint8_t
*
msg
=
"Squemish ossifrage"
;
unsigned
msg_length
;
size_t
msg_length
;
uint8_t
*
decrypted
;
unsigned
decrypted_length
;
size_t
decrypted_length
;
uint8_t
after
;
mpz_t
gibberish
;
...
...
@@ -30,7 +30,7 @@ test_main(void)
msg_length
=
strlen
(
msg
);
if
(
verbose
)
fprintf
(
stderr
,
"msg: `%s', length = %d
\n
"
,
msg
,
msg_length
);
fprintf
(
stderr
,
"msg: `%s', length = %d
\n
"
,
msg
,
(
int
)
msg_length
);
ASSERT
(
rsa_encrypt
(
&
pub
,
&
lfib
,
(
nettle_random_func
*
)
knuth_lfib_random
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment