Вот несколько возможных решений.
Судя по вашему вопросу, я предполагаю, что вы не очень хорошо разбираетесь в шифровании и пытаетесь защитить свои данные от посторонних глаз, пока они находятся в пути (флешка) между двумя компьютерами, и что вы не имеете дело с чрезвычайно чувствительными данные (например, когда жизнь некоторых людей зависит от их секретности).
Вы можете упаковать свои данные в архив и зашифровать их с помощью GnuPG.
$ tar -cvf archive.tar directory_with_data
$ gpg --symmetric archive.tar
Вам будет предложено ввести ключевую фразу, и будет создан зашифрованный файл archive.tar.gpg. На другом конце делай
$ gpg --decrypt archive.tar.gpg > archive.tar
$ tar -xvf archive.tar
расшифровать и распаковать.
Это очень быстрое и грязное решение, которое не очень хорошо масштабируется. Более надежным решением является использование EncFS.
Создайте или смонтируйте зашифрованный каталог на USB-накопителе.
$ encfs path_USB/.encrypted_directory path_machine/transparent_directory
Теперь, когда вы помещаете свои файлы в transparent_directory
они будут на лету зашифрованы в .encrypted_directory
. Размонтировать transparent_directory
$ fusermount -u path_to_transparent_directory
Пути в приведенных выше командах должны быть полными путями (а не относительными путями).
Подход EncFS более удобен и масштабируется лучше, чем предыдущий. Однако обратите внимание, что кто-то, имеющий доступ к зашифрованным данным, будет знать, сколько файлов находится в каталоге, и, в зависимости от его / его ресурсов, может также определить размер файлов и длину имен файлов. Атаки с подтверждением могут также выполняться на самих именах файлов.