/** * Returns all phases of encoding and encrypting in a String * * @param msg String messge to be encrypted * @param exp BigInteger exponend * @param mod BigInteger modulo * @return String */ public String getEnCrypted(String msg, BigInteger exp, BigInteger mod) { StringBuilder s = new StringBuilder(); AlphabetNum alpha = new AlphabetNum(); EncryptDecrypt encrypter = new EncryptDecrypt(); // --------------------- enCoding------------------------- Integer[] numberMessage = enCode(msg); s.append(msg + "\n\n"); s.append(alpha.getLetters() + "\n\n"); s.append("Type 1 encoded text:\n"); for (Integer integer : numberMessage) { s.append(integer.toString() + " "); } // ------------------------enCrypting----------------------- s.append("\n\nEncrypting:\n"); for (int i = 0; i < numberMessage.length; i++) { CalculationPhase phase = new CalculationPhase(new BigInteger(numberMessage[i].toString()), exp); s.append(phase.getAll(mod)); s.append("\n\n"); } s.append("Encrypted: \n"); BigInteger[] enCrypted = new BigInteger[numberMessage.length]; String[] enCryptedLetters = new String[enCrypted.length]; for (int i = 0; i < enCrypted.length; i++) { enCrypted[i] = (encrypter.encrypt(numberMessage[i], exp, mod)); enCryptedLetters[i] = alpha.stringOfNumbersToLetters(enCrypted[i].toString()); s.append(enCrypted[i] + " "); } // -------------------------to cryptotext---------------------- s.append("\n\n" + alpha.getNumbers()); s.append("\n\nCryptotext: \n"); for (String string : enCryptedLetters) { s.append(string + " "); } return s.toString(); }
/** * Encodes and encrypts a message and returns cryptotext as a String. * * @param msg String messge to be encrypted * @param exp BigInteger exponend * @param mod BigInteger modulo * @return String */ public String getEnCryptedSecure(String msg, BigInteger exp, BigInteger mod) { StringBuilder sB = new StringBuilder(); AlphabetNum alpha = new AlphabetNum(); EncryptDecrypt encrypter = new EncryptDecrypt(); // --------------------- enCoding------------------------- Integer[] numberMessage = enCode(msg); // ------------------------enCrypting----------------------- BigInteger[] enCrypted = new BigInteger[numberMessage.length]; String[] enCryptedLetters = new String[enCrypted.length]; for (int i = 0; i < enCrypted.length; i++) { enCrypted[i] = (encrypter.encrypt(numberMessage[i], exp, mod)); enCryptedLetters[i] = alpha.stringOfNumbersToLetters(enCrypted[i].toString()); } // -------------------------to cryptotext---------------------- for (String string : enCryptedLetters) { sB.append(string + " "); } return sB.toString().trim(); }