Encryption the plain-text using the round keys, Data Structure & Algorithms

Assignment Help:

Encryption the plain-text using the round keys:

1. (Key schedule) Implement an algorithm that will take a 128 bit key and generate the round keys for the AES encryption/decryption process.

2. (Encryption) Implement an algorithm that takes the key schedule and 128 bits of plain text and generates the cipher-text according to the AES encryption algorithm. Your code should print the state of each round as shown in sample out.txt.

3. (Decryption) Implement an algorithm that takes the key schedule and 128 bits of cipher-text and generates the plain-text according to the AES decryption algorithm. Your code should print the state of each round as shown in sample out.txt.

4. (mainline) Write a mainline (main() for your program that will read in the sbox(stored in le aes sbox.txt), inverse sbox (stored in leaes inv sbox.txt), and for each plain-text/key le it should

(a) generate the round keys using the key schedule algorithm,

(b) encryption the plain-text using the round keys, displaying the required outputs,

(c) decrypted the cipher-text (obtain from the last step) and decrypt it, displaying the required output.


Related Discussions:- Encryption the plain-text using the round keys

Data structure for representing numbers, Your first task will be to come up...

Your first task will be to come up with an appropriate data structure for representing numbers of arbitrary potential length in base 215. You will have to deal with large negative

Lists, In the earlier unit, we have discussed about the arrays. Arrays are ...

In the earlier unit, we have discussed about the arrays. Arrays are data structures of fixed size. Insertion & deletion involves reshuffling of array elements. Thus, arraymanipulat

Array implementation of a multiqueue, Program gives the program segment by ...

Program gives the program segment by using arrays for the insertion of an element to a queue into the multiqueue. Program: Program segment for the insertion of any element to t

Explain divide and conquer algorithms, Explain divide and conquer algorithm...

Explain divide and conquer algorithms  Divide  and  conquer  is  probably  the  best  known  general  algorithm  design  method.  It   work according to the following general p

What do you mean by hash clash, What do you mean by hash clash? Hashing...

What do you mean by hash clash? Hashing is not perfect. Occasionally, a collision occurs when two different keys hash into the same hash value and are assigned to the same arra

Types of a linked list, A linked list can be of the following types:- ...

A linked list can be of the following types:-  Linear linked list or one way list Doubly linked list or two way list. Circular linked list Header linked list

B-tree of degree 3, Q. Explain the result of inserting the keys given. ...

Q. Explain the result of inserting the keys given. F, S, Q, K, C, L, H, T, V, W, M, R, N, P, A, B, X, Y, D, Z, E  in an order to an empty B-tree of degree-3.

What are expression trees, What are expression trees?  The leaves of an...

What are expression trees?  The leaves of an expression tree are operands, like as constants or variable names, and the other nodes have operators. This certain tree happens to

Algorithms and flowcharts, write an algorithm and draw a flowchart to calcu...

write an algorithm and draw a flowchart to calculate the perimeter and area of a circle

Recurrence relation, solve the following relation by recursive method: T(n...

solve the following relation by recursive method: T(n)=2T(n^1/2)+log n

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd