Esempio n. 1
0
  public String encrypt(String text) {
    String expandedText = expander.shuffle(text);

    DESDriver.print("After expansion: " + expandedText);
    long expandedR = Long.parseLong(expandedText, 2);
    long roundKeyi = Long.parseLong(roundKey, 2);
    expandedR = expandedR ^ roundKeyi;
    DESDriver.print("XOR'd with: " + roundKey);

    String XORdText = toBinaryString(expandedR, 48);

    DESDriver.print("After XOR: " + XORdText);

    String[] sixBitBlocks = splitter(XORdText);

    String thirtyTwo = "";
    for (int i = 0; i < 8; i++) {
      thirtyTwo += sBoxes[i].transform(sixBitBlocks[i]);
    }

    DESDriver.print("After S-Boxs: " + thirtyTwo);
    thirtyTwo = permutation.shuffle(thirtyTwo);

    DESDriver.print("After Shuffle: " + thirtyTwo);

    return thirtyTwo;
  }