I want to encrypt a USB stick, and be able to decrypt it on Windows as well as Ubuntu. How do I do this & what programs do I need to use?
Veracrypt is an open-source encryption package that will certainly do this since there are versions of the software for both Linux and Windows.
https://github.com/t-d-k/LibreCrypt implements LUKS compatible encryption on Windows.
I haven't tried, but LUKS is the main Linux disk encryption method, with kernel support, so I think it might work.
Perhaps this might help, from Wikipedia:
Software solutions such as dm-crypt, FreeOTFE, Data Protecto and TrueCrypt allow the contents of a USB drive to be encrypted automatically and transparently. Also, Windows 7 Enterprise and Ultimate Editions and Windows Server 2008 R2 provide USB drive encryption using BitLocker to Go. The Apple Computer Mac OS X operating system has provided software for disc data encryption since Mac OS X Panther was issued in 2003 (see also: Disk Utility).
Additional software can be installed on an external USB drive to prevent access to files in case the drive becomes lost or stolen. Installing software on company computers may help track and minimize risk by recording the interactions between any USB drive and the computer and storing them in a centralized database.