Paper 2013/347

STES: A Stream Cipher Based Low Cost Scheme for Securing Stored Data

Debrup Chakraborty, Cuauhtemoc Mancillas-Lopez, and Palash Sarkar


The problem of securing data present on USB memories and SD cards has not been adequately addressed in the cryptography literature. While the formal notion of a tweakable enciphering scheme (TES) is well accepted as the proper primitive for secure data storage, the real challenge is to design a low cost TES which can perform at the data rates of the targeted memory devices. In this work, we provide the first answer to this problem. Our solution, called STES, combines a stream cipher with a XOR universal hash function. The security of STES is rigorously analyzed in the usual manner of provable security approach. By carefully defining appropriate variants of the multi-linear hash function and the pseudo-dot product based hash function we obtain controllable trade-offs between area and throughput. We combine the hash function with the recent hardware oriented stream ciphers, namely Mickey, Grain and Trivium. Our implementations are targeted towards two low cost FPGAs -- Xilinx Spartan~3 and Lattice ICE40. Simulation results demonstrate that the speed of encryption/decryption matches the data rates of different USB and SD memories. We believe that our work opens up the possibility of actually putting FPGAs within controllers of such memories to perform low-level in-place encryption.

Available format(s)
Secret-key cryptography
Publication info
Published elsewhere. Unknown where it was published
Tweakable enciphering schemestream ciphersdisk encryptionUSB memorySD cardFPGA
Contact author(s)
debrup @ cs cinvestav mx
2013-06-12: revised
2013-06-09: received
See all versions
Short URL
Creative Commons Attribution


      author = {Debrup Chakraborty and Cuauhtemoc Mancillas-Lopez and Palash Sarkar},
      title = {STES: A Stream Cipher Based Low Cost Scheme for Securing Stored Data},
      howpublished = {Cryptology ePrint Archive, Paper 2013/347},
      year = {2013},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.