public static PairBitArrays CyclicShiftToRight(this PairBitArrays pairBitArrays, int countShifts) { return(new PairBitArrays( pairBitArrays.LeftBitArray.CyclicShiftToRight(countShifts), pairBitArrays.RightBitArray.CyclicShiftToRight(countShifts))); }
public static BitArray MergeSplitedBlocks(this PairBitArrays pairBitArrays, bool swapBlocks = false) { return(swapBlocks ? new[] { pairBitArrays.RightBitArray, pairBitArrays.LeftBitArray }.MergeSplitedBlocks() : new[] { pairBitArrays.LeftBitArray, pairBitArrays.RightBitArray }.MergeSplitedBlocks()); }
private PairBitArrays FeistelFunction(PairBitArrays data, BitArray key) { return(new PairBitArrays(data.RightBitArray, data.LeftBitArray.Xor(DesFunction(data.RightBitArray, key)))); }