From the course: Learning Assembly Language

Unlock the full course today

Join today to access over 22,600 courses taught by industry experts or purchase this course individually.

Leveraging the x64 AES instructions

Leveraging the x64 AES instructions - Python Tutorial

From the course: Learning Assembly Language

Start my 1-month free trial

Leveraging the x64 AES instructions

- [Instructor] Time has moved on and we now have much more powerful encryption than we did in the days of enigma. Some x64 chips offer hardware support for using the commercial encryption standard, AES, which is fully described in FIPS 197. Let's see how we use the advanced x86-64 bit instructions to code AES. There's a reasonable amount of code here so I've prepared it in advance, and loaded it into the starter project. At line six we have four messages which we'll be using when we check whether we can run AES, and whether our ciphering worked. At line 11, we declare the plain text, cipher text and key, which are provided in FIPS 197 for testing AES code. AES works through 11 rounds of encryption, using a different variation of the key on each. To cater for this, we declare 160 bytes of space for expanded key which we'll create as part of initializing our AES encryption system. We then define two 16 byte fields, one…

Contents