This shows you the differences between two versions of the page.

Both sides previous revision Previous revision Next revision | Previous revision | ||

cs-465:project-1-aes [2016/09/07 15:02] sethmj88 |
cs-465:project-1-aes [2017/01/13 12:37] arcoh [Passoff Requirements:] |
||
---|---|---|---|

Line 23: | Line 23: | ||

#To receive full credit, you must implement the system using only the resources listed above. You must avoid looking at any AES source code, which will limit your learning experience. | #To receive full credit, you must implement the system using only the resources listed above. You must avoid looking at any AES source code, which will limit your learning experience. | ||

#To pass off, you will show the TA that you can correctly encrypt and decrypt ALL of the test cases in Appendix C of the FIPS specification. Additionally, you should print out the debug information for each round as seen in Appendix C. | #To pass off, you will show the TA that you can correctly encrypt and decrypt ALL of the test cases in Appendix C of the FIPS specification. Additionally, you should print out the debug information for each round as seen in Appendix C. | ||

- | #Sign up on the [https://docs.google.com/spreadsheets/d/1Gs7nLA_Shn0SuXxEURm-5E7MCUiIj7hr57HJf2Rj9ok/edit?usp=sharing passoff signup sheet], and Come to 1058 TMCB to pass off. | + | #Sign up on the [https://docs.google.com/spreadsheets/d/1Gs7nLA_Shn0SuXxEURm-5E7MCUiIj7hr57HJf2Rj9ok/edit?usp=sharing passoff signup sheet], and Come to 1154 TMCB to pass off. |

#'''Submit a file with your source code to Learning Suite''' | #'''Submit a file with your source code to Learning Suite''' | ||

Line 29: | Line 29: | ||

* Finite Fields are a mathematical concept. They consist of a set, an addition (+) operator, and a multiplication (*) operator. However, + and * can be defined as anything, and may not be the same addition and multiplication that we are familiar with. In the case of AES, whenever you read the term "finite field," just think of a byte (8-bits, unsigned). The way that we do addition and multiplication on the field will be defined in the document. | * Finite Fields are a mathematical concept. They consist of a set, an addition (+) operator, and a multiplication (*) operator. However, + and * can be defined as anything, and may not be the same addition and multiplication that we are familiar with. In the case of AES, whenever you read the term "finite field," just think of a byte (8-bits, unsigned). The way that we do addition and multiplication on the field will be defined in the document. | ||

- | * Review of Binary Operators: C, C++ and Java have operators (&, |, ^, < <, >>) to perform simple bitwise operations, such as a bit-wise AND, OR, XOR, left shifts and right shifts respectively. Notice that we use a single & and | instead of the double && and || that we use when doing boolean operations. For a more detailed review, [http://www.leepoint.net/notes-java/data/expressions/bitops.html click here]. | + | * Review of Binary Operators: C, C++ and Java have operators (&, |, ^, < <, >>) to perform simple bitwise operations, such as a bit-wise AND, OR, XOR, left shifts and right shifts respectively. Notice that we use a single & and | instead of the double && and || that we use when doing boolean operations. For a more detailed review, [http://www.leepoint.net/data/expressions/bitops.html click here]. |

* Variable Glossary: There are several variables that are used throughout the document to represent different things. Before you begin, it may be helpful to read through section 2.2 in the FIPS document. In particular, you will need to know the following variables: | * Variable Glossary: There are several variables that are used throughout the document to represent different things. Before you begin, it may be helpful to read through section 2.2 in the FIPS document. In particular, you will need to know the following variables: | ||

* Nb - The number of words in the block (Nb is always 4) | * Nb - The number of words in the block (Nb is always 4) |