Dr. Dobb's Journal - October 2007 - (Page 33) With the widespread use of dual-core processors, speeding up encryption using parallelization is possible now for the attacker is to attack the AESCBC layer, which is the same problem he has when attacking the other hard drive (encrypted using only AES-CBC mode). This means that, although we helped the attacker significantly by providing him with the tweak key, he still has to attack the AES-CBC layer. This shows that attacking the AES-CBC + Elephant diffuser is not easier than attacking just AES-CBC. Thus, the AES-CBC + Elephant diffuser is at least as secure as AES-CBC—in fact, it has better statistical characteristics because it passes four statistical tests, while AES-CBC passes only one. Note that this security proof sketch is valid for all the values of AC and BC, but we do not recommend using AC less than 2 or BC less than 1 to have good statistical properties. Passing Test1 implies that the AESCBC + Elephant diffuser does not suffer from a bit-flipping attack, as does AES-CBC mode. Using the same methodology, it can be proven that the AES-ECB + Elephant diffuser is at least as secure as AES-ECB, and by providing the attacker with the tweak key in Figure 2, he will have to attack the AES-ECB layer. AES-ECB + Elephant diffuser passes all four statistical tests, while AES-ECB passes only one test. This shows that the AES-ECB + Elephant diffuser has better statistical properties than AES-ECB. By XORing the plaintext with the drive sector key, the 512-byte block becomes dependent on the sector. And by adding the counter in Figure 2, each 16-byte block (within the 512) is dependent on its position. This is to reduce the possibility of replay attacks. Conclusion To sum it up, in this article, we studied the new AES-CBC + Elephant diffuser—the Windows Vista disk encryption algorithm. Our study shows that this cipher possesses good diffusion properties that can reduce manipulation attacks. And from our study, we set a lower bound of the number of cycles used by each of the two diffusers; these values are AC=2 and BC=1. With these values, the cipher will not lose its statistical properties. Moreover, it still will be at least as secure as AES-CBC mode. On the other hand, the use of these values increases the total performance of the cipher by about 18 percent. We also propose a new cipher AES-ECB + Elephant diffuser that has similar properties to the AES-CBC + Elephant diffuser. From our study, we set a lower bound of the number of cycles used by each of the two used diffusers; these values are AC=2 and BC=2. These values can be used and the cipher will not lose its statistical properties and still will be at least as secure as AES-ECB mode. On the other hand, the use of these values increases the total performance of the cipher by about 14 percent. While the AES-ECB + Elephant diffuser is about the same speed as the AES-CBC + Elephant diffuser when a single processor is used, it is about 60–100 percent faster than the AES-CBC + Elephant diffuser (depending on the values of AC and BC used) when a dual-core processor is used. This speed up is inversely proportional to the number of processor cores used. The complete source code accompanying this article is available electronically (for demonstration purposes only, contact Microsoft for development use); see “Resource Center,” page 5. DDJ October 2007 l www.ddj.com l Dr. Dobb’s Journal 33 http://www.nag.com/buyorbuild http://www.nag.com/buyorbuild http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - October 2007 Cover Contents Hmmmm Alia Vox Developer Diaries Developer’s Notebook AI: It’s OK Again! Conversations Visual Cryptography and Bit-Plane Complexity Segmentation Inside the Windows Vista Disk Encryption Algorithm Memory-Aware Components Software and the Core Description Process Logging In C++ Effective Concurrency The Agile Edge Swaine’s Flames Dr. Dobb's Journal - October 2007 Dr. Dobb's Journal - October 2007 - Cover (Page Cover1) Dr. Dobb's Journal - October 2007 - Cover (Page Cover2) Dr. Dobb's Journal - October 2007 - Cover (Page 1) Dr. Dobb's Journal - October 2007 - Cover (Page 2) Dr. Dobb's Journal - October 2007 - Cover (Page 3) Dr. Dobb's Journal - October 2007 - Contents (Page 4) Dr. Dobb's Journal - October 2007 - Contents (Page 5) Dr. Dobb's Journal - October 2007 - Hmmmm (Page 6) Dr. Dobb's Journal - October 2007 - Hmmmm (Page 7) Dr. Dobb's Journal - October 2007 - Hmmmm (Page 8) Dr. Dobb's Journal - October 2007 - Hmmmm (Page 9) Dr. Dobb's Journal - October 2007 - Alia Vox (Page 10) Dr. Dobb's Journal - October 2007 - Alia Vox (Page 11) Dr. Dobb's Journal - October 2007 - Developer Diaries (Page 12) Dr. Dobb's Journal - October 2007 - Developer Diaries (Page 13) Dr. Dobb's Journal - October 2007 - Developer’s Notebook (Page 14) Dr. Dobb's Journal - October 2007 - Developer’s Notebook (Page 15) Dr. Dobb's Journal - October 2007 - AI: It’s OK Again! (Page 16) Dr. Dobb's Journal - October 2007 - AI: It’s OK Again! (Page 17) Dr. Dobb's Journal - October 2007 - AI: It’s OK Again! (Page 18) Dr. Dobb's Journal - October 2007 - AI: It’s OK Again! (Page 19) Dr. Dobb's Journal - October 2007 - Conversations (Page 20) Dr. Dobb's Journal - October 2007 - Conversations (Page 21) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 22) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 23) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 24) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 25) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 26) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 27) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 28) Dr. Dobb's Journal - October 2007 - Visual Cryptography and Bit-Plane Complexity Segmentation (Page 29) Dr. Dobb's Journal - October 2007 - Inside the Windows Vista Disk Encryption Algorithm (Page 30) Dr. Dobb's Journal - October 2007 - Inside the Windows Vista Disk Encryption Algorithm (Page 31) Dr. Dobb's Journal - October 2007 - Inside the Windows Vista Disk Encryption Algorithm (Page 32) Dr. Dobb's Journal - October 2007 - Inside the Windows Vista Disk Encryption Algorithm (Page 33) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 34) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 35) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 36) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 37) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 38) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 39) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 40) Dr. Dobb's Journal - October 2007 - Memory-Aware Components (Page 41) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 42) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 43) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 44) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 45) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 46) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 47) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 48) Dr. Dobb's Journal - October 2007 - Software and the Core Description Process (Page 49) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 50) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 51) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 52) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 53) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 54) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 55) Dr. Dobb's Journal - October 2007 - Logging In C++ (Page 56) Dr. Dobb's Journal - October 2007 - Effective Concurrency (Page 57) Dr. Dobb's Journal - October 2007 - Effective Concurrency (Page 58) Dr. Dobb's Journal - October 2007 - Effective Concurrency (Page 59) Dr. Dobb's Journal - October 2007 - The Agile Edge (Page 60) Dr. Dobb's Journal - October 2007 - The Agile Edge (Page 61) Dr. Dobb's Journal - October 2007 - The Agile Edge (Page 62) Dr. Dobb's Journal - October 2007 - The Agile Edge (Page 63) Dr. Dobb's Journal - October 2007 - Swaine’s Flames (Page 64) Dr. Dobb's Journal - October 2007 - Swaine’s Flames (Page Cover3) Dr. Dobb's Journal - October 2007 - Swaine’s Flames (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.