(New page)
Line 7: Line 7:
 
<center><font size= 4></font size>
 
<center><font size= 4></font size>
  
A [http://www.projectrhea.org/learning/slectures.php slecture] by [[Cryptography]] student Divya Agarwal (or anonymous if desired)
+
A [http://www.projectrhea.org/learning/slectures.php slecture] on [[Cryptography]] by student Divya Agarwal and Katie Marsh
  
Partly based on the [[2015 Summer Cryptography Paar|Cryptography Summer 2015]] lecture material of Paar.
+
Partly based on the [[2015 Summer Cryptography Paar|Cryptography Summer 2015]] lecture material of Prof. Paar.
 
</center>
 
</center>
 
----
 
----
----
 
==1. Introduction (''Replace by appropriate section title'')==
 
Text of first section goes here. Here is an example of an equation.
 
<math> f(x)= \frac{1}{5} \sin x \int_{-\infty}^\alpha \pi^y dy</math>
 
  
----
+
=== '''Overview of DES Algorithm''' ===
==2. Derivation (''Replace by appropriate section title'')==
+
Text of second section goes here. Here is an example of a list
+
*Blah
+
*Blih
+
*Bloh
+
**Blouh
+
  
----
+
[[File:DES_Overview.png|500px|thumb|left|Fig 1: Overview of the DES Algorithm]]
==3. Example (''Replace by appropriate section title'')==
+
Text of third section goes here. Here is an example of a picture
+
  
[[Image:nature.jpg]]
+
* DES is a Symmetric cipher: uses same key for encryption and decryption
 +
* Uses 16 rounds which all perform the identical operation
 +
* Different subkey(48 bit) in each round derived from main key
  
 +
=== '''Internal structure of DES''' ===
 +
 +
1.  '''Initial Permutaion(IP)''' : This is the first thing that is seen in the expanded view of DES block in Fig 1.
 +
 +
* IP is a bitwise permutation or simple crosswiring in hardware.
 +
* The corsswiring is done according to the table(left) given in Fig 2.
 +
* The IP has no effect on the DES security at all.
 +
 +
[[File:IPFP.png|500px|thumb|left|Fig 2: Initial Permutation(left) and the Final Permutation(right) tables ]]
 +
 +
2.  '''DES Encryption Round - Feistel Networks'''
 +
 +
* DES structure is a Feistel network
 +
* Advantage: encryption and decryption differ only in keyschedule( explained later )
 +
 +
[[File:FN.png|500px|thumb|left|Fig 3: Encryption block round 1 - Feistel Networks]]
 +
 +
* The encryption block for round 1 in Fig 3 takes an input of 64 bit data permuted in the IP
 +
* Plaintext is split into 32-bit halves <math>L_i</math> and <math>R_i</math>
 +
* <math>R_i</math> is fed into the '''function f''', the output of which is then XORed with <math>L_i</math>
 +
* Left and right half halves are swapped at the end of one encryption round
 +
* Each encryption round can be expressed as :
 +
 +
<math>L_i = R_{i-1}</math>
 +
 +
<math>R_i = L_{i-1} \oplus f(R_{i-1},k_i)</math>
 +
 +
[[File:FNfinal.png|500px|thumb|left|Fig 4: Encryption block final round - Feistel Networks]]
 +
 +
* And as seen in Fig 1, we have sixteen such rounds.
 +
* And the Left and Right side bits are swapped again before the Final Permutation(FP) as shown in Fig 4.
 +
 +
3. '''The f-funtion(inside the feistel network)'''
 +
 +
[[File:f_fucntion.png|300px|thumb|left|Fig 5: The f-function block]]
 +
 +
* Main operation of DES
 +
* Inputs to f function are <math>R_{i-1}</math> and round key <math>k_i</math>
 +
* It has 4 main steps in Fig 5 :
 +
 +
  ** Expansion block E
 +
  ** XOR with round key
 +
  ** S-box substitution (eight of them)
 +
  ** Permutation
 +
 +
3.1 The Expansion fucntion E
 +
 +
* The main purpose of the expansion funtion is to increase diffusion in the input <math>R_{i-1}</math> bits.
 +
* It is done using the table shown in Fig 6.
 +
 +
[[File:expansion.png|400px|thumb|left|Fig 6: The expansion block table(top) and bitwise explanation(bottom)]]
 +
 +
3.2 XOR with round key
 +
 +
* Bitwise XOR of the round key <math>k_i</math> and the output of the expansion function E
 +
* We take a 48-bit expanded message bit and XOR with 48-bit key input and the output data is also 48-bit (Fig 5)
 +
[Round keys are derived from the main key in the DES keyschedule later in the notes]
 +
 +
 +
3.3 The DES S-Box substitution
 +
 +
* Eight substitution tables which form the core security of DES (Refer book)
 +
* Take 6 bits of input and gives 4-bit output
 +
* Non-linear and resistant to differential cryptanalysis
 +
 +
3.4 The Permutation P
 +
 +
* This is the last step in the f-fucntion in Fig 5.
 +
* It is also bitiwse permutation, which introduces diffusion using the table in Fig 7.
 +
* Output bits of one S-Box effect several S-Boxes in next round.
 +
* Diffusion by E, S-Boxes and P guarantees that after Round 5 every bit is a function of each key bit and each plaintext bit.
 +
 +
[[File:P.png|200px|thumb|left|Fig 7: The Permutation table P]]
 +
 +
The complete lecture on DES by Prof. Paar can be found [https://www.youtube.com/watch?v=kPBJIhpcZgE here].
 
----
 
----
==4. Conclusion (''Replace by appropriate section title'')==
+
== References==
Text of fourth section goes here.
+
* C. Paar. Understanding Cryptography. Lecture Notes. Dept. of Electr. Eng. and In­for­ma­ti­on Sci­en­ces, Ruhr University.
----
+
* C. Paar and J. Pelzl. Understanding Cryptography. A textbook for Student and Practitioners. Springer 2010.
==5. References==
+
*Reference 1
+
*reference 2
+
----
+
 
----
 
----
 
==[[2015_Summer_Cryptography_Paar_Divya Agarwal_comments | Questions and comments]]==
 
==[[2015_Summer_Cryptography_Paar_Divya Agarwal_comments | Questions and comments]]==

Revision as of 05:08, 18 June 2015


A slecture on Cryptography by student Divya Agarwal and Katie Marsh

Partly based on the Cryptography Summer 2015 lecture material of Prof. Paar.


Overview of DES Algorithm

Fig 1: Overview of the DES Algorithm
  • DES is a Symmetric cipher: uses same key for encryption and decryption
  • Uses 16 rounds which all perform the identical operation
  • Different subkey(48 bit) in each round derived from main key

Internal structure of DES

1. Initial Permutaion(IP) : This is the first thing that is seen in the expanded view of DES block in Fig 1.

  • IP is a bitwise permutation or simple crosswiring in hardware.
  • The corsswiring is done according to the table(left) given in Fig 2.
  • The IP has no effect on the DES security at all.
Fig 2: Initial Permutation(left) and the Final Permutation(right) tables

2. DES Encryption Round - Feistel Networks

  • DES structure is a Feistel network
  • Advantage: encryption and decryption differ only in keyschedule( explained later )
Fig 3: Encryption block round 1 - Feistel Networks
  • The encryption block for round 1 in Fig 3 takes an input of 64 bit data permuted in the IP
  • Plaintext is split into 32-bit halves $ L_i $ and $ R_i $
  • $ R_i $ is fed into the function f, the output of which is then XORed with $ L_i $
  • Left and right half halves are swapped at the end of one encryption round
  • Each encryption round can be expressed as :

$ L_i = R_{i-1} $

$ R_i = L_{i-1} \oplus f(R_{i-1},k_i) $

Fig 4: Encryption block final round - Feistel Networks
  • And as seen in Fig 1, we have sixteen such rounds.
  • And the Left and Right side bits are swapped again before the Final Permutation(FP) as shown in Fig 4.

3. The f-funtion(inside the feistel network)

Fig 5: The f-function block
  • Main operation of DES
  • Inputs to f function are $ R_{i-1} $ and round key $ k_i $
  • It has 4 main steps in Fig 5 :
 ** Expansion block E
 ** XOR with round key
 ** S-box substitution (eight of them)
 ** Permutation

3.1 The Expansion fucntion E

  • The main purpose of the expansion funtion is to increase diffusion in the input $ R_{i-1} $ bits.
  • It is done using the table shown in Fig 6.
Fig 6: The expansion block table(top) and bitwise explanation(bottom)

3.2 XOR with round key

  • Bitwise XOR of the round key $ k_i $ and the output of the expansion function E
  • We take a 48-bit expanded message bit and XOR with 48-bit key input and the output data is also 48-bit (Fig 5)

[Round keys are derived from the main key in the DES keyschedule later in the notes]


3.3 The DES S-Box substitution

  • Eight substitution tables which form the core security of DES (Refer book)
  • Take 6 bits of input and gives 4-bit output
  • Non-linear and resistant to differential cryptanalysis

3.4 The Permutation P

  • This is the last step in the f-fucntion in Fig 5.
  • It is also bitiwse permutation, which introduces diffusion using the table in Fig 7.
  • Output bits of one S-Box effect several S-Boxes in next round.
  • Diffusion by E, S-Boxes and P guarantees that after Round 5 every bit is a function of each key bit and each plaintext bit.
Fig 7: The Permutation table P

The complete lecture on DES by Prof. Paar can be found here.


References

  • C. Paar. Understanding Cryptography. Lecture Notes. Dept. of Electr. Eng. and In­for­ma­ti­on Sci­en­ces, Ruhr University.
  • C. Paar and J. Pelzl. Understanding Cryptography. A textbook for Student and Practitioners. Springer 2010.

Questions and comments

If you have any questions, comments, etc. please post them here.


Back to 2015 Summer Cryptography Paar


Alumni Liaison

Have a piece of advice for Purdue students? Share it through Rhea!

Alumni Liaison