コード例 #1
0
  /**
   * Returns all phases of decrypting and decoding in a String
   *
   * @param msg String
   * @param exp BigInteger
   * @param mod BigInteger
   * @return String
   */
  public String getDeCrypted(String msg, BigInteger exp, BigInteger mod) {
    StringBuilder s = new StringBuilder();
    AlphabetNum alpha = new AlphabetNum();
    EncryptDecrypt decrypter = new EncryptDecrypt();

    // --------------------cryptotext to numbers------------------
    s.append("Cryptotext: \n");
    s.append(msg + "\n\n");
    s.append(alpha.getLetters() + "\n\n");
    msg = alpha.stringOfLettersToNumbers(msg);
    String[] stringMessage = msg.split(" "); // Message in String[]

    // ----------------------deCrypting--------------------------
    BigInteger[] numberMessage = new BigInteger[stringMessage.length];

    for (int i = 0; i < numberMessage.length; i++) {
      numberMessage[i] = new BigInteger(stringMessage[i]); // message to BigInteger[]
    }
    s.append("Encrypted message: \n");
    s.append(msg);
    s.append("\n\nDecrypting: \n");
    for (int i = 0; i < numberMessage.length; i++) {
      CalculationPhase phase = new CalculationPhase(numberMessage[i], exp);
      s.append(phase.getAll(mod));
      s.append("\n\n");
    }
    s.append("Decrypted: \n");
    Integer[] integerMessage = new Integer[numberMessage.length];
    for (int i = 0; i < numberMessage.length; i++) {
      integerMessage[i] = (decrypter.decryptToInt(numberMessage[i], exp, mod));
      s.append(integerMessage[i] + " ");
    }

    // -----------------------deCoding-------------------------------
    s.append("\n\n" + alpha.getNumbers());
    s.append("\n\nDecoded text: ");
    String unCoded = (deCode(integerMessage));
    s.append(unCoded + "\n");
    return s.toString();
  }
コード例 #2
0
  /**
   * Decrypts and decodes cryptotext to a plaintext.
   *
   * @param msg String
   * @param exp BigInteger
   * @param mod BigInteger
   * @return String
   */
  public String getDeCryptedSecure(String msg, BigInteger exp, BigInteger mod) {
    AlphabetNum alpha = new AlphabetNum();
    EncryptDecrypt decrypter = new EncryptDecrypt();

    // --------------------cryptotext to numbers------------------
    msg = alpha.stringOfLettersToNumbers(msg);
    String[] stringMessage = msg.split(" "); // Message in String[]

    // ----------------------deCrypting--------------------------
    BigInteger[] numberMessage = new BigInteger[stringMessage.length];
    for (int i = 0; i < numberMessage.length; i++) {
      numberMessage[i] = new BigInteger(stringMessage[i]); // message to BigInteger[]
    }
    Integer[] integerMessage = new Integer[numberMessage.length];
    for (int i = 0; i < numberMessage.length; i++) {
      integerMessage[i] = (decrypter.decryptToInt(numberMessage[i], exp, mod));
    }

    // -----------------------deCoding-------------------------------
    String deCoded = (deCode(integerMessage));
    return deCoded;
  }