Stream Ciphers and Block Ciphers

Stream Ciphers and Block Ciphers

Stream Ciphers and Block Ciphers 2WC12 Cryptography I – Fall 2014 Ruben Niederhagen September 18th, 2013 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers I Symmetric-key crypto: • Same shared secret key for encryption and decryption. Advantages, disadvantages..? Introduction 2/22 Recall from last lecture: I Public-key crypto: • Pair of keys: public key for encryption, private key for decryption. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Advantages, disadvantages..? Introduction 2/22 Recall from last lecture: I Public-key crypto: • Pair of keys: public key for encryption, private key for decryption. I Symmetric-key crypto: • Same shared secret key for encryption and decryption. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Introduction 2/22 Recall from last lecture: I Public-key crypto: • Pair of keys: public key for encryption, private key for decryption. I Symmetric-key crypto: • Same shared secret key for encryption and decryption. Advantages, disadvantages..? 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers I Idea of a block cipher: partition the text into “large” (e.g. 128bit) blocks; encode each block independently. ! The same “key” is used for each block. Introduction: Symmetric-Key Crypto 3/22 Stream Cipher vs. Block Cipher: I Idea of a stream cipher: partition the text into small (e.g. 1bit) blocks; encoding of each block depends on the previous blocks. ! A different “key” is generated for each block. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Introduction: Symmetric-Key Crypto 3/22 Stream Cipher vs. Block Cipher: I Idea of a stream cipher: partition the text into small (e.g. 1bit) blocks; encoding of each block depends on the previous blocks. ! A different “key” is generated for each block. I Idea of a block cipher: partition the text into “large” (e.g. 128bit) blocks; encode each block independently. ! The same “key” is used for each block. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers ! ? Operate on an internal state which is updated after each block. Compute a key stream using the current state and the secret key. Encrypt the message stream with the key stream to cipher stream. Introduction: Symmetric-Key Crypto 4/22 Stream Ciphers: I symmetric-key cipher I state-driven: operates on arbitrary message length I commonly used stream ciphers: A5/1 and A5/2 (GSM), RC4 (SSL, WEP), eSTREAM Project 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Operate on an internal state which is updated after each block. Compute a key stream using the current state and the secret key. Encrypt the message stream with the key stream to cipher stream. Introduction: Symmetric-Key Crypto 4/22 Stream Ciphers: I symmetric-key cipher I state-driven: operates on arbitrary message length I commonly used stream ciphers: A5/1! and A5/2 (GSM), RC4? (SSL, WEP), eSTREAM Project 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Compute a key stream using the current state and the secret key. Encrypt the message stream with the key stream to cipher stream. Introduction: Symmetric-Key Crypto 4/22 Stream Ciphers: I symmetric-key cipher I state-driven: operates on arbitrary message length I commonly used stream ciphers: A5/1! and A5/2 (GSM), RC4? (SSL, WEP), eSTREAM Project Operate on an internal state which is updated after each block. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Encrypt the message stream with the key stream to cipher stream. Introduction: Symmetric-Key Crypto 4/22 Stream Ciphers: I symmetric-key cipher I state-driven: operates on arbitrary message length I commonly used stream ciphers: A5/1! and A5/2 (GSM), RC4? (SSL, WEP), eSTREAM Project Operate on an internal state which is updated after each block. Compute a key stream using the current state and the secret key. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Introduction: Symmetric-Key Crypto 4/22 Stream Ciphers: I symmetric-key cipher I state-driven: operates on arbitrary message length I commonly used stream ciphers: A5/1! and A5/2 (GSM), RC4? (SSL, WEP), eSTREAM Project Operate on an internal state which is updated after each block. Compute a key stream using the current state and the secret key. Encrypt the message stream with the key stream to cipher stream. 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers cipher stream: ci = decryption: mi = Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers decryption: mi = Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = h(zi ; mi ) with output function h 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = h(zi ; mi ) with output function h −1 decryption: mi = h (zi ; ci ) with inverse of h 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers cipher stream: ci = decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers decryption: mi = Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = h(zi ; mi ) with output function h 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = h(zi ; mi ) with output function h −1 decryption: mi = h (zi ; ci ) with inverse of h 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers Introduction: Symmetric-Key Crypto 5/22 Synchronous Stream Ciphers: Given key K and initial state σ−1: state: σi = f (σi−1; K) with next-state function f key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci Self-Synchronizing Stream Ciphers: Given key K and initial state c−1 ::: c−t : state: σi = (ci−1; ci−2;::: ci−t ) key stream: zi = g(σi ; K) with key-stream function g cipher stream: ci = zi ⊕ mi decryption: mi = zi ⊕ ci 2WC12 Cryptography I – Fall 2014 Stream Ciphers and Block Ciphers An n-bit block cipher is a function E : f0; 1gn × K ! f0; 1gn.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    76 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us