Tweaked Square Roots and Rabin-Williams
An older copy of P1363 Public Key Cryptography was used below. In may (or may not) reflect the current state of affairs.

It also uses Bernstein's RSA signatures and Rabin–Williams signatures: the state of the art.




  Do tweaked roots violate P1363? What I might be really asking is, does an exponent of 2 run afoul of P1363, but I'm not sure at the moment.


No. The requirements IEEE places on them in 8.1.3.2 RW key pairs is:


  An RW public key consists of a modulus n, which is the product of two
  odd positive prime integers p and q, such that p ≡⁄ q (mod 8), and an
  even public exponent e (2 ≤ e &lt; n), which is an integer relatively
  prime to (p – 1)(q – 1)/4. [Note that these conditions imply that p ≡
  q ≡ 3 (mod 4); moreover, one of the primes is congruent to 3 (mod 8)
  and the other is congruent to 7 (mod 8).]


So IEEE requirements are witness to tweaked roots.




  If I load a private key generated by another library and it does not satisfy the conditions on p and q, then what are the remaining options? Is it principal roots and Jacobi?


If its satisfies IEEE requirements, then one prime ⊂ 3 + 8Z, and the other prime ⊂ 7 + 8Z.

If I relax requirements to those surveyed by Bernstein, then I only need to satisfy p, q ⊂ 3 + 4Z. In this case, the efficiency of tweaked roots is lost and it looks like Jacobi is needed.



While its not readily apparent, Jacobi is needed for the blinding that gets applied. Its not strictly required for the mathematics, but it is needed for the cryptography. You can see an example of it in practice in Sidorov's Breaking the Rabin-Williams digital signature system...:

do
{
    r.Randomize(rng, Integer::One(), m_n - Integer::One());
    rInv = modn.MultiplicativeInverse(r);
}
while (rInv.IsZero() || (Jacobi(r % m_p, m_p) == -1) || (Jacobi(r % m_q, m_q) == -1));