NAME
tnt2 - a program the encrypts/decrypts files using an infinite (with respect to the plaintext) key.
Usage:
tnt2 [command]
Available Commands:
completion generate the autocompletion script for the specified shell
decrypt decrypt a TNT2 encrypted file.
encrypt encrypt plaintext using TNT2
help Help about any command
version Display version information
Flags:
--config string config file (default is $HOME/.tnt2.yaml)\n
-h, --help help for tnt2
-i, --inputFile string Name of the plaintext file to encrypt/decrypt. (default "-")
-o, --outputFile string Name of the file containing
-f, --proformaFile string Name of file containing the proforma machine to use.
-v, --version version for tnt2
Use "tnt2 [command] --help" for more information about a command.
DESCRIPTION
tnt2 is an encryption/decryption system that uses an infinite (with respect
to the plaintext) key to encrypt the data. It is based on and expands the tnt
encryption system. The differences are:
- The rotor sizes are up to 8192 bits instead of up to 2048 bits in tnt
- You can specify up to 40 rotors and 24 permutators. tnt is limited to 6 rotors and 1 permutator (applied twice).
- tnt2 by default, compresses the input file before encryption. tnt does not compress the input file.
- tnt2 supports outputting the encrypted file as binary data, ASCII85 encoded data, or PEM encoded data. tnt only outputs binary data.
- tnt2 allows changing the proforma rotors and permutators by reading in new proforma rotors from a file.
The pseudo-random generator used by tnt2 can encrypt approximately 8.165396×1065 bytes up to 8.676587×10371, depending on the number of rotors and permutators, before the generated key will repeat itself.
COMMANDS
encrypt
Encrypt plaintext using the TNT2 Infinite (with respect to the plaintext) Key Encryption System.
Usage:
tnt2 encrypt [flags]
Flags:
-c, --compress compress input file using flate
-n, --count string initial block count (default "-1")
The count can be given as a fraction of the maximum number of blocks that can be generated by the encryption engine. Using "SecretKey" as the key and "1/2" as the block count, there are 2.551686×1064 32 byte blocks that can be generated using the default 6 rotors and 2 permutators, resulting in a starting block count of 1.275843×1064.
-h, --help help for encrypt
-a, --useASCII85 use ASCII85 encoding
-p, --usePem use PEM encoding.
-w, --overWriteFile overwrite an existing output file.
Global Flags:
--config string config file (default is $HOME/.tnt2.yaml)
-i, --inputFile string Name of the plaintext file to encrypt/decrypt. (default "-")
-o, --outputFile string Name of the file containing the encrypted/decrypted plaintext.
-f, --proformaFile string the file name containing the proforma machine to use.
decrypt
decrypt a file encrypted by the TNT2 Infinite (with respect to the plaintext) Key Encryption System.
Usage:
tnt2 decrypt [flags]
Flags:
-h, --help help for decrypt
-w, --overWriteFile overwrite an existing output file.
Global Flags:
--config string config file (default is $HOME/.tnt2.yaml)
-i, --inputFile string Name of the plaintext file to encrypt/decrypt. (default "-")
-o, --outputFile string Name of the file containing the encrypted/decrypted plaintext.
-f, --proformaFile string the file name containing the proforma machine to use.
version
Display version and detailed build information for tnt2.
Usage:
tnt2 version [flags]
Flags:
-h, --help help for version
Secret Key
The secret key that is used to encrypt/decrypt the data can be supplied
in one (1) of three (3) ways, in order of security:
- The program will prompt for the secret key (most secure)
- The secret key is passed in via the tnt2Secret environment variable.
- The secret key is passwd as arguments after all the valid options (least secure)
COPYRIGHT
Copyright © 2021 Billy G. Allie
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.