(Added Video) |
|||
Line 16: | Line 16: | ||
---- | ---- | ||
---- | ---- | ||
+ | |||
+ | Introductory lecture to Stream Ciphers - Prof. Paar | ||
=[http://www.youtube.be/watch?v=rheateam@gmail.com Link to video on youtube]= | =[http://www.youtube.be/watch?v=rheateam@gmail.com Link to video on youtube]= | ||
− | <youtube>https://www.youtube.com/watch?v= | + | <youtube>https://www.youtube.com/watch?v=ChORQIRUin4</youtube> |
---- | ---- | ||
Line 69: | Line 71: | ||
* Linear feedback shift registers(LFSRs) | * Linear feedback shift registers(LFSRs) | ||
+ | |||
+ | The complete lecture on Stream Ciphers is available here. | ||
---- | ---- |
Revision as of 10:29, 16 June 2015
Stream Ciphers
A slecture on Cryptography by student Divya Agarwal and Kathryn Marsh.
Partly based on the Cryptography Summer 2015 lecture material of Prof. Paar.
Introductory lecture to Stream Ciphers - Prof. Paar
Contents
Link to video on youtube
Accompanying Lecture Notes
Stream Ciphers vs. Block Ciphers
- Stream Ciphers
- Encrypt bits individually by adding a bit from a key stream to a plaintext bit.
- Usually small and fast, common in embedded devices (e.g., A5/1 for GSM phones)
- Block Ciphers
- Encrypt an entire block of plaintext bits at a time with the same key.
- Are common for Internet applications
In this lecture we study Stream Ciphers.
Encryption and Decryption of Stream Ciphers
Each plaintext bit $ x_i $ is encrypted by adding a secret key stream bit $ s_i $ modulo 2. Refer figure below.
- Encryption : $ y_i = e_{si} = x_i + s_i mod2 $ where $ x_i,s_i,y_i \in \{0,1\} $
- Decryption : $ x_i = e_{si} = y_i + s_i mod2 $
Encryption and decryption are the same functions.
Why is Modulo 2 Addition a Good Encryption Function?
- Modulo 2 addition is equivalent to XOR operation.
- For perfectly random key stream $ s_i $, each ciphertext output bit has a 50% chance to be 0 or 1, which is a Good statistic property.
How do we get a good Key Stream?
Security of stream cipher depends entirely on the key stream $ s_i $:
- It should be random.
- Must be reproducible at both sender and receiver ends.
There are several ways to produce random key streams, they are listed below:
- Random number genrators(RNGs)
- True Random number genrators(TRNGs)
- Pseudo Random number genrators(PRNG)
- Cryptographically Secure Pseudorandom number genrators(CSRNG)
- One-Time Pad(OTP)
- Linear feedback shift registers(LFSRs)
The complete lecture on Stream Ciphers is available here.
References
- C. Paar. Understanding Cryptography. Lecture Notes. Dept. of Electr. Eng. and Information Sciences, 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