Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RSA_Algorithmus
- {
- Random rng;
- BigInteger p;
- BigInteger q;
- BigInteger e;
- BigInteger n;
- BigInteger d;
- BigInteger[] codBuchstabenWertArray;
- char[] klartextArray;
- String klartext;
- public RSA_Algorithmus()
- {
- rng = new Random();
- }
- public void gibSchluessel()
- {
- p = BigInteger.probablePrime (6, rng);
- rng.nextInt();
- q = BigInteger.probablePrime (6, rng);
- n = p.multiply(q);
- BigInteger phi_n = p.subtract(BigInteger.ONE).multiply(q.subtract(BigInteger.ONE));
- e = BigInteger.probablePrime (5, rng);
- while (phi_n.gcd(e).equals(BigInteger.ONE) == false)
- {
- e = BigInteger.probablePrime (5, rng);
- }
- d = e.modInverse(phi_n);
- System.out.println(" n; " + n.toString() + " e; " + e.toString() + " d; " + d.toString());
- }
- public void verschluesseln(String pKlartext)
- {
- klartext = pKlartext;
- BigInteger[] codBuchstabenWertArray = new BigInteger[klartext.length()];
- Mapping mapping = new Mapping();
- for(int i = 0; i < klartext.length(); i++)
- {
- int buchstabenWert = mapping.buchstabeInZahl(klartext.charAt(i));
- codBuchstabenWertArray[i] = buchstabenWert.modPow(e,n);
- System.out.println(codBuchstabenWertArray[i]);
- }
- }
Add Comment
Please, Sign In to add comment