Nodes/ComfyUI ARG Toolkit/Rotate-18 Cipher
ComfyUI Node

Rotate-18 Cipher

Letters get ROT13, digits get ROT5, everyone's rotated

By AzelusLightvale·Created 12 months ago·Updated 5 days ago· 1
Rotate-18 Cipher
    • encrypted_txt
    textHello World!
    alphabetENGLISH
    modetrue
    keep_formattingtrue

    ROT18 is what you get when you run ROT13 on the letters and ROT5 on the digits in one pass. It's not a rotation by 18 places - despite the name, there's no 18-step alphabet shift - it's a composite: letters shift 13, numbers shift 5. Both halves are self-inverse, so the whole thing is self-inverse too: run ROT18 twice and you're back to the original message. The Rot18 node packages that up for you inside ComfyUI.

    Why would you reach for it? Because it's the "scramble everything, both text and numbers" option. ROT13 alone leaves digits untouched, which means a clue containing dates or IDs stays suspiciously legible. ROT5 alone leaves words readable. ROT18 hides both at once while staying a fixed, keyless, one-step operation - the kind of light obscurity a puzzle maker uses for a mid-tier clue, or a workflow builder uses to obfuscate a numeric seed before passing it along.

    The inputs are the pack's standard classical template with no key (the rotation is fixed):

    • text - the message, plain string, multiline.
    • alphabet - ENGLISH by default. Leave it; the composite behavior assumes the standard 26-letter alphabet.
    • mode - encrypt or decrypt. Identical operations again - the toggle is cosmetic, a side effect of the self-inverse property.
    • keep_formatting - on by default: case and punctuation preserved; only letters and digits transform. Off: lowercase, no spaces.

    Output is encrypted_txt, a STRING.

    It sits with the other Rot* nodes under ARG Toolkit/Cryptography/Classical. Install via ComfyUI Manager (search "ComfyUI ARG Toolkit"), restart, done:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AzelusLightvale/ComfyUI-ARG-Toolkit
    

    No model downloads; the pack's secretpy dependency handles the actual cipher work and installs automatically.

    A useful trick if you're on the solving side: ROT18 is just two independent rotations stacked, so you can attack the digits and letters separately. Run a suspected ROT18 string through a plain ROT13 to un-scramble the letters, then ROT5 to un-scramble the numbers - or use this node twice, since it's its own undo. And the usual amateur-project caveat applies: the pack's tests cover the common cases, so keep inputs to normal alphanumeric text and this node will never surprise you, because there's genuinely nothing about it that can surprise you.

    CategoryARG Toolkit/Cryptography/Classical

    Inputs (4)

    NameTypeDefaultDescription
    textSTRINGHello World!
    alphabetSTRINGENGLISHInput your alphabet here. If left blank, uses the alphabet default to the cipher. Uses standard connected format ('abcdef'), but can also accept the alphabets defined in secretpy in alphabets.py.
    modeBOOLEANtrueToggle between encrypting or decrypting a message.
    keep_formattingBOOLEANtrueToggle between preserving the format of the message or remove all spaces, punctuations, and convert to lowercase.

    Outputs (1)

    NameTypeDescription
    encrypted_txtSTRING