Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

RC4

From Wikipedia, the free encyclopedia
Stream cipher
This article is about the stream cipher. For other uses, seeRC4 (disambiguation).

RC4
General
DesignersRon Rivest (RSA Security)
First publishedLeaked in 1994
(designed in 1987)
Cipher detail
Key sizes40–2048 bits
State size2064 bits (1684 effective)
Rounds1
Speed7 cycles per byte onoriginal Pentium[1]
Modified Alleged RC4 on Intel Core 2: 13.9 cycles per byte[2]

Incryptography,RC4 (also known asARC4 orARCFOUR, meaning Alleged RC4, see below) is astream cipher. While it is remarkable for its simplicity and speed in software, multiple vulnerabilities have been discovered in RC4, rendering it insecure.[3][4] It is especially vulnerable when the beginning of the outputkeystream is not discarded, or when nonrandom or related keys are used. Particularly problematic uses of RC4 have led to very insecureprotocols such asWEP.[5]

As of 2015[update], there is speculation that some state cryptologic agencies may possess the capability to break RC4 when used in theTLS protocol.[6]IETF has published RFC 7465 to prohibit the use of RC4 in TLS;[3]Mozilla andMicrosoft have issued similar recommendations.[7][8]

A number of attempts have been made to strengthen RC4, notably Spritz, RC4A,VMPC, and RC4+.

History

[edit]

RC4 is a stream cipher designed by Ronald Rivest of RSA Security in 1987. According to Rivest, the letters RC stand for “Ron's Code”[9], though in general it is simply referred to as RC4. The same naming convention applies to RC2, RC5, and RC6.

RC4 was initially atrade secret, but in September 1994, a description of it was anonymously posted to theCypherpunks mailing list.[10] It was soon posted on thesci.cryptnewsgroup, where it wasbroken within days byBob Jenkins.[11] From there, it spread to many sites on the Internet. The leaked code was confirmed to be genuine, as its output was found to match that of proprietary software using licensed RC4. Because the algorithm is known, it is no longer a trade secret. The nameRC4 is trademarked, so RC4 is often referred to asARCFOUR orARC4 (meaningalleged RC4)[12] to avoid trademark problems.RSA Security has never officially released the algorithm; Rivest has, however, linked to theEnglish Wikipedia article on RC4 in his own course notes in 2008[13] and confirmed the history of RC4 and its code in a 2014 paper by him.[14]

RC4 became part of some commonly used encryption protocols and standards, such asWEP in 1997 andWPA in 2003/2004 for wireless cards; andSSL in 1995 and its successorTLS in 1999, until it was prohibited for all versions of TLS by RFC 7465 in 2015, due to theRC4 attacks weakening or breaking RC4 used in SSL/TLS. The main factors in RC4's success over such a wide range of applications have been its speed and simplicity: efficient implementations in both software and hardware were very easy to develop.

Description

[edit]

RC4 generates apseudorandom stream of bits (akeystream). As with any stream cipher, these can be used for encryption by combining it with the plaintext using bitwiseexclusive or; decryption is performed the same way (since exclusive or with given data is aninvolution). This is similar to theone-time pad, except that generatedpseudorandom bits, rather than a prepared stream, are used.

To generate the keystream, the cipher makes use of a secret internal state which consists of two parts:

  1. Apermutation of all 256 possiblebytes (denoted "S" below).
  2. Two 8-bit index-pointers (denoted "i" and "j").

The permutation is initialized with a variable-lengthkey, typically between 40 and 2048 bits, using thekey-scheduling algorithm (KSA). Once this has been completed, the stream of bits is generated using thepseudo-random generation algorithm (PRGA).

Key-scheduling algorithm (KSA)

[edit]

Thekey-scheduling algorithm is used to initialize the permutation in the array "S". "keylength" is defined as the number of bytes in the key and can be in the range 1 ≤ keylength ≤ 256, typically between 5 and 16, corresponding to akey length of 40–128 bits. First, the array "S" is initialized to theidentity permutation. S is then processed for 256 iterations in a similar way to the main PRGA, but also mixes in bytes of the key at the same time.

for ifrom 0to 255    S[i] := iendforj := 0for ifrom 0to 255    j := (j + S[i] + key[imod keylength]) mod 256    swap values of S[i] and S[j]endfor

Pseudo-random generation algorithm (PRGA)

[edit]
The lookup stage of RC4. The output byte is selected by looking up the values ofS[i] andS[j], adding them together modulo 256, and then using the sum as an index intoS;S(S[i] + S[j]) is used as a byte of the key stream K.

For as many iterations as are needed, the PRGA modifies the state and outputs a byte of the keystream. In each iteration, the PRGA:

  • incrementsi;
  • looks up theith element ofS,S[i], and adds that toj;
  • exchanges the values ofS[i] andS[j], then uses the sumS[i] + S[j] (modulo 256) as an index to fetch a third element ofS (the keystream valueK below);
  • then bitwise exclusive ORed (XORed) with the next byte of the message to produce the next byte of either ciphertext or plaintext.

Each element of S is swapped with another element at least once every 256 iterations.

i := 0j := 0while GeneratingOutput:    i := (i + 1) mod 256    j := (j + S[i]) mod 256swap values of S[i] and S[j]    t := (S[i] + S[j]) mod 256    K := S[t]    output Kendwhile

Thus, this produces a stream ofK[0], K[1], ... which areXORed with theplaintext to obtain theciphertext. Sociphertext[l] = plaintext[l] ⊕ K[l].

RC4-based random number generators

[edit]

Severaloperating systems includearc4random, an API originating inOpenBSD providing access to a random number generator originally based on RC4. The API allows no seeding, as the function initializes itself using/dev/random. The use of RC4 has been phased out in most systems implementing this API.Man pages for the new arc4random include thebackronym "A Replacement Call for Random" for ARC4 as a mnemonic, as it provides better random data thanrand() does.[15]

  • In OpenBSD 5.5, released in May 2014,arc4random was modified to useChaCha20.[16][17] The implementations of arc4random inFreeBSD,NetBSD[18][19] also use ChaCha20.
    • Linux typically usesglibc, which did not offerarc4random until 2022. Instead, a separate library, libbsd, offers the function; it was updated to use ChaCha20 in 2016.[20] In 2022,glibc added its own version ofarc4random, also based on ChaCha20.[21]
  • According to manual pages shipped with the operating system, in the 2017 release ofmacOS andiOS operating systems, Apple replaced RC4 with AES in its implementation of arc4random.

Proposed new random number generators are often compared to the RC4 random number generator.[22][23]

Several attacks on RC4 are able todistinguish its output from a random sequence.[24]

Implementation

[edit]

Many stream ciphers are based onlinear-feedback shift registers (LFSRs), which, while efficient in hardware, are less so in software. The design of RC4 avoids the use of LFSRs and is ideal for software implementation, as it requires only byte manipulations. It uses 256 bytes of memory for the state array, S[0] through S[255], k bytes of memory for the key, key[0] through key[k−1], and integer variables, i, j, and K. Performing a modular reduction of some value modulo 256 can be done with abitwise AND with 255 (which is equivalent to taking the low-order byte of the value in question).

Test vectors

[edit]

These test vectors are not official, but convenient for anyone testing their own RC4 program. The keys and plaintext areASCII, the keystream and ciphertext are inhexadecimal.

KeyKeystreamPlaintextCiphertext
KeyEB9F7781B734CA72A719PlaintextBBF316E8D940AF0AD3
Wiki6044DB6D41B7pedia1021BF0420
Secret04D46B053CA87B59Attack at dawn45A01F645FC35B383552544B9BF5

Security

[edit]

Unlike a modern stream cipher (such as those ineSTREAM), RC4 does not take a separatenonce alongside the key. This means that if a single long-term key is to be used to securely encrypt multiple streams, the protocol must specify how to combine the nonce and the long-term key to generate the stream key for RC4. One approach to addressing this is to generate a "fresh" RC4 key byhashing a long-term key with anonce. However, many applications that use RC4 simply concatenate key and nonce; RC4's weakkey schedule then gives rise torelated-key attacks, like theFluhrer, Mantin and Shamir attack (which is famous for breaking theWEP standard).[25]

Because RC4 is astream cipher, it is moremalleable than commonblock ciphers. If not used together with a strongmessage authentication code (MAC), then encryption is vulnerable to abit-flipping attack. The cipher is also vulnerable to astream cipher attack if not implemented correctly.[26]

It is noteworthy, however, that RC4, being a stream cipher, was for a period of time the only common cipher that was immune[27] to the 2011BEAST attack onTLS 1.0. The attack exploits a known weakness in the waycipher-block chaining mode is used with all of the other ciphers supported by TLS 1.0, which are all block ciphers.

In March 2013, there were new attack scenarios proposed by Isobe, Ohigashi, Watanabe and Morii,[28] as well as AlFardan, Bernstein, Paterson, Poettering and Schuldt that use new statistical biases in RC4 key table[29] to recover plaintext with large number of TLS encryptions.[30][31]

The use of RC4 in TLS is prohibited by RFC 7465 published in February 2015.

Roos' biases and key reconstruction from permutation

[edit]

In 1995, Andrew Roos experimentally observed that the first byte of the keystream is correlated with the first three bytes of the key, and the first few bytes of the permutation after the KSA are correlated with some linear combination of the key bytes.[32] These biases remained unexplained until 2007, when Goutam Paul, Siddheshwar Rathi and Subhamoy Maitra[33] proved the keystream–key correlation and, in another work, Goutam Paul and Subhamoy Maitra[34] proved the permutation–key correlations. The latter work also used the permutation–key correlations to design the first algorithm for complete key reconstruction from the final permutation after the KSA, without any assumption on the key orinitialization vector. This algorithm has a constant probability of success in a time, which is the square root of the exhaustive key search complexity. Subsequently, many other works have been performed on key reconstruction from RC4 internal states.[35][36][37] Subhamoy Maitra and Goutam Paul[38] also showed that the Roos-type biases still persist even when one considers nested permutation indices, likeS[S[i]] orS[S[S[i]]]. These types of biases are used in some of the later key reconstruction methods for increasing the success probability.

Biased outputs of the RC4

[edit]

The keystream generated by the RC4 is biased to varying degrees towards certain sequences, making it vulnerable todistinguishing attacks. The best such attack is due to Itsik Mantin andAdi Shamir, who showed that the second output byte of the cipher was biased toward zero with probability 1/128 (instead of 1/256). This is due to the fact that if the third byte of the original state is zero, and the second byte is not equal to 2, then the second output byte is always zero. Such bias can be detected by observing only 256 bytes.[24]

Souradyuti Paul andBart Preneel ofCOSIC showed that the first and the second bytes of the RC4 were also biased. The number of required samples to detect this bias is 225 bytes.[39]

Scott Fluhrer and David McGrew also showed attacks that distinguished the keystream of the RC4 from a random stream given a gigabyte of output.[40]

The complete characterization of a single step of RC4 PRGA was performed by Riddhipratim Basu, Shirshendu Ganguly, Subhamoy Maitra, and Goutam Paul.[41] Considering all the permutations, they proved that the distribution of the output is not uniform given i and j, and as a consequence, information about j is always leaked into the output.

Fluhrer, Mantin and Shamir attack

[edit]
Main article:Fluhrer, Mantin and Shamir attack

In 2001, a new and surprising discovery was made byFluhrer,Mantin andShamir: over all the possible RC4 keys, the statistics for the first few bytes of output keystream are strongly non-random, leaking information about the key. If the nonce and long-term key are simply concatenated to generate the RC4 key, this long-term key can be discovered by analysing a large number of messages encrypted with this key.[42] This and related effects were then used to break theWEP ("wired equivalent privacy") encryption used with802.11wireless networks. This caused a scramble for a standards-based replacement for WEP in the 802.11 market and led to theIEEE 802.11i effort andWPA.[43]

Protocols can defend against this attack by discarding the initial portion of the keystream. Such a modified algorithm is traditionally called "RC4-drop[n]", wheren is the number of initial keystream bytes that are dropped. The SCAN default isn = 768 bytes, but a conservative value would ben = 3072 bytes.[44]

The Fluhrer, Mantin and Shamir attack does not apply to RC4-based SSL, since SSL generates the encryption keys it uses for RC4 by hashing, meaning that different SSL sessions have unrelated keys.[45]

Klein's attack

[edit]

In 2005, Andreas Klein presented an analysis of the RC4 stream cipher, showing more correlations between the RC4 keystream and the key.[46]Erik Tews,Ralf-Philipp Weinmann, andAndrei Pychkine used this analysis to create aircrack-ptw, a tool that cracks 104-bit RC4 used in 128-bit WEP in under a minute.[47] Whereas the Fluhrer, Mantin, and Shamir attack used around 10 million messages, aircrack-ptw can break 104-bit keys in 40,000 frames with 50% probability, or in 85,000 frames with 95% probability.

Combinatorial problem

[edit]

A combinatorial problem related to the number of inputs and outputs of the RC4 cipher was first posed byItsik Mantin andAdi Shamir in 2001, whereby, of the total 256 elements in the typical state of RC4, ifx number of elements (x ≤ 256) areonly known (all other elements can be assumed empty), then the maximum number of elements that can be produced deterministically is alsox in the next 256 rounds. This conjecture was put to rest in 2004 with a formal proof given bySouradyuti Paul andBart Preneel.[48]

Royal Holloway attack

[edit]

In 2013, a group of security researchers at the Information Security Group at Royal Holloway, University of London reported an attack that can become effective using only 234 encrypted messages.[49][50][51] While yet not a practical attack for most purposes, this result is sufficiently close to one that it has led to speculation that it is plausible that some state cryptologic agencies may already have better attacks that render RC4 insecure.[6] Given that, as of 2013[update], a large amount ofTLS traffic uses RC4 to avoid attacks on block ciphers that usecipher block chaining, if these hypothetical better attacks exist, then this would make the TLS-with-RC4 combination insecure against such attackers in a large number of practical scenarios.[6]

In March 2015, researcher to Royal Holloway announced improvements to their attack, providing a 226 attack against passwords encrypted with RC4, as used in TLS.[52]

Bar mitzvah attack

[edit]
Main article:Bar mitzvah attack

At the Black Hat Asia 2015 Conference, Itsik Mantin presented another attack against SSL using RC4 cipher.[53][54]

NOMORE attack

[edit]

In 2015, security researchers fromKU Leuven presented new attacks against RC4 in bothTLS andWPA-TKIP.[55] Dubbed the Numerous Occurrence MOnitoring & Recovery Exploit (NOMORE) attack, it is the first attack of its kind that was demonstrated in practice. Their attack againstTLS can decrypt a secureHTTP cookie within 75 hours. The attack against WPA-TKIP can be completed within an hour and allows an attacker to decrypt and inject arbitrary packets.

RC4 variants

[edit]

As mentioned above, the most important weakness of RC4 comes from the insufficient key schedule; the first bytes of output reveal information about the key. This can be corrected by simply discarding some initial portion of the output stream.[56] This is known as RC4-dropN, whereN is typically a multiple of 256, such as 768 or 1024.

A number of attempts have been made to strengthen RC4, notably Spritz, RC4A,VMPC, and RC4+.

RC4A

[edit]

Souradyuti Paul andBart Preneel have proposed an RC4 variant, which they call RC4A.[57]

RC4A uses two state arraysS1 andS2, and two indexesj1 andj2. Each timei is incremented, two bytes are generated:

  1. First, the basic RC4 algorithm is performed usingS1 andj1, but in the last step,S1[i]+S1[j1] is looked up inS2.
  2. Second, the operation is repeated (without incrementingi again) onS2 andj2, andS1[S2[i]+S2[j2]] is output.

Thus, the algorithm is:

All arithmetic is performed modulo 256i := 0j1 := 0j2 := 0while GeneratingOutput:    i := i + 1    j1 := j1 + S1[i]swap values of S1[i] and S1[j1]output S2[S1[i] + S1[j1]]    j2 := j2 + S2[i]    swap values of S2[i] and S2[j2]output S1[S2[i] + S2[j2]]endwhile

Although the algorithm required the same number of operations per output byte, there is greater parallelism than RC4, providing a possible speed improvement.

Although stronger than RC4, this algorithm has also been attacked, with Alexander Maximov[58] and a team from NEC[59] developing ways to distinguish its output from a truly random sequence.

VMPC

[edit]
Main article:Variably Modified Permutation Composition

Variably Modified Permutation Composition (VMPC) is another RC4 variant.[60] It uses similar key schedule as RC4, withj := S[(j + S[i] + key[i mod keylength]) mod 256] iterating 3 × 256 = 768 times rather than 256, and with an optional additional 768 iterations to incorporate an initial vector. The output generation function operates as follows:

All arithmetic is performed modulo 256.i := 0while GeneratingOutput:    j := S[j + S[i]]output S[S[S[j]] + 1]    Swap S[i] and S[j](b := S[j]; S[j] := S[i]; S[i] := b))        i := i + 1endwhile

This was attacked in the same papers as RC4A, and can be distinguished within 238 output bytes.[61][59]

RC4+

[edit]

RC4+ is a modified version of RC4 with a more complex three-phase key schedule (taking about three times as long as RC4, or the same as RC4-drop512), and a more complex output function which performs four additional lookups in the S array for each byte output, taking approximately 1.7 times as long as basic RC4.[62]

All arithmetic modulo 256.<< and>> are left and right shift, is exclusive ORwhile GeneratingOutput:    i := i + 1    a := S[i]    j := j + a        Swap S[i] and S[j](b := S[j]; S[j] := S[i]; S[i] := b;)        c := S[i<<5 ⊕ j>>3] + S[j<<5 ⊕ i>>3]output (S[a+b] + S[c⊕0xAA]) ⊕ S[j+b]endwhile

This algorithm has not been analyzed significantly.

Spritz

[edit]

In 2014, Ronald Rivest gave a talk and co-wrote a paper[14] on an updated redesign called Spritz. A hardware accelerator of Spritz was published in Secrypt, 2016[63] and shows that due to multiple nested calls required to produce output bytes, Spritz performs rather slowly compared to other hash functions such as SHA-3 and the best known hardware implementation of RC4.

Like othersponge functions, Spritz can be used to build a cryptographic hash function, a deterministic random bit generator (DRBG), an encryption algorithm that supportsauthenticated encryption with associated data (AEAD), etc.[14]

In 2016, Banik and Isobe proposed an attack that can distinguish Spritz from random noise.[64] In 2017, Banik, Isobe, and Morii proposed a simple fix that removes the distinguisher in the first two keystream bytes, requiring only one additional memory access without diminishing software performance substantially.[65]

RC4-based protocols

[edit]

Where a protocol is marked with "(optionally)", RC4 is one of multiple ciphers the system can be configured to use.

See also

[edit]

References

[edit]
  1. ^P. Prasithsangaree; P. Krishnamurthy (2003).Analysis of Energy Consumption of RC4 and AES Algorithms in Wireless LANs(PDF). GLOBECOM '03. IEEE. Archived fromthe original(PDF) on 3 December 2013.
  2. ^"Crypto++ 5.6.0 Benchmarks". Retrieved22 September 2015.
  3. ^abAndrei Popov (February 2015).Prohibiting RC4 Cipher Suites.doi:10.17487/RFC7465.RFC7465.
  4. ^Lucian Constantin (14 May 2014)."Microsoft continues RC4 encryption phase-out plan with .NET security updates".ComputerWorld.
  5. ^J. Katz; Y. Lindell (2014),Introduction to Modern Cryptography, Chapman and Hall/CRC, p. 77.
  6. ^abcJohn Leyden (6 September 2013)."That earth-shattering NSA crypto-cracking: Have spooks smashed RC4?".The Register.
  7. ^"Mozilla Security Server Side TLS Recommended Configurations". Mozilla. Retrieved3 January 2015.
  8. ^"Security Advisory 2868725: Recommendation to disable RC4". Microsoft. 12 November 2013. Retrieved4 December 2013.
  9. ^"Rivest FAQ at csail.mit.edu".
  10. ^"Thank you Bob Anderson".Cypherpunks (Mailing list). 9 September 1994. Archived fromthe original on 22 July 2001. Retrieved28 May 2007.
  11. ^Bob Jenkins (15 September 1994)."Re: RC4 ?".Newsgroupsci.crypt.Usenet: 359qjg$55v$1@mhadg.production.compuserve.com.
  12. ^"Manual Pages: arc4random". 5 June 2013. Retrieved2 February 2018.
  13. ^"6.857 Computer and Network Security Spring 2008: Lectures and Handouts".
  14. ^abcRivest, Ron; Schuldt, Jacob (27 October 2014)."Spritz – a spongy RC4-like stream cipher and hash function"(PDF). Retrieved26 October 2014.
  15. ^"arc4random(3)". OpenBSD.
  16. ^"OpenBSD 5.5". Retrieved21 September 2014.
  17. ^deraadt, ed. (21 July 2014)."libc/crypt/arc4random.c".BSD Cross Reference, OpenBSD src/lib/. Retrieved13 January 2015.ChaCha based random number generator for OpenBSD.
  18. ^riastradh, ed. (16 November 2014)."libc/gen/arc4random.c".BSD Cross Reference, NetBSD src/lib/. Retrieved13 January 2015.Legacy arc4random(3) API from OpenBSD reimplemented using the ChaCha20 PRF, with per-thread state.
  19. ^"arc4random – NetBSD Manual Pages". Archived fromthe original on 6 July 2020. Retrieved6 January 2015.
  20. ^"Update arc4random module from OpenBSD and LibreSSL". Retrieved6 January 2016.
  21. ^"GNU C Library Finally Adds arc4random Functions For Linux".www.phoronix.com.
  22. ^Bartosz Zoltak."VMPC-R: Cryptographically Secure Pseudo-Random Number Generator, Alternative to RC4".2010?
  23. ^Chefranov, A. G."Pseudo-Random Number Generator RC4 Period Improvement".2006.
  24. ^abItsik Mantin;Adi Shamir (2001).A Practical Attack on Broadcast RC4(PDF). FSE 2001. pp. 152–164.doi:10.1007/3-540-45473-X_13.
  25. ^"RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4". RSA Laboratories. 1 September 2001.
  26. ^Sklyarov, Dmitry (2004).Hidden Keys to Software Break-Ins and Unauthorized Entry. A-List Publishing. pp. 92–93.ISBN 978-1931769303.
  27. ^"ssl - Safest ciphers to use with the BEAST? (TLS 1.0 exploit) I've read that RC4 is immune".serverfault.com.
  28. ^Isobe, Takanori; Ohigashi, Toshihiro (10–13 March 2013)."Security of RC4 Stream Cipher". Hiroshima University. Archived fromthe original on 1 November 2014. Retrieved27 October 2014.
  29. ^Pouyan Sepehrdad; Serge Vaudenay; Martin Vuagnoux (2011). "Discovery and Exploitation of New Biases in RC4".Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 6544. pp. 74–91.doi:10.1007/978-3-642-19574-7_5.ISBN 978-3-642-19573-0.
  30. ^Green, Matthew (12 March 2013)."Attack of the week: RC4 is kind of broken in TLS".Cryptography Engineering. Retrieved12 March 2013.
  31. ^Nadhem AlFardan; Dan Bernstein; Kenny Paterson; Bertram Poettering; Jacob Schuldt."On the Security of RC4 in TLS". Royal Holloway University of London. Archived fromthe original on 15 March 2013. Retrieved13 March 2013.
  32. ^Andrew Roos. A Class of Weak Keys in the RC4 Stream Cipher. Two posts in sci.crypt, message-id 43u1eh$1j3@hermes.is.co.za and 44ebge$llf@hermes.is.co.za, 1995.
  33. ^Goutam Paul, Siddheshwar Rathi and Subhamoy Maitra. On Non-negligible Bias of the First Output Byte of RC4 towards the First Three Bytes of the Secret Key. Proceedings of the International Workshop on Coding and Cryptography (WCC) 2007, pages 285–294 and Designs, Codes and Cryptography Journal, pages 123–134, vol. 49, no. 1-3, December 2008.
  34. ^Goutam Paul and Subhamoy Maitra. Permutation after RC4 Key Scheduling Reveals the Secret Key. SAC 2007, pages 360–377, vol. 4876,Lecture Notes in Computer Science, Springer.
  35. ^Eli Biham and Yaniv Carmeli. Efficient Reconstruction of RC4 Keys from Internal States. FSE 2008, pages 270–288, vol. 5086, Lecture Notes in Computer Science, Springer.
  36. ^Mete Akgun, Pinar Kavak, Huseyin Demirci. New Results on the Key Scheduling Algorithm of RC4. INDOCRYPT 2008, pages 40–52, vol. 5365, Lecture Notes in Computer Science, Springer.
  37. ^Riddhipratim Basu, Subhamoy Maitra, Goutam Paul and Tanmoy Talukdar. On Some Sequences of the Secret Pseudo-random Index j in RC4 Key Scheduling. Proceedings of the 18th International Symposium on Applied Algebra, Algebraic Algorithms and Error Correcting Codes (AAECC), 8–12 June 2009, Tarragona, Spain, pages 137–148, vol. 5527, Lecture Notes in Computer Science, Springer.
  38. ^Subhamoy Maitra and Goutam Paul. New Form of Permutation Bias and Secret Key Leakage in Keystream Bytes of RC4. Proceedings of the 15th Fast Software Encryption (FSE) Workshop, 10–13 February 2008, Lausanne, Switzerland, pages 253–269, vol. 5086, Lecture Notes in Computer Science, Springer.
  39. ^Souradyuti Paul;Bart Preneel.Analysis of Non-fortuitous Predictive States of the RC4 Keystream Generator(PDF).Indocrypt 2003. pp. 52–67.
  40. ^Scott R. Fluhrer; David A. McGrew.Statistical Analysis of the Alleged RC4 Keystream Generator(PDF). FSE 2000. pp. 19–30. Archived fromthe original(PDF) on 2 May 2014.
  41. ^Basu, Riddhipratim; Ganguly, Shirshendu; Maitra, Subhamoy; Paul, Goutam (2008)."A Complete Characterization of the Evolution of RC4 Pseudo Random Generation Algorithm".Journal of Mathematical Cryptology.2 (3):257–289.doi:10.1515/JMC.2008.012.S2CID 9613837.
  42. ^Fluhrer, Scott R.; Mantin, Itsik; Shamir, Adi (2001)."Weaknesses in the Key Scheduling Algorithm of RC4".Selected Areas in Cryptography:1–24. Archived fromthe original on 2 June 2004.
  43. ^"Interim technology for wireless LAN security: WPA to replace WEP while industry develops new security standard". Archived fromthe original on 9 July 2012.
  44. ^"RC4-drop(nbytes) in theStandard Cryptographic Algorithm Naming database".
  45. ^Rivest, Ron."RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4".
  46. ^A. Klein, Attacks on the RC4 stream cipher, Designs, Codes and Cryptography (2008) 48:269–286.
  47. ^Erik Tews, Ralf-Philipp Weinmann, Andrei Pyshkin.Breaking 104-bit WEP in under a minute.
  48. ^Souradyuti Paul andBart Preneel,A New Weakness in the RC4 Keystream Generator and an Approach to Improve the Security of the Cipher.Fast Software Encryption – FSE 2004, pp. 245–259.
  49. ^John Leyden (15 March 2013)."HTTPS cookie crypto CRUMBLES AGAIN in hands of stats boffins".The Register.
  50. ^AlFardan; et al. (8 July 2013)."On the Security of RC4 in TLS and WPA"(PDF). Information Security Group, Royal Holloway, University of London. Archived fromthe original(PDF) on 22 September 2013. Retrieved6 September 2013.
  51. ^"On the Security of RC4 in TLS and WPA". Information Security Group, Royal Holloway, University of London. Archived fromthe original on 15 March 2013. Retrieved6 September 2013.
  52. ^"RC4 must die". Archived fromthe original on 18 March 2015. Retrieved17 March 2015.
  53. ^"Briefings – March 26 & 27". 2015. Retrieved19 November 2016.
  54. ^"Attacking SSL when using RC4"(PDF). 2015. Retrieved19 November 2016.
  55. ^Mathy Vanhoef; Frank Piessens (9 August 2015)."RC4 NOMORE: Numerous Occurrence MOnitoring & Recovery Exploit".
  56. ^Ilya Mironov (1 June 2002),"(Not So) Random Shuffles of RC4",Advances in Cryptology – CRYPTO 2002(PDF), Lecture Notes in Computer Science, vol. 2442, Springer-Verlag, pp. 304–319,doi:10.1007/3-540-45708-9_20,ISBN 978-3-540-44050-5, Cryptology ePrint Archive: Report 2002/067, retrieved4 November 2011
  57. ^Souradyuti Paul;Bart Preneel (2004),"A New Weakness in the RC4 Keystream Generator and an Approach to Improve the Security of the Cipher",Fast Software Encryption, FSE 2004, Lecture Notes in Computer Science, vol. 3017, Springer-Verlag, pp. 245–259,doi:10.1007/978-3-540-25937-4_16,ISBN 978-3-540-22171-5, retrieved4 November 2011
  58. ^Alexander Maximov (22 February 2007),Two Linear Distinguishing Attacks on VMPC and RC4A and Weakness of RC4 Family of Stream Ciphers, Cryptology ePrint Archive: Report 2007/070, retrieved4 November 2011
  59. ^abYukiyasu Tsunoo; Teruo Saito; Hiroyasu Kubo; Maki Shigeri; Tomoyasu Suzaki; Takeshi Kawabata (2005),The Most Efficient Distinguishing Attack on VMPC and RC4A(PDF)
  60. ^Bartosz Zoltak (2004),"VMPC One-Way Function and Stream Cipher"(PDF),Fast Software Encryption, FSE 2004(PDF), Lecture Notes in Computer Science, vol. 3017, Springer-Verlag, pp. 210–225,CiteSeerX 10.1.1.469.8297,doi:10.1007/978-3-540-25937-4_14,ISBN 978-3-540-22171-5, retrieved4 November 2011
  61. ^"CryptoLounge: RC4A". Archived fromthe original on 1 October 2011. Retrieved4 November 2011.
  62. ^Subhamoy Maitra; Goutam Paul (19 September 2008),"Analysis of RC4 and Proposal of Additional Layers for Better Security Margin",Progress in Cryptology - INDOCRYPT 2008(PDF), Lecture Notes in Computer Science, vol. 5365, Springer-Verlag, pp. 27–39,CiteSeerX 10.1.1.215.7178,doi:10.1007/978-3-540-89754-5_3,ISBN 978-3-540-89753-8, Cryptology ePrint Archive: Report 2008/396, retrieved4 November 2011
  63. ^Debjyoti Bhattacharjee; Anupam Chattopadhyay."Hardware Accelerator for Stream Cipher Spritz"(PDF). Secrypt 2016. Retrieved29 July 2016.
  64. ^Banik, Subhadeep; Isobe, Takanori (20 March 2016). "Cryptanalysis of the Full Spritz Stream Cipher". In Peyrin, Thomas (ed.).Fast Software Encryption. Lecture Notes in Computer Science. Vol. 9783. Springer Berlin Heidelberg. pp. 63–77.doi:10.1007/978-3-662-52993-5_4.ISBN 9783662529928.S2CID 16296315.
  65. ^Banik, Subhadeep; Isobe, Takanori; Morii, Masakatu (1 June 2017)."Analysis and Improvements of the Full Spritz Stream Cipher".IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences. E100.A (6):1296–1305.Bibcode:2017IEITF.100.1296B.doi:10.1587/transfun.E100.A.1296.hdl:10356/81487.
  66. ^Hongjun Wu, "The Misuse of RC4 in Microsoft Word and Excel".https://eprint.iacr.org/2005/007
  67. ^"Skype's encryption procedure partly exposed". www.h-online.com. Archived fromthe original on 11 July 2010. Retrieved8 July 2010.

Further reading

[edit]

External links

[edit]
RC4 in WEP
Widely used ciphers
eSTREAM Portfolio
Software
Hardware
Other ciphers
Generators
Theory
Attacks
General
Mathematics
Retrieved from "https://en.wikipedia.org/w/index.php?title=RC4&oldid=1315330316"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp