Paper 2005/271

Cache attacks and Countermeasures: the Case of AES

Dag Arne Osvik, Adi Shamir, and Eran Tromer


We describe several software side-channel attacks based on inter-process leakage through the state of the CPU's memory cache. This leakage reveals memory access patterns, which can be used for cryptanalysis of cryptographic primitives that employ data-dependent table lookups. The attacks allow an unprivileged process to attack other processes running in parallel on the same processor, despite partitioning methods such as memory protection, sandboxing and virtualization. Some of our methods require only the ability to trigger services that perform encryption or MAC using the unknown key, such as encrypted disk partitions or secure network links. Moreover, we demonstrate an extremely strong type of attack, which requires knowledge of neither the specific plaintexts nor ciphertexts, and works by merely monitoring the effect of the cryptographic process on the cache. We discuss in detail several such attacks on AES, and experimentally demonstrate their applicability to real systems, such as OpenSSL and Linux's dm-crypt encrypted partitions (in the latter case, the full key can be recovered after just 800 writes to the partition, taking 65 milliseconds). Finally, we describe several countermeasures which can be used to mitigate such attacks.

Available format(s)
Publication info
Published elsewhere. Unknown where it was published
side-channel attackcachememory accesscryptanalysisAES
Contact author(s)
iacr eprint2eran @ tromer org
2005-08-17: received
Short URL
Creative Commons Attribution


      author = {Dag Arne Osvik and Adi Shamir and Eran Tromer},
      title = {Cache attacks and Countermeasures: the Case of AES},
      howpublished = {Cryptology ePrint Archive, Paper 2005/271},
      year = {2005},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.