• Home
  • Textbooks
  • Applied Algebra: Codes, Ciphers and Discrete Algorithms
  • Advanced Encryption Standard

Applied Algebra: Codes, Ciphers and Discrete Algorithms

Darel W. Hardy, Fred Richman, Carol L. Walker

Chapter 11

Advanced Encryption Standard - all with Video Answers

Educators


Section 1

Data Encryption Standard.

06:58

Problem 1

Let $u_i \in\{0,1\}$ and define
$$
f\left(u_0, u_1, u_2, u_3\right)=\left(u_0+u_1, u_0, u_1+u_2, u_2+u_3\right) \bmod 2
$$
Given an 8 -bit word, let $L$ denote the left 4 bits and $R$ the right 4 bits. Define
$$
F(L, R)=(R, L+f(R))
$$
Compute the first four iterations of $F$ applied to the bytes (11111111) and (11101111).

Anthony Ramos
Anthony Ramos
Numerade Educator

Problem 2

One measure of how well an algorithm scrambles data is how far apart two codewords are that begin at a Hamming distance of one apart. How far apart are the codewords generated in problem 1 ?

Check back soon!
00:27

Problem 3

What is the inverse of the function $F$ defined in problem 1?

Linda Hand
Linda Hand
Numerade Educator

Problem 4

Let $u_i \in\{0,1\}$ and define
$$
f\left(u_0, u_1, u_2, u_3\right)=\left(u_0, u_0 u_1+u_2, u_0 u_1 u_2+u_3, u_0 u_1 u_2 u_3\right) \bmod 2
$$

Given an 8 -bit word, let $L$ denote the left 4 bits and $R$ the right 4 bits. Define
$$
F(L, R)=(R, L+f(R))
$$
Compute the first four iterations of $F$ applied to the bytes (11111111) and (11101111).

Check back soon!

Problem 5

One measure of how well an algorithm scrambles data is how far apart two codewords are that begin at a Hamming distance of one apart. How far apart are the codewords generated in problem 4 ?

Check back soon!

Problem 6

Let
$$
\begin{aligned}
& f_1\left(u_0, u_1, u_2, u_3\right)=\left(u_0+u_1, u_0, u_1+u_2, u_2+u_3\right) \bmod 2 \\
& f_2\left(u_0, u_1, u_2, u_3\right)=\left(u_0, u_0 u_1+u_2, u_0 u_1 u_2+u_3, u_0 u_1 u_2 u_3\right) \bmod 2
\end{aligned}
$$
and set
$$
F_i(L, R)=\left(R, L+f_i(R)\right) \quad(i=1,2)
$$
Start with the byte (11111111) and first apply $F_1$, then apply $F_2$. Repeat with the byte (11101111).

Check back soon!