In operation, the data encryption/decryption module 1029 performs the actual data encryption and decryption (such as by using the Advanced Encryption Standard encryption algorithm) using a data key having any desired key length (e.g. 128 or 256-bit data key length), and may also perform other encoding functions, such as data compression and decompression and data buffering.