From 04dd17822334871b23ea2862f7798fb0e0007777 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Sat, 11 May 2024 08:53:19 +0000 Subject: [PATCH] change otg to host mode --- u-boot/lib/rsa/rsa-sign.c | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/u-boot/lib/rsa/rsa-sign.c b/u-boot/lib/rsa/rsa-sign.c index fed64d5..71a940c 100644 --- a/u-boot/lib/rsa/rsa-sign.c +++ b/u-boot/lib/rsa/rsa-sign.c @@ -610,7 +610,7 @@ BIGNUM **modulusp, BIGNUM **exponent_BN, BIGNUM **r_squaredp, BIGNUM **c_factorp, BIGNUM **np_factorp) { - BIGNUM *big1, *big2, *big32, *big2_32, *big4100, *big2180; + BIGNUM *big1, *big2, *big32, *big2_32, *big4100, *big2180, *big4228; BIGNUM *n, *e, *r, *r_squared, *tmp, *c_factor, *np_factor; const BIGNUM *key_n, *key_e; BN_CTX *bn_ctx = BN_CTX_new(); @@ -622,6 +622,7 @@ big32 = BN_new(); big4100 = BN_new(); big2180 = BN_new(); + big4228 = BN_new(); r = BN_new(); r_squared = BN_new(); @@ -631,7 +632,7 @@ big2_32 = BN_new(); n = BN_new(); e = BN_new(); - if (!big1 || !big2 || !big32 || !big4100 || !big2180 || !r || + if (!big1 || !big2 || !big32 || !big4100 || !big2180 || !big4228 || !r || !r_squared || !tmp || !big2_32 || !n || !e || !c_factor || !np_factor) { fprintf(stderr, "Out of memory (bignum)\n"); @@ -645,7 +646,8 @@ if (!BN_copy(n, key_n) || !BN_copy(e, key_e) || !BN_set_word(big1, 1L) || !BN_set_word(big2, 2L) || !BN_set_word(big32, 32L) || - !BN_set_word(big4100, 4100L) || !BN_set_word(big2180, 2180L)) + !BN_set_word(big4100, 4100L) || !BN_set_word(big2180, 2180L) || + !BN_set_word(big4228, 4228L)) ret = -1; /* big2_32 = 2^32 */ @@ -675,9 +677,15 @@ ret = -1; /* Calculate np_factor = 2^2180 div n */ - if (!BN_exp(tmp, big2, big2180, bn_ctx) || - !BN_div(np_factor, NULL, tmp, n, bn_ctx)) - ret = -1; + if (BN_num_bits(n) == 2048) { + if (!BN_exp(tmp, big2, big2180, bn_ctx) || + !BN_div(np_factor, NULL, tmp, n, bn_ctx)) + ret = -1; + } else {/* Calculate 4096 np_factor = 2^4228 div n */ + if (!BN_exp(tmp, big2, big4228, bn_ctx) || + !BN_div(np_factor, NULL, tmp, n, bn_ctx)) + ret = -1; + } *modulusp = n; *exponent_BN = e; @@ -690,6 +698,7 @@ BN_free(big32); BN_free(big4100); BN_free(big2180); + BN_free(big4228); BN_free(r); BN_free(tmp); BN_free(big2_32); -- Gitblit v1.6.2