Recently my USB was confiscated a... disagreement, and it was scanned through and numerous project files were deleted in them. While nothing can be done now, I'd like to prevent this in the future by encrypting a USB drive.

I understand that applications like TrueCrypt can create a disk image on my USB to encrypt it, but if I'm moving around and usign or lending out the USB to other people and want to access and add in/remove files in the encrypted USB, how can I do so if TrueCrypt is not originally installed on the computer?


These steps should work,

  1. Use a FAT partition on the USB so it is accessible across platforms.
  2. Keep portable versions of Truecrypt for each OS you will use your data on.
  3. Create a encrypted volume on the same FAT partition

Now, you should be able to plug this USB on any of your platforms and use the correct portable Truecrypt binary to mount the encrypted volume, edit and close it again.

Some references,

  1. Truecrypt FAQ
  2. HowToForge TrueCrypt
  3. Article on cross platform encrypted drive using TrueCrypt

FreeOTFE is a lot like TrueCrypt but comes with another piece of software, FreeOTFE Explorer, that allows you to browse the drive without having administrator privileges.

From their website:

Highly portable - Not only does FreeOTFE offer "portable mode", eliminating the need for it to be installed before use, it also offers FreeOTFE Explorer - a system which allows FreeOTFE volumes to be accessed not only without installing any software, but also on PCs where no administrator rights are available. This makes it ideal for use (for example) with USB flash drives, and when visiting Internet Cafés (AKA Cybercafés), where PCs are available for use, but only as a "standard" user.

In addition, you may also consider reading the Lifehacker guide to locking down a flash drive.

Another option you may like is to conduct everything over SSH. Despite leaving the data on a live computer, you get the added benefit of access control and letting different people use different passwords.

Just promise me, though, you won't be helping al Qaeda with this encryption ;-).


You don't have to encrypt the entire USB. Use a trucrypt container (just a file on the USB) and have truecrypts portable version on the same USB.

  • Well... ... I'm using a Mac at where I am right now so unfortunately cannot use a portable .exe TrueCrypt on a USB. :\ – flemmings Dec 14 '10 at 12:29
  • @flemmings TrueCrypt is available on a Mac. Go to their website. – digitxp Dec 14 '10 at 12:35
  • 1
    Truecrypt portable still requires administrator privileges, however. Truecrypt Explorer, which doesn't, hasn't been developed for years. – digitxp Dec 14 '10 at 12:36

If you have Windows 7 you could use bitlocker.



If you want cross-platform encryption (Windows-Mac anyway), I recommend getting a DataTravlere Locker+ from Kingston. It encrypts your data at the hardwarelevel.


Also take a look at IronKey. They support encryption in the hardware.


I second nik Also, You should try and stay away from using soft wares if you plan on using this in business. common software encryption is VERY easy to crack, and i can not stress that enough. (added explanation for the down voter). _

A hacking organization, that i am in no way affiliated with, uses symmetric encryption.

A weak forms of symmetric encryption is: Source (http://support.microsoft.com/kb/246071) "Symmetric encryption is the oldest and best-known technique. A secret key, which can be a number, a word, or just a string of random letters, is applied to the text of a message to change the content in a particular way. This might be as simple as shifting each letter by a number of places in the alphabet. As long as both sender and recipient know the secret key, they can encrypt and decrypt all messages that use this key."

If you want a stong encryption i suggest you come up with an advanced algorithm that includes the Machine id of the device connecting to the encrypted data and then write an over ride encryption to be able to access the device from another machine.

A file is an array of bytes, just like a string.. So if you have a string: "Hello world"

the bytes: (hex)


Run a simple algorithm such as:

for (unsigned long int i=0; i <= bytelength;i += 2){//Calculating byte length is an entire different article
    if(i%2){ //if ret is 0 then skip
          *(DWORD*)bytes[i] += *(DWORD*)0x00; //Some additional byte pattern

so you would now have the bytes:

[0x68,(0x65 + 0x00),0x6c,(0x6c + 0x00),0x6f,(0x20 + 0x00),0x77,(0x6f + 0x00),0x72,(0x6c + 0x00),0x64]

Also when disabling the device after use you should rewrite the files that are removed from its file system, this could take up to 60 mins on a 20gb 2.0 usb drive.

You would need to encrypt each file before saving the files to the usb. You should also set up USB permissions. Also you should write a program that stores files inside the program (like a virtual machine) and only allow authorized users to access the encrypted files. (like a log in).

This is similar to what we do. I suggest you use a much more complicated algorithm. We use Geographical positioning in our algorithm so if someone is disconnected from our server or not in an authorized location the encryption will not work. Which is what we needed, your algorithm may be entirely different.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.