SlideShare a Scribd company logo
Understanding Cryptography – A Textbook for
Students and Practitioners
by Christof Paar and JanPelzl
www.crypto-textbook.com
Chapter 2 – Stream Ciphers
ver. October 29, 2009
These slides were prepared by Thomas Eisenbarth, Christof Paar and JanPelzl
Modified by Sam Bowne
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl2
Some legal stuff (sorry): Terms of Use
• The slides can used free of charge. All copyrights for the slides remain with
the authors.
• The title of the accompanying book “Understanding Cryptography” by
Springer and the author’s names must remain on eachslide.
• If the slides are modified, appropriate credits to the book authorsand the
book title must remain within the slides.
• It is not permitted to reproduce parts or all of the slides in printedform
whatsoever without written consent by the authors.
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl3
Contents of this Chapter
• Intro to stream ciphers
• Random number generators (RNGs)
• One-Time Pad (OTP)
• Linear feedback shift registers (LFSRs)
• Trivium: a modern stream cipher
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl4
Intro to Stream Ciphers
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Stream Ciphers in the Field of Cryptology
Cryptology
Cryptography Cryptanalysis
Symmetric Ciphers Asymmetric Ciphers Protocols
Block Ciphers Stream Ciphers
Stream Ciphers were invented in 1917 by Gilbert Vernam
5
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Stream Cipher
6
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Block Cipher
7
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Stream Cipher vs. Block Cipher
• Stream Ciphers
• Encrypt bits individually
• Usually small and fast
• Common in embedded devices (e.g., A5/1 for GSM phones)
• Block Ciphers:
• Always encrypt a full block (several bits)
• Are common for Internet applications
8
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
• Encryption and decryption are simple additions modulo 2 (aka XOR)
• Encryption and decryption are the same functions
xi , yi , si ∈ {0,1}• Encryption: yi = esi(xi ) = xi + si mod 2
• Decryption: xi = esi(yi ) = yi + si mod 2
■ Encryption and Decryption with Stream Ciphers
Plaintext xi, ciphertext yi and key stream si consist of individual bits
9
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Synchronous vs. Asynchronous Stream Cipher
• Security of stream cipher depends entirely on the key stream si :
• Should be random , i.e., Pr(si = 0) = Pr(si = 1) = 0.5
• Must be reproducible by sender and receiver
• Synchronous Stream Cipher
• Key stream depend only on the key (and possibly an initialization vector IV)
• Asynchronous Stream Ciphers
• Key stream depends also on the ciphertext (dotted feedback enabled)
10
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Why is Modulo 2 Addition a Good Encryption Function?
• Modulo 2 addition is equivalent to XOR operation
• For perfectly random key stream si , each ciphertext output bit
has a 50% chance to be 0 or 1
Good statistic property forciphertext
• Inverting XOR is simple, since it is the same XOR operation
xi si yi
0 0 0
0 1 1
1 0 1
1 1 0
11
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl12
■ Stream Cipher: Throughput
Performance comparison of symmetric ciphers(Pentium4):
Cipher Key length Mbit/s
DES 56 36.95
3DES 112 13.32
AES 128 51.19
RC4 (stream cipher) (choosable) 211.34
Source: Zhao et al., Anatomy and Performance of SSL Processing, ISPASS 2005
2. Stream Ciphers
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl14
Random Number Generators (RNGs)
■ Random number generators (RNGs)
RNG
Cryptographically
Secure RNG
Pseudorandom NGTrue RNG
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl15
■ True Random Number Generators (TRNGs)
• Based on physical random processes: coin flipping, dice rolling, semiconductor
noise, radioactive decay, mouse movement, clock jitter of digital circuits
• Output stream si should have good statistical properties:
Pr(si = 0) = Pr(si = 1) = 50% (often achieved bypost-processing)
• Output can neither be predicted nor be reproduced
Typically used for generation of keys, nonces (used only-once values) and for
many other purposes
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl16
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl17
■ Pseudorandom Number Generator (PRNG)
•Generate sequences from initial seed value
•Typically, output stream has good statistical properties
•Output can be reproduced and can be predicted
•Often computed in a recursive way:
Example: rand() function in ANSIC:
Most PRNGs have bad cryptographic properties!
■ Cryptanalyzing a Simple PRNG
Simple PRNG: Linear Congruential Generator
S0 = seed
Si+1 = A Si + B mod m, i = 0, 1, 2, ...
Assume
• unknown A, B and S0 as key
• Size of A, B and Si to be 100 bit
• 300 bits of output are known, i.e. S1, S2 and S3
Solving
…directly reveals A and B. All Si can be computed easily!
Bad cryptographic properties due to the linearity of most PRNGs
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl18
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl19
■ Cryptographically Secure
Pseudorandom Number Generator
(CSPRNG)
• Special PRNG with additional property:
• Output must be unpredictable
More precisely: Given n consecutive bits of output si , the
following output bits sn+1
cannot be predicted (in polynomial time).
• Needed in cryptography, in particular for stream ciphers
• Remark: There are almost no other applications that need
unpredictability, whereas many, many (technical) systems
need PRNGs.
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl20
One-Time Pad (OTP)
■ One-Time Pad (OTP)
Unconditionally secure cryptosystem:
• A cryptosystem is unconditionally secure if it cannot be broken even with
infinite computational resources
One-Time Pad
• A cryptosystem developed by Mauborgne that is based on Vernam’s stream
cipher:
• Properties:
Let the plaintext, ciphertext and key consist of individual bits
xi, yi, ki ∈ {0,1}.
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl21
Encryption:
Decryption:
eki
(xi) = xi ⊕ ki.
dki
(yi) = yi ⊕ ki
OTP is unconditionally secure if and only if the key ki. is used once!
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl22
■ One-Time Pad (OTP)
Unconditionally secure cryptosystem:
Every equation is a linear equation with two unknowns
for every yi are xi = 0 and xi = 1 equiprobable!
This is true iff k0, k1, ... are independent, i.e., all ki have to be
generated truly random
It can be shown that this systems can provably not be solved.
Disadvantage: For almost all applications the OTP is impractical
since the key must be as long as the message! (Imagine you
have to encrypt a 1GByte email attachment.)
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl23
Linear Feedback Shift Registers (LFSRs)
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Linear Feedback Shift Registers (LFSRs)
• Concatenated flip-flops (FF), i.e., a shift register together with a feedback path
• Feedback computes fresh input by XOR of certain state bits
• Degree m given by number of storage elements
• If pi = 1, the feedback connection is present (“closed switch), otherwise there is
not feedback from this flip-flop (“open switch”)
• Output sequence repeats periodically
• Maximum output length: 2m-1
24
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Linear Feedback Shift Registers (LFSRs): Example with m=3
clk FF2 FF1 FF0=si
0 1 0 0
1 0 1 0
2 1 0 1
3 1 1 0
4 1 1 1
5 0 1 1
6 0 0 1
7 1 0 0
8 0 1 0
25
• LFSR output described by 

equations:
• Maximum output length (of 23-1=7) achieved only for certain
feedback configurations, .e.g., the one shown here.
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
*See Chapter 2 of Understanding Cryptography for furtherdetails.
■ Security of LFSRs
LFSRs typically described bypolynomials:
• Single LFSRs generate highly predictable output
• If 2m output bits of an LFSR of degree m are known, the feedback
coefficients pi of the LFSR can be found by solving a system of linear
equations*
• Because of this many stream ciphers use combinations of LFSRs
26
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl27
Trivium: a modern stream cipher
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ A Modern Stream Cipher - Trivium
• Three nonlinear LFSRs (NLFSR) of length 93, 84, 111
• XOR-Sum of all three NLFSR outputs generates key stream si
• Small in Hardware:
• Total register count: 288
• Non-linearity: 3 AND-Gates
• 7 XOR-Gates (4 with three inputs)
28
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl
■ Trivium
Initialization:
• Load 80-bit IV intoA
• Load 80-bit key into B
• Set c109 , c110 , c111 =1, all other bits 0
Warm-Up:
• Clock cipher 4 x 288 = 1152 times without generating output
Encryption:
• XOR-Sum of all three NLFSR outputs generates key stream si
Design can be parallelized to produce up to 64 bits of output per clock cycle
Register length Feedback bit Feedforward bit AND inputs
A 93 69 66 91, 92
B 84 78 69 82, 83
C 111 87 66 109, 110
29
Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl30
■ Lessons Learned
• Stream ciphers are less popular than block ciphers in most domains such as Internet
security. There are exceptions, for instance, the popular stream cipher RC4.
• Stream ciphers sometimes require fewer resources, e.g., code size or chip area, for
implementation than block ciphers, and they are attractive for use in constrained
environments such as cell phones.
• The requirements for a cryptographically secure pseudorandom number generator are far
more demanding than the requirements for pseudorandom number generators used in other
applications such as testing or simulation
• The One-Time Pad is a provable secure symmetric cipher. However, it is highly impractical
for most applications because the key length has to equal the messagelength.
• Single LFSRs make poor stream ciphers despite their good statistical properties.However,
careful combinations of several LFSR can yield strong ciphers.
2. Stream Ciphers

More Related Content

PPT
Cryptography and Network Security William Stallings Lawrie Brown
PDF
Introduction to Cryptography Part I
PPTX
Rsa Crptosystem
PDF
Block Ciphers Modes of Operation
PDF
Sha
PPT
overview of cryptographic techniques
PDF
Pseudo Random Number Generators
Cryptography and Network Security William Stallings Lawrie Brown
Introduction to Cryptography Part I
Rsa Crptosystem
Block Ciphers Modes of Operation
Sha
overview of cryptographic techniques
Pseudo Random Number Generators

What's hot (20)

PDF
AES-Advanced Encryption Standard
PPTX
Hash Function
PDF
symmetric key encryption algorithms
PPT
Caesar cipher
PPTX
Message digest 5
PDF
Introduction to Cryptography
PPT
Polyalphabetic Substitution Cipher
PPTX
3 public key cryptography
PPTX
Data Encryption Standard (DES)
PPTX
Introduction to Cryptography
PPT
Digital Signature Standard
PPTX
Public Key Cryptography
PPTX
Cryptography.ppt
PPT
DES (Data Encryption Standard) pressentation
PPTX
Cryptography
PPTX
Cryptography.ppt
PPT
Symmetric and Asymmetric Encryption.ppt
PPTX
SHA- Secure hashing algorithm
PPT
Network Security and Cryptography
AES-Advanced Encryption Standard
Hash Function
symmetric key encryption algorithms
Caesar cipher
Message digest 5
Introduction to Cryptography
Polyalphabetic Substitution Cipher
3 public key cryptography
Data Encryption Standard (DES)
Introduction to Cryptography
Digital Signature Standard
Public Key Cryptography
Cryptography.ppt
DES (Data Encryption Standard) pressentation
Cryptography
Cryptography.ppt
Symmetric and Asymmetric Encryption.ppt
SHA- Secure hashing algorithm
Network Security and Cryptography
Ad

Similar to 2. Stream Ciphers (20)

PDF
Introduction to Cryptography Parts II and III
PPTX
Chapter3-Stream_Ciphers nbmnb,jkbnm.pptx
PDF
SymmetricCryptography-Part3 - Tagged.pdf
PDF
CNIT 141: 5. More About Block Ciphers + Modular Arithmetic 2
PDF
3 Basics of Cryptography Basics of Cryptography
PPT
Iss lecture 2
PDF
Applied cryptanalysis - stream ciphers
PPT
Computer security
PPT
Computer security
PPT
Computer security
PPT
Computer security
PPT
Computer security
PPT
Computer security
PPT
Computer security
PPTX
Information and data security pseudorandom number generation and stream cipher
PPTX
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz
PPTX
ChapterTwoCryptoTheStreamCipherFHSU.pptx
PDF
CRYPTO Module 05.in.pdf
PPT
Ciphers
PDF
CNIT 141 5. Stream Ciphers
Introduction to Cryptography Parts II and III
Chapter3-Stream_Ciphers nbmnb,jkbnm.pptx
SymmetricCryptography-Part3 - Tagged.pdf
CNIT 141: 5. More About Block Ciphers + Modular Arithmetic 2
3 Basics of Cryptography Basics of Cryptography
Iss lecture 2
Applied cryptanalysis - stream ciphers
Computer security
Computer security
Computer security
Computer security
Computer security
Computer security
Computer security
Information and data security pseudorandom number generation and stream cipher
«Applied cryptanalysis stream ciphers» by Vladimir Garbuz
ChapterTwoCryptoTheStreamCipherFHSU.pptx
CRYPTO Module 05.in.pdf
Ciphers
CNIT 141 5. Stream Ciphers
Ad

More from Sam Bowne (20)

PDF
Introduction to the Class & CISSP Certification
PDF
Cyberwar
PDF
3: DNS vulnerabilities
PDF
8. Software Development Security
PDF
4 Mapping the Application
PDF
3. Attacking iOS Applications (Part 2)
PDF
12 Elliptic Curves
PDF
11. Diffie-Hellman
PDF
2a Analyzing iOS Apps Part 1
PDF
9 Writing Secure Android Applications
PDF
12 Investigating Windows Systems (Part 2 of 3)
PDF
10 RSA
PDF
12 Investigating Windows Systems (Part 1 of 3
PDF
9. Hard Problems
PDF
8 Android Implementation Issues (Part 1)
PDF
11 Analysis Methodology
PDF
8. Authenticated Encryption
PDF
7. Attacking Android Applications (Part 2)
PDF
7. Attacking Android Applications (Part 1)
PDF
5. Stream Ciphers
Introduction to the Class & CISSP Certification
Cyberwar
3: DNS vulnerabilities
8. Software Development Security
4 Mapping the Application
3. Attacking iOS Applications (Part 2)
12 Elliptic Curves
11. Diffie-Hellman
2a Analyzing iOS Apps Part 1
9 Writing Secure Android Applications
12 Investigating Windows Systems (Part 2 of 3)
10 RSA
12 Investigating Windows Systems (Part 1 of 3
9. Hard Problems
8 Android Implementation Issues (Part 1)
11 Analysis Methodology
8. Authenticated Encryption
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 1)
5. Stream Ciphers

Recently uploaded (20)

PPTX
Lesson notes of climatology university.
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Complications of Minimal Access Surgery at WLH
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
Yogi Goddess Pres Conference Studio Updates
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Trump Administration's workforce development strategy
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Lesson notes of climatology university.
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Complications of Minimal Access Surgery at WLH
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
VCE English Exam - Section C Student Revision Booklet
GDM (1) (1).pptx small presentation for students
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Final Presentation General Medicine 03-08-2024.pptx
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Anesthesia in Laparoscopic Surgery in India
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
O5-L3 Freight Transport Ops (International) V1.pdf
Cell Structure & Organelles in detailed.
Yogi Goddess Pres Conference Studio Updates
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Supply Chain Operations Speaking Notes -ICLT Program
Module 4: Burden of Disease Tutorial Slides S2 2025
Trump Administration's workforce development strategy
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf

2. Stream Ciphers

  • 1. Understanding Cryptography – A Textbook for Students and Practitioners by Christof Paar and JanPelzl www.crypto-textbook.com Chapter 2 – Stream Ciphers ver. October 29, 2009 These slides were prepared by Thomas Eisenbarth, Christof Paar and JanPelzl Modified by Sam Bowne
  • 2. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl2 Some legal stuff (sorry): Terms of Use • The slides can used free of charge. All copyrights for the slides remain with the authors. • The title of the accompanying book “Understanding Cryptography” by Springer and the author’s names must remain on eachslide. • If the slides are modified, appropriate credits to the book authorsand the book title must remain within the slides. • It is not permitted to reproduce parts or all of the slides in printedform whatsoever without written consent by the authors.
  • 3. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl3 Contents of this Chapter • Intro to stream ciphers • Random number generators (RNGs) • One-Time Pad (OTP) • Linear feedback shift registers (LFSRs) • Trivium: a modern stream cipher
  • 4. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl4 Intro to Stream Ciphers
  • 5. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Stream Ciphers in the Field of Cryptology Cryptology Cryptography Cryptanalysis Symmetric Ciphers Asymmetric Ciphers Protocols Block Ciphers Stream Ciphers Stream Ciphers were invented in 1917 by Gilbert Vernam 5
  • 6. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Stream Cipher 6
  • 7. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Block Cipher 7
  • 8. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Stream Cipher vs. Block Cipher • Stream Ciphers • Encrypt bits individually • Usually small and fast • Common in embedded devices (e.g., A5/1 for GSM phones) • Block Ciphers: • Always encrypt a full block (several bits) • Are common for Internet applications 8
  • 9. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl • Encryption and decryption are simple additions modulo 2 (aka XOR) • Encryption and decryption are the same functions xi , yi , si ∈ {0,1}• Encryption: yi = esi(xi ) = xi + si mod 2 • Decryption: xi = esi(yi ) = yi + si mod 2 ■ Encryption and Decryption with Stream Ciphers Plaintext xi, ciphertext yi and key stream si consist of individual bits 9
  • 10. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Synchronous vs. Asynchronous Stream Cipher • Security of stream cipher depends entirely on the key stream si : • Should be random , i.e., Pr(si = 0) = Pr(si = 1) = 0.5 • Must be reproducible by sender and receiver • Synchronous Stream Cipher • Key stream depend only on the key (and possibly an initialization vector IV) • Asynchronous Stream Ciphers • Key stream depends also on the ciphertext (dotted feedback enabled) 10
  • 11. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Why is Modulo 2 Addition a Good Encryption Function? • Modulo 2 addition is equivalent to XOR operation • For perfectly random key stream si , each ciphertext output bit has a 50% chance to be 0 or 1 Good statistic property forciphertext • Inverting XOR is simple, since it is the same XOR operation xi si yi 0 0 0 0 1 1 1 0 1 1 1 0 11
  • 12. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl12 ■ Stream Cipher: Throughput Performance comparison of symmetric ciphers(Pentium4): Cipher Key length Mbit/s DES 56 36.95 3DES 112 13.32 AES 128 51.19 RC4 (stream cipher) (choosable) 211.34 Source: Zhao et al., Anatomy and Performance of SSL Processing, ISPASS 2005
  • 14. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl14 Random Number Generators (RNGs)
  • 15. ■ Random number generators (RNGs) RNG Cryptographically Secure RNG Pseudorandom NGTrue RNG Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl15
  • 16. ■ True Random Number Generators (TRNGs) • Based on physical random processes: coin flipping, dice rolling, semiconductor noise, radioactive decay, mouse movement, clock jitter of digital circuits • Output stream si should have good statistical properties: Pr(si = 0) = Pr(si = 1) = 50% (often achieved bypost-processing) • Output can neither be predicted nor be reproduced Typically used for generation of keys, nonces (used only-once values) and for many other purposes Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl16
  • 17. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl17 ■ Pseudorandom Number Generator (PRNG) •Generate sequences from initial seed value •Typically, output stream has good statistical properties •Output can be reproduced and can be predicted •Often computed in a recursive way: Example: rand() function in ANSIC: Most PRNGs have bad cryptographic properties!
  • 18. ■ Cryptanalyzing a Simple PRNG Simple PRNG: Linear Congruential Generator S0 = seed Si+1 = A Si + B mod m, i = 0, 1, 2, ... Assume • unknown A, B and S0 as key • Size of A, B and Si to be 100 bit • 300 bits of output are known, i.e. S1, S2 and S3 Solving …directly reveals A and B. All Si can be computed easily! Bad cryptographic properties due to the linearity of most PRNGs Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl18
  • 19. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl19 ■ Cryptographically Secure Pseudorandom Number Generator (CSPRNG) • Special PRNG with additional property: • Output must be unpredictable More precisely: Given n consecutive bits of output si , the following output bits sn+1 cannot be predicted (in polynomial time). • Needed in cryptography, in particular for stream ciphers • Remark: There are almost no other applications that need unpredictability, whereas many, many (technical) systems need PRNGs.
  • 20. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl20 One-Time Pad (OTP)
  • 21. ■ One-Time Pad (OTP) Unconditionally secure cryptosystem: • A cryptosystem is unconditionally secure if it cannot be broken even with infinite computational resources One-Time Pad • A cryptosystem developed by Mauborgne that is based on Vernam’s stream cipher: • Properties: Let the plaintext, ciphertext and key consist of individual bits xi, yi, ki ∈ {0,1}. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl21 Encryption: Decryption: eki (xi) = xi ⊕ ki. dki (yi) = yi ⊕ ki OTP is unconditionally secure if and only if the key ki. is used once!
  • 22. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl22 ■ One-Time Pad (OTP) Unconditionally secure cryptosystem: Every equation is a linear equation with two unknowns for every yi are xi = 0 and xi = 1 equiprobable! This is true iff k0, k1, ... are independent, i.e., all ki have to be generated truly random It can be shown that this systems can provably not be solved. Disadvantage: For almost all applications the OTP is impractical since the key must be as long as the message! (Imagine you have to encrypt a 1GByte email attachment.)
  • 23. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl23 Linear Feedback Shift Registers (LFSRs)
  • 24. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Linear Feedback Shift Registers (LFSRs) • Concatenated flip-flops (FF), i.e., a shift register together with a feedback path • Feedback computes fresh input by XOR of certain state bits • Degree m given by number of storage elements • If pi = 1, the feedback connection is present (“closed switch), otherwise there is not feedback from this flip-flop (“open switch”) • Output sequence repeats periodically • Maximum output length: 2m-1 24
  • 25. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Linear Feedback Shift Registers (LFSRs): Example with m=3 clk FF2 FF1 FF0=si 0 1 0 0 1 0 1 0 2 1 0 1 3 1 1 0 4 1 1 1 5 0 1 1 6 0 0 1 7 1 0 0 8 0 1 0 25 • LFSR output described by 
 equations: • Maximum output length (of 23-1=7) achieved only for certain feedback configurations, .e.g., the one shown here.
  • 26. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl *See Chapter 2 of Understanding Cryptography for furtherdetails. ■ Security of LFSRs LFSRs typically described bypolynomials: • Single LFSRs generate highly predictable output • If 2m output bits of an LFSR of degree m are known, the feedback coefficients pi of the LFSR can be found by solving a system of linear equations* • Because of this many stream ciphers use combinations of LFSRs 26
  • 27. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl27 Trivium: a modern stream cipher
  • 28. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ A Modern Stream Cipher - Trivium • Three nonlinear LFSRs (NLFSR) of length 93, 84, 111 • XOR-Sum of all three NLFSR outputs generates key stream si • Small in Hardware: • Total register count: 288 • Non-linearity: 3 AND-Gates • 7 XOR-Gates (4 with three inputs) 28
  • 29. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl ■ Trivium Initialization: • Load 80-bit IV intoA • Load 80-bit key into B • Set c109 , c110 , c111 =1, all other bits 0 Warm-Up: • Clock cipher 4 x 288 = 1152 times without generating output Encryption: • XOR-Sum of all three NLFSR outputs generates key stream si Design can be parallelized to produce up to 64 bits of output per clock cycle Register length Feedback bit Feedforward bit AND inputs A 93 69 66 91, 92 B 84 78 69 82, 83 C 111 87 66 109, 110 29
  • 30. Chapter 2 of Understanding Cryptography by Christof Paar and Jan Pelzl30 ■ Lessons Learned • Stream ciphers are less popular than block ciphers in most domains such as Internet security. There are exceptions, for instance, the popular stream cipher RC4. • Stream ciphers sometimes require fewer resources, e.g., code size or chip area, for implementation than block ciphers, and they are attractive for use in constrained environments such as cell phones. • The requirements for a cryptographically secure pseudorandom number generator are far more demanding than the requirements for pseudorandom number generators used in other applications such as testing or simulation • The One-Time Pad is a provable secure symmetric cipher. However, it is highly impractical for most applications because the key length has to equal the messagelength. • Single LFSRs make poor stream ciphers despite their good statistical properties.However, careful combinations of several LFSR can yield strong ciphers.