Q: Can I share files with Crosspass?
Answer
Yes, if you are being creative. Crosspass can be combined with other encryption tools to safely transfer files and directories of large sizes. The strategy is to first encrypt the files using standard tools with a strong password, and then to share that password via Crosspass.
The simplest way is to place the files of interest into a strongly encrypted ZIP archive. This kind of archive can be opened on all platforms without any additional software. However, special utility is needed to create such a ZIP file. The simplest utility that can do this via the command line is 7-zip.
In order to adequately protect your ZIP file, you should use a password of at least 44 random characters. Why so long? AES-256 encryption, which is used for strongly encrypted ZIP files, relies on a long encryption key. This key is generated from your password, so you need to provide a password with enough randomness to create a secure key.
You can generate a 44-character password using the 1Password online password generator.
Using Keka on macOS
Use Keka to create strongly encrypted ZIP files on a Mac. You can download it for free from its website; the version in the App Store is not free. Here’s an example of how to set a password and select strong encryption in Keka:
Once you have configured the Keka window, drag and drop the folder or file you wish to archive onto it. It will pop up a warning, but you can ignore it. The warning says that strong compression is not supported by other operating systems. Don’t be confused by this, for support for extracting the contents of such archives is indeed built-in on Windows and macOS.
Using macOS Terminal
Sometimes, using CLI tools is easier than using apps. Here’s how to create a compressed, strongly encrypted archive on the command line. First, open the Terminal app in macOS. Install Homebrew if you don’t have it already.
Install these packages:
brew install pwgen p7zip
Generate a strong, 44-character password via CLI:
pwgen -s 44 1
To encrypt a folder called Example
which is in your Documents
directory:
7z a -tzip -mem=AES256 -p archive.zip ~/Documents/Example
If you just want to encrypt one or more files, you can list them one by one:
7z a -tzip -mem=AES256 -p archive.zip file1.docx file2.pdf file3.txt
This command will prompt for a password. Paste the long password from the previous output.
From here, the best way is to upload the archive to Google Drive or Dropbox, and share the link to it. Emailing the file is not a good idea: because it can’t be scanned for viruses (it’s encrypted), the email may get marked as suspicious.
Finally, use Crosspass to send the password with which you encrypted the archive.
Full example:
$ mkdir ~/Documents/Example
$ echo "hello world" > ~/Documents/Example/hello.txt
$ pwgen -s 44 1
EvNp50wVFZY2lk0UDUGPq5xPKkchEKo8Juc1gHGP4izj
$ 7z a -tzip -mem=AES256 -p archive.zip ~/Documents/Example
7-Zip [64] 17.04 : Copyright (c) 1999-2021 Igor Pavlov : 2017-08-28
p7zip Version 17.04 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)
Scanning the drive:
1 folder, 1 file, 12 bytes (1 KiB)
Creating archive: archive.zip
Items to compress: 2
Enter password (will not be echoed):
Verify password (will not be echoed) :
Files read from disk: 1
Archive size: 358 bytes (1 KiB)
Everything is Ok
$ ls -l archive.zip
-rw-r--r-- 1 boris staff 358 Jun 1 14:59 archive.zip