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 { -t <text> | -b <bytes> } [ { –hex | –base64 | –encoding <encoding> } ] [ { [ { –prompt | -p <password> | –context <context> | -x <x0> -a <a> -s <s> } ] [ –chaos-mode <chaosMode> ] | -c <certFile> [ { –prompt | -p <password> | –context <context> } ] } ] [ –copy-to ] [ –verify ] [ -v ] [ –debug ]
chaos -d { -t <text> | -b <bytes> } [ { –base64 | –encoding <encoding> } ] [ –hex ] [ { [ { –prompt | -p <password> | –context <context> | -x <x0> -a <a> -s <s> } ] [ –chaos-mode <chaosMode> ] | -c <certFile> [ { –prompt | -p <password> | –context <context> } ] } ] [ –copy-to ] [ -v ] [ –debug ]
chaos -e [ { -i <inputFile> | –paste-from } ] [ { -o <outputFile> | –copy-to } ] [ { –base64 | –encoding <encoding> } [ –line-width <lineWidth> ] ] [ { [ { –prompt | -p <password> | –context <context> | -x <x0> -a <a> -s <s> } ] [ –chaos-mode <chaosMode> ] | -c <certFile> [ { –prompt | -p <password> | –context <context> } ] } ] [ –verify ] [ -v ] [ –debug ]
chaos -d [ { -i <inputFile> | –paste-from } ] [ { -o <outputFile> | –copy-to } ] [ { –base64 | –encoding <encoding> } ] [ { [ { –prompt | -p <password> | –context <context> | -x <x0> -a <a> -s <s> } ] [ –chaos-mode <chaosMode> ] | -c <certFile> [ { –prompt | -p <password> | –context <context> } ] } ] [ -v ] [ –debug ]
chaos –create-cert [ –line-width <lineWidth> ] [ -c <certFile> ] [ { –prompt | -p <password> | –context <context> } [ –cert-mode <certMode> ] ] [ { { –chain-length <chainLength> ? –chaos-mode <chaosMode> } | –spec-file <specFile> } ] [ -v ] [ –debug ]
chaos –cert-info -c <certFile> [ { –prompt | -p <password> | –context <context> } ] [ -v ] [ –debug ]
chaos –create-spec [ –spec-file <specFile> ] [ -v ] [ –debug ]
chaos –help | { –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 constructed from the start value -x, a parable coefficient -a and an expansion factor -sor 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

-a --parable-coefficient <a>: The chaos key’s parable coefficient <a> to use: 3.57 ≤ a ≤ 4.0
-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 --expansion-factor <s>: The chaos key’s expansion factor <s> to use: -9007199254740992 ≤ s ≤ -16 or 16 ≤ s ≤ 9007199254740991
--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 decrypts flawlessly.
-x --start-value <x0>: The chaos key’s <x0> start value to use: 0.0 < x0 ≤ 1.0

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 (BASE64 encoded) a text message and copy to clipboard:

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

Decrypt a text message (BASE64 encoded) and copy to clipboard:

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

Encrypt (BASE64 encoded) a text message using (x0, a , s):

  • chaos -e -t <text> --base64 -x <x0> -a <a> -s <s>

Decrypt a text message (BASE64 encoded) using (x0, a and s):

  • chaos -d -t <text> --base64 -x <x0> -a <a> -s <s>

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 at <https://bitbucket.org/funcodez/funcodes-chaos/issues>

AUTHOR

Siegfried Steiner steiner@refcodes.org

SEE ALSO