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; }