Avatar billede tommyjakobsen Nybegynder
31. marts 2006 - 09:43 Der er 5 kommentarer

RSA dekrypterings eksponent d - c++

Hej eksperten :)

I am working on a small RSA encryption/decryption program in a school
project (using c++) and I'm kind of stuck because i can't figure out
how to calculate the decryption exponent d.
Keep in mind that my program doesn't use very large primes - it's sort
of a bit simplified in this respect.
My main problem revolves around how to implement a calculation of d in
my program. I can't figure out how to code this. According to various
sources i've used, d is calculated like this:

d = e^-1 (mod phi(n))

As far as I have been able to find out this means that

d mod phi(n) = e^-1 mod phi(n)

But as im not that experienced in advanced mathematics i don't really
know if this is true.

Anyway can anyone explain to me how i calculate d using c++ code or
just in plain easy-to-understand mathematics?

I have used the following numbers:

p = 37
q = 89
n = p*q = 37*89 = 3293
phi(n) = (p-1)(q-1) =3168
e = 25

thx in advance :)

quote fra http://groups.google.com/group/sci.crypt/browse_thread/thread/882e816f76e2b919/9af00b698ea2b2f2#9af00b698ea2b2f2
i må gerne svare på dansk :)

TJakobsen
Avatar billede soreno Praktikant
31. marts 2006 - 09:55 #1
Jeg lavede engang dette (i java):

  private void calculateD() {
    for (int i = 1; i < m; i++) {
      if (((e * i) % m) == 1) {
        d = i;
      }
    }
  }

Jeg kan ikke huske hvad der sker, men
kan du ikke lige prøve om koden virker ?
Avatar billede tommyjakobsen Nybegynder
31. marts 2006 - 10:09 #2
Det vil jeg gerne prøve - men hvad er m, og er e det samme som i vores eksempel?
Kan du huske noget om hvordan du kom frem til dette?
Avatar billede soreno Praktikant
31. marts 2006 - 10:16 #3
m = (p - 1) * (q - 1);
e er det samme som i dit eksempel.

Jeg kørte lige programmet, det giver:
d = 2281

Jeg kan huske at jeg fandt en side på nettet hvor der var en step-by-step opskrift på hvordan beregningen skulle laves. Muligvis (formentlig) fandt jeg også noget eksempel kode.
Avatar billede tommyjakobsen Nybegynder
31. marts 2006 - 10:24 #4
Mange tak for hjælpen, troede ikke det kunne gøres så simpelt, men det er kun dejligt :)

Hvis du engang komme i tanke om hvad den side hed, må du meget gerne poste den her.
Avatar billede soreno Praktikant
31. marts 2006 - 10:28 #5
Jeg tror det var i 2003, eller sådan noget, jeg lavede det.
Jeg har sikkert bare søgt på:
rsa algorithm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester