Advanced Encryption Standard: Difference between revisions

Content deleted Content added
Line 163:
In April 2005, [[Daniel J. Bernstein|D.&nbsp;J. Bernstein]] announced a cache-timing attack that he used to break a custom server that used [[OpenSSL]]'s AES encryption.<ref name="bernstein_timing">{{cite web |url=http://cr.yp.to/papers.html#cachetiming |title=Index of formal scientific papers |publisher=Cr.yp.to |access-date=2008-11-02 |url-status=live |archive-url=https://web.archive.org/web/20080917042758/http://cr.yp.to/papers.html#cachetiming |archive-date=2008-09-17}}</ref> The attack required over 200 million chosen plaintexts.<ref>{{cite web |url=http://www.schneier.com/blog/archives/2005/05/aes_timing_atta_1.html |title=AES Timing Attack |author=Bruce Schneier |access-date=2007-03-17 |archive-url=https://web.archive.org/web/20070212015727/http://www.schneier.com/blog/archives/2005/05/aes_timing_atta_1.html |archive-date=12 February 2007 |url-status=live}}</ref> The custom server was designed to give out as much timing information as possible (the server reports back the number of machine cycles taken by the encryption operation). However, as Bernstein pointed out, "reducing the precision of the server's timestamps, or eliminating them from the server's responses, does not stop the attack: the client simply uses round-trip timings based on its local clock, and compensates for the increased noise by averaging over a larger number of samples."<ref name="bernstein_timing" />
 
In October 2005, Dag Arne Osvik, [[Adi Shamir]] and [[Eran Tromer]] presented a paper demonstrating several cache-timing attacks against the implementations in AES found in OpenSSL and Linux's <code>dm-crypt</code> partition encryption function.<ref>{{cite journal |url=http://www.wisdom.weizmann.ac.il/~tromer/papers/cache.pdf |work=The Cryptographer's Track at RSA Conference 2006 |title=Cache Attacks and Countermeasures: the Case of AES |date=2005-11-20 |author=Dag Arne Osvik |author2=Adi Shamir |author3=Eran Tromer |access-date=2008-11-02 |doi=10.1007/11605805_1 |url-status=live |archive-url=https://web.archive.org/web/20060619221046/http://www.wisdom.weizmann.ac.il/%7Etromer/papers/cache.pdf |archive-date=2006-06-19}}</ref> One attack was able to obtain an entire AES key after only 800&nbsp;operations triggering encryptions, in a total of 65&nbsp;milliseconds. This attack requires the attacker to be able to run programs on the same system or platform that is performing AES.
 
In December 2009 an attack on some hardware implementations was published that used [[differential fault analysis]] and allows recovery of a key with a complexity of 2<sup>32</sup>.<ref>{{cite journal |url=http://eprint.iacr.org/2009/581.pdf |title=A Diagonal Fault Attack on the Advanced Encryption Standard |author=Dhiman Saha |author2=Debdeep Mukhopadhyay |author3=Dipanwita RoyChowdhury|author3-link=Dipanwita Roy Chowdhury |access-date=2009-12-08 |journal=IACR Cryptology ePrint Archive |archive-url=https://web.archive.org/web/20091222070135/http://eprint.iacr.org/2009/581.pdf |archive-date=22 December 2009 |url-status=live}}</ref>