CHAOS manpage

CHAOS(1) General Commands Manual

NAME

chaos — Encryption and decryption tool of file or stream data using Chaos-based encryption.

SYNOPSIS

chaos { -e [ --verify ] | -d } { -t <text> | -b <bytes> } [ -v ] [ --debug ] [ { --hex | --base64 | --encoding <encoding> } ] [ { { --prompt | -p <password> | --context <context> } [ --chaos-mode <chaosMode> ] | -c <certFile> [ { --prompt | -p <password> | --context <context> } ] } ]
chaos { -e [ --verify ] [ { --base64 [ --line-width <lineWidth> ] | --encoding <encoding> [ --line-width <lineWidth> ] } ] | -d [ { --base64 | --encoding <encoding> } ] } [ -i <inputFile> ] [ -o <outputFile> ] [ [ { { --prompt | -p <password> | --context <context> } [ --chaos-mode <chaosMode> ] | -c <certFile> [ { --prompt | -p <password> | --context <context> } ] } ] ] [ --debug ] [ -v ]
chaos --create-cert [ --line-width <lineWidth> ] [ -c <certFile> ] [ { --prompt | -p <password> | --context <context> } [ --cert-mode <certMode> ] ] [ { ( --chain-length <chainLength> ? --chaos-mode <chaosMode> ) | -s <specFile> } ] [ -v ] [ --debug ]
chaos --cert-info -c <certFile> [ { --prompt | -p <password> | --context <context> } ] [ -v ] [ --debug ]
chaos --create-spec [ -s <specFile> ] [ -v ] [ --debug ]
chaos -h | { --encoded-length | --sysinfo } [ -v ] [ --debug ]

DESCRIPTION

This manual page documents the chaos command: The chaos command encrypts --encrypt or decrypts --decrypt an input file --input-file (or STDIN) to an output file --output-file (or STDOUT) using a chaos key derived from a password --password or by prompting --prompt for a password or (instead of a single chaos key) by using a certificate file --cert-file (optionally being password protected as of --password or --prompt). A certificate file may represent 1..* key files and be derived --create-cert from a specification --spec-file which, after creation --create-spec, may be edited as a CSV file. See the Examples section below for usage instructions.

Depending on the executable’s flavor the command might also be named chaos-x.y.z.jar, chaos-bundle-x86_64-x.y.z.elf, chaos-bundle-x86_64-x.y.z.exe, chaos-installer-x86_64-x.y.z.msi, chaos-launcher-x.y.z.sh, chaos-launcher-x86_64-x.y.z.elf, chaos-launcher-x86_64-x.y.z.exe, chaos-native-x86_64-x.y.z.elf where x.y.z stands for the version of the chaos command. The according executable’s name will be referenced to in this manual as chaos.

OPTIONS

-b --bytes <bytes>: The message in bytes (e.g. “127, 128, 0x10, 0xFF”) which to process.
--base64: Use BASE64 encoding/decoding to be applied for handling encrypted data.
-c --cert-file <certFile>: The cert file file which to use.
--cert-info: Prints out information of a given cert.
--cert-mode <certMode>: The chaos options (mode) to be used for the cert itself: { NONE, MUTATE, XOR, MUTATE_XOR, SALTED, SALTED_MUTATE, SALTED_XOR, SALTED_MUTATE_XOR }
--chain-length <chainLength>: The length of the chaos key chain (e.g. number of nested chaos keys, deaults to <16>)
--chaos-mode <chaosMode>: The mode to be used when encrypting/decrypting: { NONE, MUTATE, XOR, MUTATE_XOR, SALTED, SALTED_MUTATE, SALTED_XOR, SALTED_MUTATE_XOR }
--context <context>: The system context providing the password: { APPLICATION, USER_APPLICATION, HOST_USER_APPLICATION, HOST_APPLICATION, USER, HOST_USER, HOST, SESSION, APPLICATION_SESSION, USER_APPLICATION_SESSION, HOST_USER_APPLICATION_SESSION, HOST_APPLICATION_SESSION, USER_SESSION, HOST_USER_SESSION, HOST_SESSION }
--create-cert: Create an according cert record (file).
--create-spec: Create an according spec record (file).
--debug: Enables the debug mode with additional (developer readable) informational output.
-d --decrypt: Decrypts the message (stream, file, text or bytes).
-e --encrypt: Encrypts the message (stream, file, text or bytes).
--encoded-length: Prints length in bytes of a single chaos key encoding (being the addional length of a salted encryption).
--encoding <encoding>: The BASE (e.g. BASE64) encoding/decoding to be applied for handling encrypted data: { BASE2, BINARY, BASE4, BASE8, OCTAL, ENCODED_AS_NUMBER, BASE16, HEXADECIMAL, BASE32, BASE64, BASE64_ARABIC, BASE64_URL }
-h --help: Shows this help.
--hex: Use a hexadecimal representation of (binary) output.
-i --input-file <inputFile>: The input file which to process from.
--line-width <lineWidth>: The line width for base64 encoded ASCII output
-o --output-file <outputFile>: The output file which to process to.
-p --password <password>: The password to use for encryption or decryption.
--prompt: Prompt for the password to use for encryption or decryption.
-s --spec-file <specFile>: The spec file file which to use.
--sysinfo: Shows some system information for debugging purposes
-t --text <text>: The text message which to process.
-v --verbose: Enables the verbose mode with additional (human readable) informational output.
--verify: Verify the encryption process to make sure encryption does decrypt flawlessly.

EXAMPLES

Encrypt (BASE64 encoded) a text message:

  • chaos -e -t <text> --base64 --prompt

Decrypt a text message (BASE64 encoded):

  • chaos -d -t <text> --base64 --prompt

Encrypt a text message with mode:

  • chaos -e -t <text> -v --chaos-mode <chaosMode>

Decrypt a text message with mode:

  • chaos -d -t <text> -v --chaos-mode <chaosMode>

Encrypt a message in bytes:

  • chaos -e -b <bytes> --hex --prompt

Decrypt a message in bytes:

  • chaos -d -b <bytes> --hex --prompt

Encrypt input file to output file (bound to context):

  • chaos -e -i <inputFile> -o <outputFile> --context <context> -v

Decrypt input file to output file (bound to context):

  • chaos -d -i <inputFile> -o <outputFile> --context <context> -v

Use password to encrypt input file to output file:

  • chaos -e -i <inputFile> -o <outputFile> -p <password> -v

Use password to decrypt input file to output file:

  • chaos -d -i <inputFile> -o <outputFile> -p <password> -v

Encrypt input file to output file, prompt for password:

  • chaos -e -i <inputFile> -o <outputFile> --prompt -v

Decrypt input file to output file, prompt for password:

  • chaos -d -i <inputFile> -o <outputFile> --prompt -v

Encrypt input file to output file with mode and password:

  • chaos -e -i <inputFile> -o <outputFile> --chaos-mode <chaosMode> -p <password> -v

Decrypt input file to output file with mode and password:

  • chaos -d -i <inputFile> -o <outputFile> --chaos-mode <chaosMode> -p <password> -v

Encrypt STDIN to output file with password:

  • chaos -e -i <inputFile> -p <password>

Decrypt input file to STDOUT with password:

  • chaos -d -o <outputFile> -p <password>

Encrypt STDIN to output file with mode for HOST_USER:

  • chaos -e -i <inputFile> --chaos-mode <chaosMode>

Decrypt input file to STDOUT with mode for HOST_USER:

  • chaos -d -o <outputFile> --chaos-mode <chaosMode>

Encrypt STDIN to STDOUT/BASE64 encoded for HOST_USER:

  • chaos -e --base64

Decrypt STDIN/BASE64 encoded to STDOUT for HOST_USER:

  • chaos -d --base64

Create and print cert with key chain length:

  • chaos --create-cert --chain-length <chainLength> -v

Create cert file with key chain length:

  • chaos --create-cert -c <certFile> --chain-length <chainLength> -v

Create secured cert file with key chain length and mode:

  • chaos --create-cert -c <certFile> --chain-length <chainLength> --chaos-mode <chaosMode> --prompt -v

Create sample cert spec file (for you to edit):

  • chaos --create-spec -s <specFile> -v

Create secured cert file from (edited) cert spec file:

  • chaos --create-cert -c <certFile> -s <specFile> --prompt -v

Encrypt input file to output file, use secured cert:

  • chaos -e -i <inputFile> -o <outputFile> -c <certFile> --prompt -v

Decrypt input file to output file, use secured cert:

  • chaos -d -i <inputFile> -o <outputFile> -c <certFile> --prompt -v

Print cert file info:

  • chaos --cert-info -c <certFile> -v

Print secured cert file info:

  • chaos --cert-info -c <certFile> --prompt -v

Print length of single chaos key (bytes):

  • chaos --encoded-length -v

To show the help text:

  • chaos -h

To print the system info:

  • chaos --sysinfo

BUGS

See BitBucket issues: https://bitbucket.org/funcodez/funcodes-chaos

AUTHOR

Siegfried Steiner steiner@refcodes.org

SEE ALSO