Есть два представления для закрытого ключа RSA (см. PKCS # 1 ).
Первое представление состоит из пары (n, d), второе представление состоит изпятикратный (p, q, dP, dQ, qInv).Открытый ключ представлен как (n, e).
- n - открытый модуль
- p и q - два простых числа
- d - частный показатель
- e - публичный показатель
- dP - коэффициент теоремы китайского остатка p (e · dP (1 (mod (p - 1))) *
- dQ - коэффициент CRT q(e · dQ ≡ 1 (mod (q - 1)))
- qInv - коэффициент CRT, положительное целое число меньше p, такое что q · qInv ≡ 1 (mod p)
Каждое из двух представлений закрытого ключа является «полным», т. Е. Вам нужно только одно из них, чтобы иметь возможность выполнять вычисления RSA.Поскольку у вас есть все, что необходимо для первого представления, достаточно установить эти параметры (т. Е. N, p, q, e, d) только для вашего экземпляра RSAParameters
и пропустить остальные.