This commit is contained in:
swrup 2026-02-24 22:06:53 +01:00
parent d870eab54e
commit ae3a0c90c4

View file

@ -59,7 +59,6 @@ let rsa_blinding_key_derive (pub : RsaPublicKey.t) bks =
let rsa_blind pub ~bks msg =
let data = rsa_full_domain_hash pub msg in
let bkey = rsa_blinding_key_derive pub bks in
(* can we just use [powm] here instead? *)
let r_e = Z.powm_sec bkey pub.e pub.n in
let data_r_e = Z.rem (Z.mul data r_e) pub.n in
Z_extra.to_octets_be data_r_e
@ -86,13 +85,10 @@ let sign ~priv ~pub ~bks ~msg =
let sig_ = rsa_unblind pub ~bks bsig in
sig_
(* TODO fdh-rsa
look into mirage-crypto for this
at least use Eqaf for constant time string compare *)
let verify pub ~msg ~sig_ =
let msg_fdh = rsa_full_domain_hash pub msg in
let s1 = Z_extra.to_octets_be msg_fdh in
let s2 = Mirage_crypto_pk.Rsa.encrypt ~key:pub sig_ in
match String.equal s1 s2 with
match Eqaf.equal s1 s2 with
| false -> Fmt.error "RSA signature verification failed"
| true -> Ok ()