RSA salakirjoituksen ydin on funktio:
A=(P^d) mod n (P potenssiin d, jaetaan n:llä ja otetaan jakojäännös)
mikä tulee voida laskea todella isoilla d ja n-arvoilla.
Oheinen ohjelma ratkaisee ko. ongelman ja laskee double tarkkuuden luvuilla ko. salakirjoituskaavan (mikä ei nyt ole paljon mitään, kunhan vain esittelin algoritmin).
Listaus 1
Private Function Power_mod_N(ByVal P As Double, ByVal d As Double, ByVal n As Double) As Double
        'A = (P ^ D) Mod N , P pitää olla pienempi kuin N
        'A = (P^e2 * P^e2 * P^e3) Mod N where D= 2*e2+e3 , e3 on 1 tai 0
        'A = ((P^e2)mod N) * ((P^e2)mod N)) * ((P^e3)mod N))Mod N
        'rekursio luuppi kunnes exponentti on yksi
        ' koska P<N niin P^1 mod N = P
        Dim e2 As Double
        Dim e3 As Double
        Dim a2 As Double
        Dim a3 As Double
        Dim a4 As Double
        Dim a5 As Double
        e2 = d \ 2
        e3 = d - 2 * e2
        If e2 = 1 Then 'recursio loppuu
            a2 = P
        Else
            a2 = Power_mod_N(P, e2, n)  'recursio jatkuu
        End If
        If e3 = 1 Then
            a3 = P 'a3=P kun e3=1
        Else
            a3 = 1 ' P^0
        End If
        'A= (a2*a2*a3) mod N
        'A=((a2*a2)mod n * a3 )mod n
        a4 = a2 * a2
        a5 = a4 Mod n
        a4 = a5 * a3
        Power_mod_N = a4 Mod n
    End Functionjoo
Aihe on jo aika vanha, joten et voi enää vastata siihen.