С традиционным симметричным шифрованием это невозможно - вам нужно зашифровать файл точно таким же ключом, с которым он будет расшифрован.
То, что вам нужно, это асимметричная криптография или криптография на основе открытого ключа, используемая в PGP и SSL. В асимметричных алгоритмах у вас есть пара ключей: один для шифрования (открытый), другой для дешифрования (частный). Ключ шифрования можно сделать общедоступным, и любой может его использовать. (Кстати, как работает HTTPS.)
К сожалению, я не знаю ни о каких программах типа "архив"/"контейнер", которые работают таким образом, в основном потому, что довольно сложно создать надежные архивы только для добавления - либо вы должны хранить метаданные в незашифрованном виде, либо вы сталкиваетесь с серьезные риски повреждения данных. Тем не менее, это работает хорошо, если у вас есть только один выходной файл на вход, например ...
...Одна из возможностей - установить переносную GnuPG, бесплатную реализацию PGP, и написать скрипт для автоматического шифрования файлов во "временную" папку. Позже в безопасном месте вы можете снова расшифровать эти файлы с помощью GnuPG и переместить их в свой контейнер TrueCrypt.
Например, этот скрипт .cmd
будет шифровать все файлы, перетаскиваемые на него:
@echo off & setlocal
:: I assumed a USB stick, so here %~d0 will expand to the drive letter.
:: Where this script looks for GnuPG
set GNUPGDIR=%~d0\Apps\GnuPG
:: Where GnuPG looks for its keyrings
set GNUPGHOME=%~d0\Private\GnuPG
:: Where the encrypted files are put
set DESTDIR=%~d0\Private\Encrypted
:: Your PGP key ID or email
set RECIPIENT=grawity@gmail.com
if not exist "%DESTDIR%" mkdir "%DESTDIR%"
:loop
if "%~1"=="" goto :eof
echo Encrypting "%~1"
"%GNUPGDIR%\gpg" -r "%RECIPIENT%" -e -o "%DESTDIR%\%~nx1.gpg" "%~1"
:next
shift
goto :loop