Tool to decrypt/encrypt with circular bit shift, a function that shifts all bits of a binary value thanks to a rotation operation.

Circular Bit Shift - dCode

Tag(s) : Modern Cryptography

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

The Circular Bit Shift encryption uses data in binary format, such as the ASCII encoding.

__Example:__ `DCODE` is coded in binary ASCII `01000100 01000011 01001111 01000100 01000101` or `44 43 44 45 4F` in hexadecimal.

The encryption starts by cutting the binary data into blocks of size `B` bits (if B=8 then the shift is applied to each byte) and for each block, making it undergo a circular rotation of `N` bits (+1 = shift left, -1 = shift right).

__Example:__ `01000100` shifted by N=-1 becomes `00100010` (the right bit is moved on the left).

The message `DCODE` split into 8bits blocks and shifted by N=-1 becomes `00100010 10100001 10100111 00100010 10100010` or `22 A1 A7 22 A2` in hexadecimal.

For a block size B, an offset of -X or B-X is identical (modulo B).

Decryption requires knowing the settings (block size and offset) used. It is identical to encryption except for the offset N which takes the opposite value (encryption with N = 1 is equivalent to decryption with N = -1).

__Example:__ The binary message `00100010 10100001 10100111 00100010 10100010` encrypted with an offset of 1 bit.

`00100010` is shifted by N=1 as `01000100` (the left bit is moved on the right).

The message becomes `01000100 01000011 01001111 01000100 01000101` that is ASCII values for `DCODE`.

The message is usually presented in a raw format or at best in hexadecimal or binary format, as the characters resulting from the processing are not always printable characters.

Test all possible block sizes and offsets and keep those that show ASCII values of alphanumeric characters.

dCode attempts common sizes (binary numbers from 2 to 10 bits, multiples of 4 up to 40, multiples of 32 up to 128 bits) at all their shifts and displays most probable results.

dCode retains ownership of the "Circular Bit Shift" source code. Except explicit open source licence (indicated Creative Commons / free), the "Circular Bit Shift" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Circular Bit Shift" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Circular Bit Shift" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!

Reminder : dCode is free to use.

The copy-paste of the page "Circular Bit Shift" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!

Exporting results as a .csv or .txt file is free by clicking on the *export* icon

Cite as source (bibliography):

*Circular Bit Shift* on dCode.fr [online website], retrieved on 2024-08-13,

circular,rotation,shift,bit,binary

https://www.dcode.fr/circular-bit-shift

© 2024 dCode — El 'kit de herramientas' definitivo para resolver todos los juegos/acertijos/geocaching/CTF.

Feedback