The Feistel cipher is a symmetric block cipher encryption framework which is the basis of many modern day encryption algorithms. In this coursework you will implement a Feistel cipher system as a hardware component and as a software implementation. In a Feistel cipher the plaintext, P, to be encrypted is split into two equal size parts Lo and Ro such that P = L,Ro- A function F is applied to one half of the plaintext, combined with a key, and the result is XOR'd with the other half of the plaintext. Feistel ciphers often employ multiple rounds of this scheme. In general the scheme works as follows, for all i =0, . ..,n, L+1 = R, R+1 = L, © F(R,, K,) To decrypt an encrypted message using this cipher we can apply the same procedure in reverse. For i = n, n –1, . ,0, R, = L,+1 L, = R,-1 © F(L+1, K.) For this coursework we are interested in the 16-bit Feistel cipher which uses 4 rounds. The function F(A, B) = A€B. The keys are derived from a single 8-bit key Ko such that, Ko = b,bgb;b,b3b2b, bo K1 = bøbzbab3b2b,bob- K2 = b;b,b3b>b,bob-bs K3 = b,bzb2b,bobrbebs
The Feistel cipher is a symmetric block cipher encryption framework which is the basis of many modern day encryption algorithms. In this coursework you will implement a Feistel cipher system as a hardware component and as a software implementation. In a Feistel cipher the plaintext, P, to be encrypted is split into two equal size parts Lo and Ro such that P = L,Ro- A function F is applied to one half of the plaintext, combined with a key, and the result is XOR'd with the other half of the plaintext. Feistel ciphers often employ multiple rounds of this scheme. In general the scheme works as follows, for all i =0, . ..,n, L+1 = R, R+1 = L, © F(R,, K,) To decrypt an encrypted message using this cipher we can apply the same procedure in reverse. For i = n, n –1, . ,0, R, = L,+1 L, = R,-1 © F(L+1, K.) For this coursework we are interested in the 16-bit Feistel cipher which uses 4 rounds. The function F(A, B) = A€B. The keys are derived from a single 8-bit key Ko such that, Ko = b,bgb;b,b3b2b, bo K1 = bøbzbab3b2b,bob- K2 = b;b,b3b>b,bob-bs K3 = b,bzb2b,bobrbebs
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
could you please code this on notepade.

Transcribed Image Text:The Feistel cipher is a symmetric block cipher encryption framework which is the basis
of many modern day encryption algorithms. In this coursework you will implement a
Feistel cipher system as a hardware component and as a software implementation. In a
Feistel cipher the plaintext, P, to be encrypted is split into two equal size parts Lo and
Ro such thatP = L,Ro- A function F is applied to one half of the plaintext, combined
with a key, and the result is XOR'd with the other half of the plaintext. Feistel ciphers
often employ multiple rounds of this scheme. In general the scheme works as follows, for
all i = 0, .. . , n,
L;+1= R;
R+1 = L; © F(R, K;)
To decrypt an encrypted message using this cipher we can apply the same procedure
in reverse. For i = n, n – 1, . , 0,
R; = L,+1
Lat1
L, = R,-1 e F(L,-1, K.)
For this coursework we are interested in the 16-bit Feistel cipher which uses 4 rounds.
The function F(A, B) = AOB. The keys are derived from a single 8-bit key Ko such that,
Ko = b,b6b;b4b3bzbi bo
K1 = b6b5b,b3b2bibob,
K2 = b;b,bzb,b,bob-b6
K3 = b,b3b2b1bob-b6b5
1

Transcribed Image Text:The Feistel cipher is a symmetric block cipher encryption framework which is the basis
of many modern day encryption algorithms. In this coursework you will implement a
Feistel cipher system as a hardware component and as a software implementation. In a
Feistel cipher the plaintext, P, to be encrypted is split into two equal size parts Lo and
Ro such thatP = L,Ro- A function F is applied to one half of the plaintext, combined
with a key, and the result is XOR'd with the other half of the plaintext. Feistel ciphers
often employ multiple rounds of this scheme. In general the scheme works as follows, for
all i = 0, .. . , n,
L;+1= R;
R+1 = L; © F(R, K;)
To decrypt an encrypted message using this cipher we can apply the same procedure
in reverse. For i = n, n – 1, . , 0,
R; = L,+1
Lat1
L, = R,-1 e F(L,-1, K.)
For this coursework we are interested in the 16-bit Feistel cipher which uses 4 rounds.
The function F(A, B) = AOB. The keys are derived from a single 8-bit key Ko such that,
Ko = b,b6b;b4b3bzbi bo
K1 = b6b5b,b3b2bibob,
K2 = b;b,bzb,b,bob-b6
K3 = b,b3b2b1bob-b6b5
1
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education