Modifying the "TestSignWithPublicMetadata" test function take in a boolean that indicates whether RSA public exponent should be used for computations.

PiperOrigin-RevId: 549749478
diff --git a/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc b/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc
index 19bab75..c2f55df 100644
--- a/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc
+++ b/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc
@@ -274,7 +274,8 @@
 
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string blinded_signature,
-      TestSignWithPublicMetadata(blinded_message, public_metadata, *rsa_key_));
+      TestSignWithPublicMetadata(blinded_message, public_metadata, *rsa_key_,
+                                 /*use_rsa_public_exponent=*/true));
   EXPECT_NE(blinded_signature, blinded_message);
   EXPECT_NE(blinded_signature, message);
 
@@ -306,7 +307,7 @@
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string blinded_signature,
       TestSignWithPublicMetadata(blinded_message, empty_public_metadata,
-                                 *rsa_key_));
+                                 *rsa_key_, /*use_rsa_public_exponent=*/true));
   EXPECT_NE(blinded_signature, blinded_message);
   EXPECT_NE(blinded_signature, message);
 
@@ -337,8 +338,8 @@
 
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string blinded_signature,
-      TestSignWithPublicMetadata(blinded_message, public_metadata_2,
-                                 *rsa_key_));
+      TestSignWithPublicMetadata(blinded_message, public_metadata_2, *rsa_key_,
+                                 /*use_rsa_public_exponent=*/true));
   EXPECT_NE(blinded_signature, blinded_message);
   EXPECT_NE(blinded_signature, message);
 
@@ -401,7 +402,8 @@
 
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string blinded_signature,
-      TestSignWithPublicMetadata(blinded_message, public_metadata, *rsa_key_));
+      TestSignWithPublicMetadata(blinded_message, public_metadata, *rsa_key_,
+                                 /*use_rsa_public_exponent=*/true));
   EXPECT_NE(blinded_signature, blinded_message);
   EXPECT_NE(blinded_signature, message);
 
diff --git a/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc b/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc
index fad236a..32fe85e 100644
--- a/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc
+++ b/quiche/blind_sign_auth/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc
@@ -182,7 +182,8 @@
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string potentially_insecure_signature,
       TestSignWithPublicMetadata(encoded_message, public_metadata,
-                                 *private_key_));
+                                 *private_key_,
+                                 /*use_rsa_public_exponent=*/true));
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       auto verifier, RsaSsaPssVerifier::New(salt_length_, sig_hash_, mgf1_hash_,
                                             public_key_, public_metadata));
@@ -203,7 +204,8 @@
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string potentially_insecure_signature,
       TestSignWithPublicMetadata(encoded_message, public_metadata,
-                                 *private_key_));
+                                 *private_key_,
+                                 /*use_rsa_public_exponent=*/true));
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       auto verifier, RsaSsaPssVerifier::New(salt_length_, sig_hash_, mgf1_hash_,
                                             public_key_, public_metadata_2));
@@ -228,7 +230,8 @@
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string potentially_insecure_signature,
       TestSignWithPublicMetadata(encoded_message, public_metadata,
-                                 *private_key_));
+                                 *private_key_,
+                                 /*use_rsa_public_exponent=*/true));
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       auto verifier,
       RsaSsaPssVerifier::New(salt_length_, sig_hash_, mgf1_hash_, public_key_,
@@ -253,7 +256,8 @@
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string potentially_insecure_signature,
       TestSignWithPublicMetadata(encoded_message, public_metadata,
-                                 *private_key_));
+                                 *private_key_,
+                                 /*use_rsa_public_exponent=*/true));
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       auto verifier,
       RsaSsaPssVerifier::New(salt_length_, sig_hash_, mgf1_hash_, public_key_));
@@ -277,7 +281,8 @@
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       std::string potentially_insecure_signature,
       TestSignWithPublicMetadata(encoded_message, public_metadata,
-                                 *private_key_.get()));
+                                 *private_key_.get(),
+                                 /*use_rsa_public_exponent=*/true));
   ANON_TOKENS_ASSERT_OK_AND_ASSIGN(
       auto verifier, RsaSsaPssVerifier::New(salt_length_, sig_hash_, mgf1_hash_,
                                             public_key_, public_metadata));
diff --git a/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.cc b/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.cc
index a35307b..572f717 100644
--- a/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.cc
+++ b/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.cc
@@ -71,7 +71,7 @@
 
 absl::StatusOr<std::string> TestSignWithPublicMetadata(
     const absl::string_view blinded_data, absl::string_view public_metadata,
-    const RSA& rsa_key) {
+    const RSA& rsa_key, const bool use_rsa_public_exponent) {
   if (blinded_data.empty()) {
     return absl::InvalidArgumentError("blinded_data string is empty.");
   } else if (blinded_data.size() != RSA_size(&rsa_key)) {
@@ -80,10 +80,17 @@
         " actual blind data size = ", blinded_data.size(), " bytes."));
   }
   // Compute new public exponent using the public metadata.
-  ANON_TOKENS_ASSIGN_OR_RETURN(
-      bssl::UniquePtr<BIGNUM> new_e,
-      ComputeExponentWithPublicMetadataAndPublicExponent(
-          *RSA_get0_n(&rsa_key), *RSA_get0_e(&rsa_key), public_metadata));
+  bssl::UniquePtr<BIGNUM> new_e;
+  if (use_rsa_public_exponent) {
+    ANON_TOKENS_ASSIGN_OR_RETURN(
+        new_e,
+        ComputeExponentWithPublicMetadataAndPublicExponent(
+            *RSA_get0_n(&rsa_key), *RSA_get0_e(&rsa_key), public_metadata));
+  } else {
+    ANON_TOKENS_ASSIGN_OR_RETURN(
+        new_e, ComputeExponentWithPublicMetadata(*RSA_get0_n(&rsa_key),
+                                                 public_metadata));
+  }
 
   // Compute phi(p) = p-1
   ANON_TOKENS_ASSIGN_OR_RETURN(bssl::UniquePtr<BIGNUM> phi_p, NewBigNum());
diff --git a/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.h b/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.h
index adea664..777e071 100644
--- a/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.h
+++ b/quiche/blind_sign_auth/anonymous_tokens/cpp/testing/utils.h
@@ -80,7 +80,7 @@
 // anonympous_tokens/public/cpp/crypto
 absl::StatusOr<std::string> TestSignWithPublicMetadata(
     absl::string_view blinded_data, absl::string_view public_metadata,
-    const RSA& rsa_key);
+    const RSA& rsa_key, bool use_rsa_public_exponent);
 
 // Returns the IETF test example from
 // https://datatracker.ietf.org/doc/draft-irtf-cfrg-rsa-blind-signatures/