Fork me on GitHub
NetCrypt

NetCrypt

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.

NetCrypt is published under the GNU General Public License.
You can clone the Git repository from Github.
To build NetCrypt, use:
git clone https://github.com/TcShadowWalker/NetCrypt NetCrypt
mkdir NetCrypt/build
cd NetCrypt/build
cmake ..
make
If you don't have git, you can also retrieve the source package from github in a zipfile.
NetCrypt was written by Jan-Philip Stecker.
If you have suggestions, bugreports or code patches, either submit them to the Github project page, or send them to: .
You can find my public GPG key here.
Downloads
Linux x86-64 executable: netcrypt
SHA-256: dc2fa78439fb54fe9673641b8da42263c739b5b57cfc37056f8737eb75c5ba1e
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 -xj
NetCrypt 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.