Dan Bolens

Greenhorn

Posts: 25

posted 5 years ago

Hey guys,

So my latest project involves RSA encryption and decryption. I build the bare bones of the program, but now need to change some variable elements to complete the assignment, and I'm having some trouble.

My code is currently this:

Right now, all variables are specifically declared, but I need them to be generated.

1. P and Q need to be randomly generated primes (between 3 and 128)

2. Use Z ((P-1) * (Q-1)) to randomly generate an e which:

A. 1 < E < Z

B. E and phiPQ are relatively prime (relatively prime means that gcd(E, phiPQ) == 1)

C. There may be several candidates for E, so pick the smallest one

and finally,

3. Generate D ((DE-1) is evenly divisible by phiPQ)

I don't necessarily want the code here, but I'm just not sure how I can take what I have above and now modify it to accept what needs to be generated.

So my latest project involves RSA encryption and decryption. I build the bare bones of the program, but now need to change some variable elements to complete the assignment, and I'm having some trouble.

My code is currently this:

Right now, all variables are specifically declared, but I need them to be generated.

1. P and Q need to be randomly generated primes (between 3 and 128)

2. Use Z ((P-1) * (Q-1)) to randomly generate an e which:

A. 1 < E < Z

B. E and phiPQ are relatively prime (relatively prime means that gcd(E, phiPQ) == 1)

C. There may be several candidates for E, so pick the smallest one

and finally,

3. Generate D ((DE-1) is evenly divisible by phiPQ)

I don't necessarily want the code here, but I'm just not sure how I can take what I have above and now modify it to accept what needs to be generated.

Campbell Ritchie

Marshal

Posts: 55717

163

posted 5 years ago

You can’t do all that lot at once, so don’t even try. One bit at a time. Do you know how to generate prime numbers? If not google for Sieve of Eratosthenes. Use that to remove non‑primes from an array with 128 elements.

Then you can create a new prime number array and use a Random object to select from that array. If you use that in high‑security settings, there is a SecureRandom class. You might be able to use methods of the BigInteger class to find prime numbers.

Then you can create a new prime number array and use a Random object to select from that array. If you use that in high‑security settings, there is a SecureRandom class. You might be able to use methods of the BigInteger class to find prime numbers.

Shankar murthy

Greenhorn

Posts: 1