Secure network file tansmission using authenticated encryption.
NetCrypt is a small Open Source tool providing authentication, confidentiality and integrity validation while still maintaining top-notch performance and transfer speed between machines. No public key distribution is required: NetCrypt is designed to use a symmetric passphrase with a strong key-derivation-function.
Have you ever wanted to quickly copy files or devices between different machines over the network?
You can use tools like netcat. However, netcat transmision is insecure and doesn't provide any kind of authentication or confidentiality.
One might additionally use the OpenSsl enc cmdline utility to provide confidentiality,
but that does not support authenticated encryption and the transmission happens without integrity validation.
Using OpenSSH provides all that, but unfortunately, SSH and SFTP is unbearably slow when using a secure cipher.
NetCrypt seeks to fulfill all those requirements.
In it's default configuration, it uses the AES-256-GCM cipher with a PBKDF2 key iteration count of 32000 rounds.
git clone https://github.com/TcShadowWalker/NetCrypt NetCrypt mkdir NetCrypt/build cd NetCrypt/build cmake .. makeIf you don't have git, you can also retrieve the source package from github in a zipfile.
export NETCRYPT_PASSPHRASE="yourPassphrase" netcrypt -l port -i input_file.txt netcrypt -h target_host -p port -o output.txt # Copying directories (bzip2 compressed): tar -cj . | netcrypt -l port netcrypt -h target_host -p port | tar -xjNetCrypt uses TCP/IP to establish a connection between clients. The machine that is listening to incomming connections must be reachable from the client. NetCrypt can also be used as a simple peer-to-peer filesharing client, offering high speed without requiring a long setup. It offers both IPv4 and IPv6 connectivity. NetCrypt is an secure alternative to netcat, but might also supplement SFTP or SSH for file-transfer.