There was question about encryption in Delphi/Pascal forum and a guy was suggested reversing the bits as additional step (I do not know if he in reality meant XOR 255, that is making 0's 1's and vice versa). As it keeps still same distribution of letters I suggested as better added scrambling to shift letters as whole right.
Shifting bits across byte boundary was interesting code, so I presented pseudo code and here is the implementation part. I added parameter for number of bits in letter, so this could be applicable for uni code also as the ord function works there and char function is selected according to bits per letter value. However as normal letters have tell tale 8 zero upper bits, the shift would immediately be obvious. If cracker suspects a shift, it is of course easy to reveal by proving all shifts like when breaking Caesar cipher. It does however mix up the letter frequencies, but probably not completely, as ascii values of normal ascii letters are in narrow band by which the bit shift could be revealed also.
Edited 5 Years Ago by pyTony: n/a