Código
package RSA; import java.math.BigInteger; import java.util.Random; import java.util.ArrayList; import ClavePublica.ClavePublica; import ClavePrivada.ClavePrivada; import Euler.Euler; /** * Codificación en RSA * * Autor: Tronos154 */ public class RSA { char letra; int letra2 = 0; int contador = 0; while (contador < texto.length()) { letra = texto.charAt(contador); letra2 = letra; textoEncriptado = textoEncriptado + (numero.modPow(clavePublica, modulo)).toString() + " "; contador++; } return textoEncriptado; } char letra = 0; for (int i = 0; i < textoEncriptado.length(); i++) { if (textoEncriptado.charAt(i) == 32) { letra = (char) (int) (numero.modPow(clavePrivada, modulo).longValue()); textoDesencriptado = textoDesencriptado + letra; textoAlmacen = ""; } else { textoAlmacen = textoAlmacen + textoEncriptado.charAt(i); } } return textoDesencriptado; } }
Librerías que se han creado para el programa:
Clave Publica:
Código
package ClavePublica; import java.math.BigInteger; import java.util.ArrayList; import java.util.Random; /** * Generador Clave Publica * * * Autor : Tronos154 * */ public class ClavePublica { while (enc == false && Euler2.compareTo(ONE) == 1) { if ((euler.gcd(Euler2)).toString().equals("1")) { enc = true; } else { Euler2 = Euler2.subtract(ONE); } } return Euler2; } }
Clave Privada:
Código
package ClavePrivada; import java.math.BigInteger; /** Clave Privada * * Autor : Tronos154 * */ public class ClavePrivada { return clavePrivada; } }
Función Euler :
Código
package Euler; import java.math.BigInteger; import java.util.ArrayList; /** * * Autor : Tronos154 */ public class Euler { BigInteger Euler; Euler = (primo1.subtract(ONE)).multiply(primo2.subtract(ONE)); return Euler; } }