The RC4 Stream Cipher

The RC4 Stream Cipher

Introduction to Cryptography CS 355 Lecture 12 The RC4 Stream Cipher CS 355 Fall 2005 / Lecture 12 1 Review • One Time Pad (OTP) has perfect secrecy – requires key as long as plaintext • Stream cipher approximates OTP by using PRNG • A PRNG expands a short random seed into a long string that “looks random” • A PRNG-based stream cipher has fundamental weaknesses – same stream cannot be used twice – highly malleable CS 355 Fall 2005 / Lecture 12 2 The RC4 Stream Cipher • A proprietary cipher owned by RSA, designed by Ron Rivest in 1987. • Became public in 1994. • Simple and effective design. • Variable key size, byte-oriented stream cipher. • Widely used (web SSL/TLS, wireless WEP). CS 355 Fall 2005 / Lecture 12 3 The RC4 Cipher: Encryption • The cipher internal state consists of – a 256-byte array S, which contains a permutation of 0 to 255 • total number of possible states is 256! » 21700 – two indexes: i, j i = j = 0 Loop i = (i + 1) (mod 256) j = (j + S[i]) (mod 256) swap(S[i], S[j]) output (S[i] + S[j]) (mod 256) End Loop CS 355 Fall 2005 / Lecture 12 4 RC4 Initialization • Generate the initial permutation from a key k; maximum key length is 2048 bits • First divide k into L bytes • Then for i = 0 to 255 do S[i] = i j = 0 for i = 0 to 255 do j = (j + S[i] + k[i mod L])(mod 256) swap (S[i], S[j]) CS 355 Fall 2005 / Lecture 12 5 RC4 Cryptanalysis • Known weaknesses: – Problem with init • the first byte generated by RC4 leaks information about individual key bytes. • best to drop first 256 bytes of output CS 355 Fall 2005 / Lecture 12 6 802.11 Security • Used between a Wireless Access Point and Wireless Ethernet Cards • Existing security consists of two subsystems – A data encapsulation technique called Wired Equivalent Privacy (WEP) – An authentication algorithm called Shared Key Authentication • Goals – Create the privacy achieved by a wired network – Simulate physical access control by denying access to unauthenticated stations CS 355 Fall 2005 / Lecture 12 7 WEP Encapsulation 802.11 Hdr Data Encapsulate Decapsulate 802.11 Hdr IV Data ICV WEP Encapsulation Summary: • A master key shared between the end points • Encryption Algorithm = RC4 • Per-packet encryption key = 24-bit IV concatenated to a master key • WEP allows IV to be reused with any frame • Data integrity provided by CRC-32 of the plaintext data (the “ICV”) • Data and ICV are encrypted under the per-packet encryption key CS 355 Fall 2005 / Lecture 12 8 What Went Wrong in WEP? • The space of IV is too small & IV is sent in clear. • With two messages encrypted using the same IV, one can recover the key stream. • The attack is made much easier by chosen plaintext attacks, which can be carried out in the environment where WEP is used. CS 355 Fall 2005 / Lecture 12 9 Ways to Accelerate the Attack – Send spam into the network: no pattern recognition required! – Get the victim to send e-mail to you • The AP creates the plaintext for you! – Decrypt packets from one Station to another via an Access Point • If you know the plaintext on one leg of the journey, you can recover the key stream immediately on the other – Etc., etc., etc. CS 355 Fall 2005 / Lecture 12 10 Coming Attractions … • Block Ciphers, DES • Recommended reading for next lecture: – Trappe & Washington: 4.1, 4.2 CS 355 Fall 2005 / Lecture 12 11.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 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