Deine Formeln scheinen allerdings nicht richtig, speziell die für
dp, dq. Die sind das Inverse von e mod p-1 bzw q-1
nicht von d.
Direkt aus der Quelle: Abschnitt 5.1.2 RSADP, im
RFC 3447 PKCS #1: RSA Encryption Version 2.1:
Code:
Mit
e *
dp == 1 (mod (p-1)) also
dp = InvMod(e, p-1)
e * dq == 1 (mod (q-1)) also dq = InvMod(e, q-1)
q * qInv == 1 (mod p). also qInv = InvMod(q, p)
dann
m_1 = c^
dp mod p and m_2 = c^dq mod q
h = (m_1 - m_2) * qInv mod p
m= m_2 + q * h
m ist dann Dein Klartext k. Ich gehe davon aus, daß Du weißt wie man modulare Inverse berechnet (Stichwort: erweiterter Euklidischer Algorithmus).
Gruß Gammatester