RC6 cipher

Encrypt or decrypt data with RC6-32/20, ECB or CBC, hex or base64. Useful for interop, learning, and CTFs. Runs in your browser; nothing is uploaded.

Result

About this tool

RC6 cipher encrypts or decrypts data with RC6-32/20, the standard 32-bit-word, 20-round RC6 parameterisation that was an AES finalist. It supports ECB and CBC mode plus hex or base64 key / IV / ciphertext encoding.

⚠️ RC6 is not a modern default. It is interesting for interop, learning, and CTFs, but it was not standardized as AES and is rarely deployed today. For new encryption, use AES (the aes-cipher tool) or a passphrase-based authenticated-encryption tool.

Privacy

Everything runs in your browser via WebAssembly — your key and data never leave the device. Also available from the gizza CLI and in chat.

FAQ

What key sizes does RC6 accept?

Any key from 1 to 255 bytes — the RC6 key schedule expands whatever you give it into the round keys. The sizes from the AES submission are 16, 24, or 32 bytes; anything much shorter is trivially brute-forceable, so treat 16 bytes as the practical minimum.

Do I need an IV, and does it have to match on decrypt?

In CBC mode (the default), yes — a 16-byte IV encoded in your chosen format, and decryption must use the exact IV that encrypted the data. In ECB mode there is no IV at all; leave the field empty.

Why does decryption fail with a padding error?

Ciphertext is padded with PKCS#7, and a wrong key, wrong IV, wrong mode, or a ciphertext decoded with the wrong format (hex vs base64) almost always produces garbage that fails the padding check. Double-check that all four settings match the ones used to encrypt.

Will other RC6 implementations read this ciphertext?

Yes, provided they use the same parameterisation: RC6-32/20 (32-bit words, 20 rounds, 128-bit block, little-endian word loading), the same mode (CBC or ECB), and PKCS#7 padding. Those are the standard choices from the RC6 AES submission, so most libraries interoperate.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool rc6-cipher "Text to encrypt…" 'key=base64 or hex key'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/rc6-cipher/?data=Text%20to%20encrypt%E2%80%A6&operation=encrypt&cipher=cbc&key=base64%20or%20hex%20key&iv=base64%20or%20hex%20iv&format=base64

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.