NIST 800-89 Recommendation for Obtaining Assurances for Digital Signature Applications has recommendations for (Explicit) Partial Public Key Validation for RSA which include an example method. It's step e reads
Not a power of a prime: Check that $n$ is not a power of a prime, i.e., there are no integers $b≥2$, $c≥2$ such that $n=b^{\,c}$. This can be done by obtaining an output of COMPOSITE AND NOT A POWER OF A PRIME using the enhanced Miller-Rabin primality test in FIPS 186-3.
The first sentence is wrong:
- The condition «Not a power of a prime» would be:
«there are no prime $b$ and integer $c≥2$ such that $n=b^{\,c}$» (A). - The condition «there are no integers $b≥2$, $c≥2$ such that $n=b^{\,c}$» (B) is a stronger condition, that could be described as «Not a power of an integer (implicitly: at least 2)».
For example, $225=3^2\cdot5^2$ matches condition (A) but not condition (B).
The second sentence is thus unclear: we are left wondering if «This» refers to (A) or (B).
Questions:
- Is that second sentence correct when «This» is taken to mean (B)? Equivalently: when the enhanced Miller-Rabin primality test returns COMPOSITE AND NOT A POWER OF A PRIME for some odd $n≥9$, does that demonstrate that there are no integers $b≥2$, $c≥2$ such that $n=b^{\,c}$?
- If no, what's a counterexample?
- Does this error in NIST 800-89 matter in practice to security?
- How efficiently can we test condition (A)?
- How efficiently can we test the stronger condition (B)?
- How efficiently can we test the even stronger (and desirable) condition
«1 is the only square divisor» (C) [update: better known as «square-free» ]?
For example, $45=3^2\cdot5$ matches conditions (A) and (B) but not (C).