Formal Verification of Hardware Support For Advanced Encryption Standard Anna Slobodová Centaur Technology This work was done while at Intel.

Slides:



Advertisements
Similar presentations
Computer Science Lecture 7 Rijndael – Advanced Encryption Algorithm Professor Wayne Patterson Howard University Fall 2009.
Advertisements

A Clear Text Explanation of the AES Cipher Does a Rijndael By Any Other Name Still Smell As Sweet? October 9 th, Houston Perl Mongers Robert Stone.
AES Sub-Key Generation By Muhammad Naseem. Rotate Word 09CF4F3C.
Week 3 - Wednesday.  What did we talk about last time?  DES  Started AES.
Announcements: Quiz grades entered Quiz grades entered Homework 4 updated with more details. Homework 4 updated with more details. Discussion forum is.
Advanced Encryption Standard
Algorithm Scheme. AddRoundKey Each round uses four different words from the expanded key array. Each column in the state matrix is XORed with a different.
Announcements: Ch 3 quiz next week (tentatively Friday). Will include fields (today) Ch 3 quiz next week (tentatively Friday). Will include fields (today)Today:
1 A simple algebraic representation of Rijndael Niels Ferguson Richard Schroeppel Doug Whiting.
RIJNDAEL Arta Doci University Of Colorado.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Introduction to Modern Cryptography Lecture 3 (1) Finite Groups, Rings and Fields (2) AES - Advanced Encryption Standard.
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Cryptography and Network Security
Number Theory and Advanced Cryptography 1. Finite Fields and AES
Cryptography and Network Security
CPSC 3730 Cryptography and Network Security
AES Background and Mathematics CSCI 5857: Encoding and Encryption.
Information Security Lab. Dept. of Computer Engineering 122/151 PART I Symmetric Ciphers CHAPTER 5 Advanced Encryption Standard 5.1 Evaluation Criteria.
Dan Boneh Block ciphers The AES block cipher Online Cryptography Course Dan Boneh.
Chapter 4 sections 1 and 2.  Fig. 1  Not connected  All vertices are even.  Fig. 2  Connected  All vertices are even.
Rijndael Advanced Encryption Standard. Overview Definitions Definitions Who created Rijndael and the reason behind it Who created Rijndael and the reason.
Monoids, Groups, Rings, Fields
Chapter 4 – Finite Fields
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
AES Advanced Encryption Standard. Requirements for AES AES had to be a private key algorithm. It had to use a shared secret key. It had to support the.
 Cryptography is the science of using mathematics to encrypt and decrypt data.  Cryptography enables you to store sensitive.
AES (Advanced Encryption Standard) By- Sharmistha Roy M.Tech, CSE 1 st semester NIT, Agartala.
CS555Spring 2012/Topic 101 Cryptography CS 555 Topic 10: Block Cipher Security & AES.
Computing the chromatic number for block intersection graphs of Latin squares Ed Sykes CS 721 project McMaster University, December 2004 Slide 1.
Chapter 11 – Counting Methods Intro to Counting Methods Section 11.1: Counting by Systematic Listing.
AES: Rijndael 林志信 王偉全. Outline Introduction Mathematical background Specification Motivation for design choice Conclusion Discussion.
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Information Security Lab. Dept. of Computer Engineering 87/121 PART I Symmetric Ciphers CHAPTER 4 Finite Fields 4.1 Groups, Rings, and Fields 4.2 Modular.
Cryptography Lecture 17: Advanced Encryption Standard (AES) Piotr Faliszewski.
Cryptography and Network Security Chapter 4. Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic.
AES Encryption FIPS 197, November 26, Bit Block Encryption Key Lengths 128, 192, 256 Number of Rounds Key Length Rounds Block.
ECE Prof. John A. Copeland fax Office: GCATT Bldg.
Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
The Advanced Encryption Standard Part 2: Mathematical Background
The Advanced Encryption Standard Part 1: Overview
Le Trong Ngoc Security Fundamentals (2) Encryption mechanisms 4/2011.
Encryption / Decryption on FPGA Midterm Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
Secret Key Systems (block encoding) Encrypting a small block of text (say 64 bits) General considerations for cipher design:
VideoGameAudio.com info {at} VideoGameAudio.com SIAT – Simon Fraser University Surrey, BC 1 Video Game Audio Leonard J. Paul VideoGameAudio.c om.
CS480 Cryptography and Information Security
or call for office visit, or call Kathy Cheek,
Secret Key Systems (block encoding)
Classical Encryption techniques
Combinations COURSE 3 LESSON 11-3
The Advanced Encryption Standard: Rijndael
Encrypting the Internet 09/01/10
Make an Organized List and Simulate a Problem
Advanced Encryption Standard (Symmetric key Algorithm)
CS 465 AES Last Updated: Sep 7, 2017.
Rotors and Secret-Key Encryption
Data Warehousing Mining & BI
The Encryption Standards
AB AC AD AE AF 5 ways If you used AB, then, there would be 4 remaining ODD vertices (C, D, E and F) CD CE CF 3 ways If you used CD, then, there.
Block Ciphers: DES and AES
A Series of Slides in 5 Parts Movement 2. BFS
Latin Square Designs.
Introduction to Modern Cryptography
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
A Series of Slides in 5 Parts Movement 4. Best-First
A Series of Slides in 5 Parts Movement 4. Best-First
A Series of Slides in 5 Parts Movement 1. DFS
A Series of Slides in 5 Parts Movement 3. IDFS
Advanced Encryption Standard (AES)
Introduction to Modern Cryptography
Presentation transcript:

Formal Verification of Hardware Support For Advanced Encryption Standard Anna Slobodová Centaur Technology This work was done while at Intel

Outline of the talk  AES algorithm and instructions  sketch of the algorithm  mapping to AES instructions  operations over GF  Verification of AES instructions  Verification framework  BDD variable ordering that works FMCAD 2008Anna Slobodova 2

AES algorithm and instructions Cipher(byte in[16], byte out[16], word w[4*(N r +1)]) begin byte state[4, 4] state = in AddRoundKey(state, w[0,3] for round = 1 step 1 to N r -1 SubBytes(state) ShiftRows(state) MixColumns(state) AddRoundKey(state, w[4*round, 3*(round+1)] end for SubBytes(state) ShiftRows(state) AddRoundKey(state, w[4*N r,3*N r +1] out = state end FMCAD 2008Anna Slobodova 3 AESENC AESENCLAST AESDEC, AESDECLAST, AESKEYGENASSIST, AESIMC

AES bytes, words and state  Byte - basic unit, 8 bits - Interpreted as polynomials  State – array of bytes FMCAD 2008Anna Slobodova 4 word ≈column [w0 w1 w2 w3]

Galois Field 2 8  elements = bytes 7 th degree polynomials with binary coefficients  addition = subtraction = bit-wise XOR  multiplication = multiplication of polynomials modulo irreducible polynomial FMCAD 2008Anna Slobodova 5

Polynomials with coefficients in GF(2 8 )  words = 4 th degree polynomials with coefficients in GF(2 8 )  addition = addition in GF(2 8 ) of corresponding bytes  (modular) multiplication = multiplication of polynomials modulo polynomial x 4 +1 FMCAD 2008Anna Slobodova 6

ShiftRows FMCAD 2008Anna Slobodova 7

S-box transformation FMCAD 2008Anna Slobodova ABCDEF 0 637c777bf26b6fc bfed7ab76 1 ca82c97dfa5947f0add4a2af9ca472c0 2 b7fd ff7cc34a5e5f171d c723c a071280e2eb27b c1a1b6e5aa0523bd6b329e32f d100ed20fcb15b6acbbe394a4c58cf 6 d0efaafb434d338545f9027f503c9fa8 7 51a3408f929d38f5bcb6da2110fff3d2 8 cd0c13ec5f974417c4a77e3d645d fdc222a908846eeb814de5e0bdb a e0323a0a cc2d3ac629195e479 b e7c8376d8dd54ea96c56f4ea657aae08 c ba78252e1ca6b4c6e8dd741f4bbd8b8a d 703eb f60e613557b986c11d9e e e1f d8e949b1e87e9ce5528df f 8ca1890dbfe d0fb054bb16

MixColumns FMCAD 2008Anna Slobodova 9

Verification of AES instructions  Data-path proof  Control proof FMCAD 2008Anna Slobodova 10 Symbolic inputs Symbolic outputs Symbolic inputs Symbolic outputs weakening e 0 e 1 e 2 X X d 2 X X 0X X e d2d2

BDD variable ordering for AES instructions FMCAD 2008Anna Slobodova 11

Conclusions  Hardware support for AES instructions can be done using BDD based simulation engine.  There is a common BDD variable ordering that can be used across all symbolic simulation runs. FMCAD 2008Anna Slobodova 12