RC4

RC4
RC4
일반
디자이너Ron Rivest (RSA 보안)
초판1994년 유출
(1987년 설계)
암호 상세
키 사이즈40 ~ 2048 비트
상태 크기2064비트(1684 유효)
라운드1
속도오리지널[1] Pentium에서는 바이트당7 사이클
인텔 Core 2의 RC4 수정: 바이트당 13[2].9 사이클

암호학에서 RC4(Rivest Cipher 4, ARC4 또는 ARCFOUR라고도 함)는 스트림 암호입니다.RC4는 소프트웨어의 단순성과 속도가 뛰어나지만 여러 가지 취약성이 발견되어 [3][4]안전하지 않습니다.출력 스트림의 선두가 폐기되지 않거나 랜덤 또는 관련되지 않은 키가 사용되는 경우 특히 취약합니다.특히 RC4의 사용에 문제가 있어 WEP[5]같은 매우 안전하지 않은 프로토콜이 발생하고 있습니다.

2015년 현재, 일부 주 암호 기관은 TLS [6]프로토콜에 사용될 때 RC4를 파괴할 수 있는 기능을 보유할 수 있다는 추측이 있다.IETF[3]RFC 7465를 발행하여 TLS에서의 RC4 사용을 금지하고 있습니다.Mozilla와 Microsoft도 같은 [7][8]권장사항을 발표했습니다.

RC4를 강화하기 위한 여러 시도가 이루어졌으며, 특히 Spritz, RC4A, VMPC 및 RC4가+ 그러하다.

역사

RC4는 RSA SecurityRon Rivest가 1987년에 설계했습니다.공식적으로 "Rivest Cipher 4"라고 불리지만, RC 약자는 "Ron's Code"[9]의 약자로 이해됩니다(RC2, RC5, RC6 참조).

RC4는 당초 영업비밀이었지만 1994년 9월 익명으로 Cyperpunks 메일링 [10]리스트에 게재됐다.그것은 곧 sci.crypt 뉴스 그룹에 게시되었고, Bob [11]Jenkins에 의해 수일 내에 분석되었습니다.거기서부터, 그것은 인터넷의 많은 사이트로 퍼졌다.유출된 코드는 RC4를 사용한 독점 소프트웨어 출력과 일치하는 것으로 확인되었습니다.이 알고리즘은 이미 알려져 있기 때문에 더 이상 영업비밀이 아닙니다.RC4라는 이름은 상표권이 있기 때문에 상표권 문제를 피하기 위해 RC4는 종종 ARCFOUR 또는 ARC4([12]RC4 주장)로 불립니다.RSA Security는 이 알고리즘을 공식적으로 공개한 적이 없지만, Rivest는 2008년 자신의[13] 코스노트에서 RC4에 관한 영어 위키피디아 기사에 링크하여 RC4의 역사와 [14]코드를 2014년 논문에서 확인했습니다.

RC4는 1997년 WEP, 2003/2004년 WPA, 1995년 SSL, 1999년 후속 TLS 등 일반적으로 사용되는 암호화 프로토콜과 표준의 일부가 되었습니다.이때 RC4 공격이 약화되거나 SSL/TLS에서 사용되는 RFC 7465에 의해 2015년 모든 버전의 TLS에 대해 금지되었습니다.RC4가 이처럼 다양한 애플리케이션에서 성공을 거둔 주요 요인은 속도와 단순성입니다. 소프트웨어와 하드웨어 모두에서 효율적인 구현을 매우 쉽게 개발할 수 있었기 때문입니다.

묘사

RC4는 비트( 스트림)의 의사 난수 스트림을 생성합니다.모든 스트림 암호와 마찬가지로 이러한 암호는 비트 배타적 또는 지정된 데이터를 사용하여 일반 텍스트와 결합함으로써 암호화에 사용할 수 있습니다. 암호 해독은 동일한 방식으로 수행됩니다(배타적 또는 지정된 데이터를 사용하여 수행).이것은 준비된 스트림이 아닌 생성된 의사랜덤비트가 사용되는 것을 제외하고 원타임패드와 비슷합니다.

키 스트림을 생성하기 위해 암호는 다음 두 부분으로 구성된 비밀 내부 상태를 사용합니다.

  1. 256 바이트의 모든 치환(아래의 「S」로 표시).
  2. 2개의 8비트 인덱스 포인터('i'와 'j'로 표시).

치환은 Key-Scheduling Algorithm(KSA; 키 스케줄링 알고리즘)을 사용하여 보통 40 ~2048비트 범위의 가변 길이 로 초기화됩니다.이것이 완료되면 Pseudo-Random Generation Algorithm(PRGA; 의사랜덤 생성 알고리즘)을 사용하여 비트 스트림이 생성됩니다.

Key-Scheduling Algorithm(KSA; 키 스케줄링 알고리즘)

스케줄링 알고리즘은 배열 "S"의 순열을 초기화하기 위해 사용됩니다."keylength"는 키 내의 바이트 수로 정의되며, 1 µ keylength ~ 256 의 범위(일반적으로 5 ~16 의 범위로, 키 길이는 40 ~128 비트에 대응합니다.우선 어레이 S를 아이덴티티 순열로 초기화한다.다음으로 S는 메인 PRGA와 마찬가지로 256회 반복 처리되지만 동시에 키의 바이트 단위로 혼합됩니다.

0 ~ 255 S [i] : = i end for j : = i end for i from 0 ~255 j : = ( j + S [ i ] + key [ i mod key length ] ) mod 256 swap 값: S [ i ]end for S [ j ]

의사 랜덤 생성 알고리즘(PRGA)

RC4 조회 단계입니다.출력 바이트는 다음 값을 조회하여 선택합니다.S[i], S[j]를 가산하여 S에 대한 인덱스로 하고, S(S[i]+S[j])를 키 스트림 K의 바이트로 한다.

PRGA는 필요한 횟수만큼 반복하여 상태를 수정하고 키 스트림의 바이트를 출력합니다.각 반복에서 PRGA는 다음과 같습니다.

  • 증분 i;
  • S, S[i]의 ith 요소를 검색하여 j에 추가합니다.
  • 는 S[i]와 S[j]의 값을 교환한 다음 S[i] + S[j](모듈로 256)를 인덱스로 사용하여 S의 세 번째 요소(아래 키스트림 값 K)를 가져옵니다.
  • 다음으로 메시지의 다음 바이트와 함께 비트 배타적 ORed(XORed)를 사용하여 암호문 또는 일반문 중 하나의 다음 바이트를 생성합니다.

S의 각 요소는 256회마다 적어도 1회 이상 다른 요소와 스왑된다.

i : = 0 j : = 0 생성 중 출력 : i : = ( i + 1) mod 256 j : = ( j + S [ i ] ) mod 256 swap 값 S [ ( S [ i ] + S [ j ]mod 256 S [ j ]의 출력 K : end 동안 출력

따라서 K[0], K[1], ...의 스트림을 생성하여 암호문을 얻기 위해 평문과 XOR화한다.따라서 암호문[l] = 평문[l] k K[l]입니다.

RC4 기반 난수 생성기

다음과 같은 운영 체제가 있습니다.arc4randomOpenBSD에서 시작된 API로 원래 RC4에 기반한 난수 생성기에 대한 액세스를 제공합니다.2014년 5월에 출시된 OpenBSD 5.5에서는arc4randomChaCha20을 [15][16]사용하도록 수정되었습니다.FreeBSD, NetBSD[17][18]Linux libbsd의[19] arc4random 구현도 ChaCha20을 사용합니다.운영체제와 함께 제공된 매뉴얼 페이지에 따르면 2017년 MacOSiOS 운영체제 릴리스에서 애플은 arc4random 구현에서 RC4를 AES로 대체했습니다.새로운 arc4random의 man 페이지에는 ARC4의 백로니[20]"A Replacement Call for Random"이 니모닉으로 포함되어 있습니다.는 rand()보다 더 나은 랜덤 데이터를 제공하기 때문입니다.

제안된 새로운 난수 발생기는 종종 RC4 난수 [21][22]발생기와 비교된다.

RC4에 대한 몇 가지 공격은 RC4의 출력[23]랜덤시퀀스를 구별할 수 있습니다.

실행

많은 스트림 암호는 LFSR(Linear-Feedback Shift Register)을 기반으로 합니다.LFSR은 하드웨어에서는 효율적이지만 소프트웨어에서는 효율이 낮습니다.RC4의 설계는 LFSR의 사용을 피하고 바이트 조작만을 필요로 하기 때문에 소프트웨어 구현에 이상적입니다.상태 배열에는 256바이트의 메모리, S[0]~S[255], 키에는 k바이트의 메모리, 키[0]~키 [k-1], 정수 변수 i, j 및 K가 사용됩니다.일부 값 모듈로 256의 모듈러 리덕션은 255의 비트 AND(문제의 값의 하위 바이트를 취하는 것과 동일)로 실행할 수 있다.

테스트 벡터

이러한 테스트 벡터는 공식적이지는 않지만 RC4 프로그램을 테스트하는 모든 사용자에게 편리합니다.키와 일반 텍스트는 ASCII, 키 스트림과 암호 텍스트는 16진수입니다.

열쇠 키스트림 평문 암호문
열쇠 EB9F7781B734CA72A719... 평문 BBF316E8D940AF0AD3
위키 6044DB6D41B7... 페디아 1021BF0420
시크릿 04D46B053CA87B59... 새벽에 공격하다 45A01F645FC35B383552544B9BF5

보안.

현대의 스트림 암호(eSTREAM의 암호 등)와는 달리 RC4는 키와 함께 별도의 난스를 사용하지 않습니다.즉, 단일 장기 키를 사용하여 여러 스트림을 안전하게 암호화해야 하는 경우 프로토콜은 RC4의 스트림 키를 생성하기 위해 난스와 장기 키를 결합하는 방법을 지정해야 합니다.이 문제를 해결하기 위한 한 가지 방법은 장기 키를 난스(Nonce)로 해시하여 "새로 고침" RC4 키를 생성하는 것입니다.그러나 RC4를 사용하는 대부분의 애플리케이션은 키와 난스를 연결하기만 하면 됩니다. RC4의 키 스케줄이 약하기 때문에 총통, MantinShamir 공격(WEP [24]표준을 위반하는 것으로 유명함)과 같은 관련 키 공격이 발생합니다.

RC4는 스트림 암호이기 때문에 일반적인 블록 암호보다 유연성이 높습니다.강력한 Message Authentication Code(MAC; 메시지 인증 코드)와 함께 사용하지 않으면 암호화가 비트 플립 공격에 취약해집니다.또한 올바르게 구현되지 [25]않으면 스트림 암호 공격에 취약합니다.

단, 주목할 점은 RC4가 스트림 암호이기 때문에 한동안 TLS 1.0대한 2011 BEAST 공격의 영향을 받지 않았던[26] 유일한 공통 암호였다는 점입니다.공격은 TLS 1.0에서 지원되는 다른 모든 암호(모두 블록 암호)와 함께 암호 블록체인 모드를 사용하는 방법의 기존의 약점을 이용합니다.

2013년 3월에는 이소베, 오히가시, 와타나베 및 [27]모리이뿐만 아니라 RC4 키 테이블의[28] 새로운 통계적 편견을 사용하여 다수의 TLS [29][30]암호화로 평문을 복구하는 AlFardan, Bernstein, Paterson, Poettering 및 Schuldt에 의해 제안된 새로운 공격 시나리오가 있었다.

TLS에서의 RC4 사용은 2015년 2월에 발표된 RFC 7465에 의해 금지되어 있습니다.

Roos의 편견과 치환으로부터의 주요 재구성

1995년에 Andrew Roos는 실험적으로 키 스트림의 첫 번째 바이트가 키의 첫 번째 3바이트와 관련지어지고 KSA 이후의 치환의 첫 번째 몇 바이트가 키 [31]바이트의 선형 조합과 관련지어지는 것을 관찰했습니다.이러한 편견은 구탐 폴, 시드헤슈어 라티 및 서브하모이 마이트라[32](Subhamoy Maitra)가 키스트림-키 상관관계를 증명하고 다른 연구에서 구탐 폴과 서브하모이 마이트라는 또 다른 연구에서 구탐 폴과 서브하모이 마이트라(Subhamoy Maitra[33])가 치환-키 상관관계를 증명했다.후자의 연구는 또한 키 또는 초기화 벡터에 대한 어떠한 가정 없이 KSA 이후 최종 치환으로부터 완전한 키 재구성을 위한 첫 번째 알고리즘을 설계하기 위해 치환-키 상관관계를 사용했다.이 알고리즘은 완전한 키 검색 복잡성의 제곱근인 시간 내에 성공할 확률이 일정합니다.그 후, RC4 내부 [34][35][36]상태에서 주요 재구성에 대한 많은 다른 작업이 수행되었다.Subhamoy Maitra와 Gustam[37] Paul은 또한 S[S[i] 또는 S[S[S[i]]와 같은 중첩 치환 지수를 고려해도 루스형 편향이 여전히 지속된다는 것을 보여주었다.이러한 유형의 편견은 성공 확률을 높이기 위해 이후의 주요 재구성 방법 중 일부에서 사용됩니다.

RC4의 편향된 출력

RC4에 의해 생성되는 키스트림은 특정 시퀀스에 대해 다양한 정도로 편향되어 있기 때문에 공격을 구별하기 쉽습니다.이러한 공격이 가장 좋은 것은 Itsik Mantin과 Adi Shamir에 의한 것입니다.이들은 암호의 두 번째 출력 바이트가 1/256이 아닌 1/128의 확률로 0에 치우쳤음을 보여 줍니다.이는 원래 상태의 세 번째 바이트가 0이고 두 번째 바이트가 2가 아닌 경우 두 번째 출력 바이트는 항상 0이기 때문입니다.이러한 편향을 검출할 [23]수 있는 것은 256바이트뿐입니다.

COSICSouradyuti Paul과 Bart Prenel은 RC4의 첫 번째와 두 번째 바이트도 편향되어 있음을 보여주었다.이 편견을 검출하기 위해 필요한 샘플의 수는 [38]2바이트입니다25.

Scott Flurher와 David McGrew는 또한 RC4의 키 스트림을 1기가바이트의 [39]출력으로 랜덤 스트림과 구별하는 공격을 보여주었습니다.

RC4 PRGA의 단일 단계의 완전한 특성은 Riddhipratim Basu, Shirsendu Ganguly, Subhamoy Maitra 및 Gustam [40]Paul에 의해 수행되었습니다.모든 순열을 고려해 i와 j가 주어지면 출력의 분포가 균일하지 않다는 것을 증명하고, 그 결과 j에 관한 정보가 항상 출력에 누출된다.

총통, 만틴, 샤미르의 공격

2001년에 총통, MantinShamir에 의해 새로운 놀라운 발견이 이루어졌습니다.모든 RC4 키에 대해 출력 키 스트림의 처음 몇 바이트의 통계는 매우 랜덤하지 않고 키에 대한 정보가 유출됩니다.난스 키와 롱텀키를 단순히 연결하여 RC4 키를 생성할 경우 이 키로 암호화된 [41]다수의 메시지를 분석함으로써 이 롱텀키를 검출할 수 있습니다.이 효과와 관련된 효과는 802.11 무선 네트워크에서 사용되는 WEP(유선 등가 프라이버시) 암호화를 해제하기 위해 사용되었습니다.이로 인해 802.11 시장에서 WEP의 표준 기반 대체품을 얻기 위한 경쟁이 벌어졌고 IEEE 802.11i의 노력[42]WPA가 이루어졌습니다.

프로토콜은 키 스트림의 초기 부분을 삭제하여 이 공격을 방어할 수 있습니다.이러한 수정된 알고리즘은 일반적으로 "RC4-drop[n]"이라고 불리며, 여기서 n은 폐기되는 초기 키 스트림 바이트 수입니다.SCAN 기본값은 n = 768바이트이지만 보수적인 값은 n = 3072바이트입니다.[43]

총통, Mantin 및 Shamir 공격은 RC4 기반 SSL에는 적용되지 않습니다.이는 SSL이 해시에 의해 RC4에 사용되는 암호화 키를 생성하기 때문입니다.즉, SSL 세션마다 관련 없는 [44]키가 있음을 의미합니다.

클라인의 공격

2005년에 Andreas Klein은 RC4 스트림 암호의 분석을 발표하여 RC4 키 스트림과 [45]키 사이의 상관관계를 더 많이 보여 주었다.Erik Tews, Ralf-Phillip WeinmannAndrei Pychkine은 이 분석을 사용하여 128비트 WEP에서 사용되는 104비트 RC4를 1분 [46]이내에 크래킹하는 도구인 Aircrack-ptw를 만들었습니다.총통, Mantin 및 Shamir 공격에서는 약 1000만 개의 메시지가 사용되었지만 Aircrack-ptw에서는 50 % 확률의 40,000 프레임 또는 95% 확률의 85,000 프레임에서 104 비트키가 파손될 수 있습니다.

조합 문제

RC4 암호의 입력과 출력의 수와 관련된 조합 문제는 2001년에 Itsik Mantin과 Adi Shamir에 의해 처음 제기되었다.여기서 RC4의 전형적인 상태에 있는 총 256개의 요소 중 x개의 요소(x ) 256)만이 알려진 경우(다른 모든 요소는 비어 있다고 가정할 수 있음), 그리고 생산될 수 있는 최대 요소 수 있다.결정적으로 다음 256라운드에서도 x가 됩니다.이 추측은 2004년 Souradyuti Paul과 Bart [47]Prenel에 의해 제시된 공식적인 증거와 함께 사라졌습니다.

로열 할로우웨이 공격

2013년, 런던 대학교 로얄 할로웨이의 정보 보안 그룹의 보안 연구자 그룹은 단 2개의34 암호화된 [48][49][50]메시지를 사용하여 효과를 얻을 수 있는 공격을 보고했습니다.아직 대부분의 목적을 위한 실질적인 공격은 아니지만, 이 결과는 RC4를 불안정하게 만드는 [6]더 나은 공격이 이미 있을 수 있다는 추측을 불러일으킬 정도로 충분히 가까운 결과입니다.2013년 현재 대량의 TLS 트래픽이 암호 블록 체인을 사용하는 블록 암호에 대한 공격을 피하기 위해 RC4를 사용하고 있는 것을 고려하면, 이러한 가상적인 더 나은 공격이 존재할 경우, 많은 실제 [6]시나리오에서 이러한 공격자에 대해 TLS와 RC4의 조합이 안전하지 않게 됩니다.

2015년 3월 Royal Holloway 연구원은 TLS에서 [51]사용되는 RC4로 암호화된 암호에 대해 2회26 공격을 제공하는 등 공격 개선 사항을 발표했습니다.

바르미츠바 공격

Black Hat Asia 2015 Conference에서 Itsik Mantin은 RC4 [52][53]암호를 사용한 SSL에 대한 또 다른 공격을 제시했습니다.

NOMORE 공격

2015년 KU Leuven의 보안 연구진은 TLS와 WPA-TKIP 모두에서 RC4에 대한 새로운 공격을 제시했습니다.[54]NOMORE(Mumberic Occurrence Monitoring & Recovery Evailit) 공격이라고 불리는 이 공격은 실제로 실증된 최초의 공격입니다.TLS에 대한 공격은 75시간 이내에 안전한 HTTP 쿠키를 해독할 수 있습니다.WPA-TKIP에 대한 공격은 1시간 이내에 완료되며 공격자가 임의의 패킷을 복호화 및 주입할 수 있습니다.

RC4 바리안트

위에서 설명한 바와 같이 RC4의 가장 중요한 약점은 키 스케줄이 불충분하다는 것입니다.출력의 첫 번째 바이트에는 키에 대한 정보가 표시됩니다.이 문제는 [55]출력 스트림의 일부 초기 부분을 폐기하는 것만으로 해결할 수 있습니다.이것은 RC4-dropN으로 알려져 있습니다.여기서 N은 보통 768이나 1024와 같이 256의 배수입니다.

RC4를 강화하기 위한 여러 시도가 이루어졌으며, 특히 Spritz, RC4A, VMPC 및 RC4가+ 그러하다.

RC4A

Souradyuti Paul과 Bart Prenel은 RC4A라고 불리는 RC4 [56]변형을 제안했습니다.

RC4A는 2개의 상태 배열 S1과 S2와 2개의 인덱스 및 를 사용합니다.매회 증가할 때마다 2바이트가 생성됩니다.

  1. 우선 S1과 S2를 이용하여 기본 RC4 알고리즘을 실행하지만, 마지막 단계에서 S1[]+iS1[]j1을 검색한다.
  2. 다음으로 S2와 S2에서 (다시 증가하지 않고) 동작을 반복하고 S1[S2[]+iS2[]]j2를 출력한다.

따라서 알고리즘은 다음과 같습니다.

S1[i] 및 S1[j1] 출력 S2[S1[i] + S1[j1] + S1[j1]의 스왑 을 생성하면서 모든 연산을 모듈로 256 i : = 0 j1 : = 0 j2 : = 0 j2 : 0으로 한다.

알고리즘은 출력 바이트당 동일한 수의 연산을 요구하지만 RC4보다 더 큰 병렬 처리를 통해 속도를 향상시킬 수 있습니다.

이 알고리즘은 RC4보다 강하지만 Alexander[57] Maximov와 NEC 팀이 출력을[58] 정말로 랜덤한 시퀀스와 구별하는 방법을 개발하면서 공격받기도 했습니다.

VMPC

Variable Modified Permutation Composition(VMPC)도 RC4의 [59]다른 변종입니다.RC4와 유사한 키 스케줄을 사용하며, j := S[(j + S[i] + key[i mod keylength]) mod 256]는 256이 아닌 3 × 256 = 768회 반복되며, 옵션으로 768회 반복하여 초기 벡터를 통합합니다.출력 생성 함수는 다음과 같이 작동합니다.

모든 연산을 모듈로 256으로 한다.i : = 0을 생성하면서 출력: a : = S [ i ]j : = S [ s + a ]출력 S [ S [ S [ S [ S [ s [ j ] + 1 ]스왑 S [ i ], S [ j] ( b : = S [ j ] = b ); [ i = S = S ]

이것은 RC4A와 같은 페이퍼로 공격되어 2개의 출력 [60][58]바이트로38 구분할 수 있습니다.

RC4+

RC4는+ 보다 복잡한 3상 키 스케줄(RC4의 약 3배, 또는 RC4-drop512와 동일)과 각 바이트 출력에 대해 S 어레이에서 4개의 추가 룩업을 실행하는 보다 복잡한 출력 기능을 가진 RC4의 수정 버전입니다.기본 RC4의 [61]약 1.7배 소요됩니다.

모든 산술 모듈로 256 <<> 좌우 시프트이며, 출력: i : = i + 1 a : = S [ i ]j : = j + swap S [ i ]및 S [j] ( b : = S [ j ] ; S [ i ] ; S [ i ] = S [ i ] = [ i = C [ i ]의 생성 중 is is or or or or or or or or or or or exclusive < < < < < < < < < < < < < < < < < < < < < < < < < < < : 。

이 알고리즘은 크게 분석되지 않았습니다.

스피츠

2014년에 Ronald Rivest는 Spritz라고 하는 업데이트된 재설계에 대한 강연을 하고 논문을 공동[14] 집필했습니다.Spritz의 하드웨어 액셀러레이터는 2016년[62] Secrypt에서 발행되었으며 출력 바이트를 생성하기 위해 필요한 여러 중첩 호출 때문에 Spritz는 SHA-3 및 RC4의 가장 잘 알려진 하드웨어 구현과 같은 다른 해시 함수에 비해 다소 느린 성능을 보입니다.

알고리즘은 다음과 같습니다.[14]

모든 연산은 S[i] 및 S[j] 출력 z [j+S[i+S]의 swap 값 i[j]의 generatingOutput : i : = i + w j : = k + i + S [ j ]의 swap 값을 종료하는 동안 모듈256실행한다.

w는 S 배열 크기에 비해 상대적으로 소수입니다.따라서 이 내부 루프를 256회 반복한 값 i(반복할 때마다 w씩 증가)는 가능한 모든 값 0...을 취합니다.255 및 S 어레이의 모든 바이트가 적어도 한 번 스왑되었습니다.

다른 스폰지 함수와 마찬가지로 Spritz는 암호화 해시 함수, 결정론적 랜덤 비트 생성기(DRBG), 관련 데이터(AED)에 의한 인증 암호화를 지원하는 암호화 알고리즘 등을 [14]구축하기 위해 사용할 수 있습니다.

바닉과 이소베는 2016년 스프리츠와 랜덤 [63]노이즈를 구분할 수 있는 공격을 제안했다.

RC4 기반 프로토콜

프로토콜에 "(선택 사항)으로 표시된 경우 RC4는 시스템이 사용하도록 구성할 수 있는 여러 암호 중 하나입니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ P. Prasithsangaree; P. Krishnamurthy (2003). Analysis of Energy Consumption of RC4 and AES Algorithms in Wireless LANs (PDF). GLOBECOM '03. IEEE. Archived from the original (PDF) on 3 December 2013.
  2. ^ "Crypto++ 5.6.0 Benchmarks". Retrieved 22 September 2015.
  3. ^ a b Andrei Popov (February 2015). Prohibiting RC4 Cipher Suites. doi:10.17487/RFC7465. RFC 7465.
  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. ^ a b c John 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. Retrieved 3 January 2015.
  8. ^ "Security Advisory 2868725: Recommendation to disable RC4". Microsoft. 12 November 2013. Retrieved 4 December 2013.
  9. ^ "Rivest FAQ".
  10. ^ "Thank you Bob Anderson". Cypherpunks (Mailing list). 9 September 1994. Archived from the original on 22 July 2001. Retrieved 28 May 2007.
  11. ^ Bob Jenkins (15 September 1994). "Re: RC4 ?". Newsgroup: sci.crypt. Usenet: 359qjg$55v$1@mhadg.production.compuserve.com.
  12. ^ "Manual Pages: arc4random". 5 June 2013. Retrieved 2 February 2018.
  13. ^ "6.857 Computer and Network Security Spring 2008: Lectures and Handouts".
  14. ^ a b c d Rivest, Ron; Schuldt, Jacob (27 October 2014). "Spritz – a spongy RC4-like stream cipher and hash function" (PDF). Retrieved 26 October 2014.
  15. ^ "OpenBSD 5.5". Retrieved 21 September 2014.
  16. ^ deraadt, ed. (21 July 2014). "libc/crypt/arc4random.c". BSD Cross Reference, OpenBSD src/lib/. Retrieved 13 January 2015. ChaCha based random number generator for OpenBSD.
  17. ^ riastradh, ed. (16 November 2014). "libc/gen/arc4random.c". BSD Cross Reference, NetBSD src/lib/. Retrieved 13 January 2015. Legacy arc4random(3) API from OpenBSD reimplemented using the ChaCha20 PRF, with per-thread state.
  18. ^ "arc4random – NetBSD Manual Pages". Archived from the original on 6 July 2020. Retrieved 6 January 2015.
  19. ^ "Update arc4random module from OpenBSD and LibreSSL". Retrieved 6 January 2016.
  20. ^ "arc4random(3)". OpenBSD.
  21. ^ 바르토즈 졸탁"VMPC-R: 암호로 보호된 의사 난수 생성기, RC4 대체". 2010년?
  22. ^ 셰프라노프, A. G. "의사 난수 발생기 RC4 주기 개선" 2006.
  23. ^ a b Itsik Mantin, Adi Shamir (2001). A Practical Attack on Broadcast RC4 (PDF). FSE 2001. pp. 152–164. doi:10.1007/3-540-45473-X_13.{{cite conference}}: CS1 maint: 작성자 파라미터 사용(링크)
  24. ^ "RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4". RSA Laboratories. 1 September 2001.
  25. ^ Sklyarov, Dmitry (2004). Hidden Keys to Software Break-Ins and Unauthorized Entry. A-List Publishing. pp. 92–93. ISBN 978-1931769303.
  26. ^ "ssl - BEAST에서 사용하기에 가장 안전한 암호? (TLS 1.0 악용) RC4는 면역성이 있다고 읽었습니다."serverfault.com 를 참조해 주세요.
  27. ^ Isobe, Takanori; Ohigashi, Toshihiro (10–13 March 2013). "Security of RC4 Stream Cipher". Hiroshima University. Retrieved 27 October 2014.
  28. ^ Pouyan Sepehrdad; Serge Vaudenay; Martin Vuagnoux (2011). Discovery and Exploitation of New Biases in RC4. 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.
  29. ^ Green, Matthew (12 March 2013). "Attack of the week: RC4 is kind of broken in TLS". Cryptography Engineering. Retrieved 12 March 2013.
  30. ^ Nadhem AlFardan; Dan Bernstein; Kenny Paterson; Bertram Poettering; Jacob Schuldt. "On the Security of RC4 in TLS". Royal Holloway University of London. Retrieved 13 March 2013.
  31. ^ 앤드류 루스.RC4 스트림 암호의 취약 키 클래스.sci.dll의 2개의 투고, message-id 43u1eh$1j3@hermes.is.co.za 및 44ebge$llf@hermes.is.co.za, 1995.
  32. ^ 구탐 폴, 싯드워 라티, 서브하모이 마이트라.RC4의 첫 번째 출력 바이트가 비밀 키의 첫 번째 3바이트로 향하는 Non-gligible Bias.코딩 및 암호에 관한 국제 워크숍(WCC) 2007, 285-294페이지 및 설계, 코드 및 암호 저널, 123-134페이지, vol. 49, no. 1-3, 2008년 12월.
  33. ^ 구탐 폴과 서브하모이 미트라.RC4 키 스케줄링 후의 치환에 의해 비밀 키가 공개된다.SAC 2007, 360~377, vol. 4876, Springer 컴퓨터 과학 강의 노트.
  34. ^ 엘리 비햄과 야니브 카멜리.내부 상태에서 RC4 키를 효율적으로 재구성합니다.FSE 2008, 270~288쪽, 제5086권, 컴퓨터 과학 강의 노트, 스프링거.
  35. ^ 메테 아크건, 피나르 카박, 후세인 데미르치RC4의 키 스케줄링 알고리즘에 대한 새로운 결과.INDOCRYPT 2008, 40-52페이지, 제5365권, 컴퓨터 과학 강의 노트, 스프링거.
  36. ^ Riddhipratim Basu, Subhamoy Maitra, Gustam Paul, Tanmoy Talukdar.RC4 키 스케줄링의 비밀 의사 랜덤 인덱스 j의 일부 시퀀스.제18회 AAECC(Applied Algorithm and Error Correcting Codes) 국제 심포지엄 진행, 2009년 6월 8-12일, 스페인 타라고나, 137-148, vol. 5527, 컴퓨터 과학 강의 노트, 스프링거.
  37. ^ Subhamoy Maitra와 Gustam Paul.RC4의 키스트림바이트에서의 새로운 형태의 치환 바이어스 및 비밀키 누출제15회 Fast Software Encryption(FSE) 워크숍의 진행, 2008년 2월 10일~13일, 스위스 로잔, 253~269쪽, vol. 5086, 컴퓨터 과학 강의 노트, 스프링거.
  38. ^ Souradyuti Paul, Bart Preneel. Analysis of Non-fortuitous Predictive States of the RC4 Keystream Generator (PDF). Indocrypt 2003. pp. 52–67.{{cite conference}}: CS1 maint: 작성자 파라미터 사용(링크)
  39. ^ Scott R. Fluhrer, David A. McGrew. Statistical Analysis of the Alleged RC4 Keystream Generator (PDF). FSE 2000. pp. 19–30. Archived from the original (PDF) on 2 May 2014.{{cite conference}}: CS1 maint: 작성자 파라미터 사용(링크)
  40. ^ 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.
  41. ^ Fluhrer, Scott R.; Mantin, Itsik; Shamir, Adi (2001). "Weaknesses in the Key Scheduling Algorithm of RC4". Selected Areas in Cryptography: 1–24. Archived from the original on 2 June 2004.
  42. ^ "Interim technology for wireless LAN security: WPA to replace WEP while industry develops new security standard". Archived from the original on 9 July 2012.
  43. ^ "RC4-drop(nbytes) in the Standard Cryptographic Algorithm Naming database".
  44. ^ Rivest, Ron. "RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4".
  45. ^ A. Klein, RC4 스트림 암호에 대한 공격, 설계, 코드 및 암호(2008) 48:269–286.
  46. ^ 에릭 튜스, 랄프 필립 와인만, 안드레이 피시킨104비트의 WEP를 1분 이내에 파괴합니다.
  47. ^ Souradyuti Paul과 Bart Prenel, RC4 Keystream Generator의 새로운 약점 암호의 보안 향상을 위한 접근법.고속 소프트웨어 암호화 – FSE 2004, 페이지 245~259.
  48. ^ John Leyden (15 March 2013). "HTTPS cookie crypto CRUMBLES AGAIN in hands of stats boffins". The Register.
  49. ^ AlFardan; et al. (8 July 2013). "On the Security of RC4 in TLS and WPA" (PDF). Information Security Group, Royal Holloway, University of London.
  50. ^ "On the Security of RC4 in TLS and WPA". Information Security Group, Royal Holloway, University of London. Retrieved 6 September 2013.
  51. ^ "RC4 must die".
  52. ^ "Briefings – March 26 & 27". 2015. Retrieved 19 November 2016.
  53. ^ "Attacking SSL when using RC4" (PDF). 2015. Retrieved 19 November 2016.
  54. ^ Mathy Vanhoef and Frank Piessens (9 August 2015). "RC4 NOMORE: Numerous Occurrence MOnitoring & Recovery Exploit".{{cite web}}: CS1 maint: 작성자 파라미터 사용(링크)
  55. ^ 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, retrieved 4 November 2011
  56. ^ 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, retrieved 4 November 2011
  57. ^ 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, retrieved 4 November 2011
  58. ^ a b Yukiyasu Tsunoo; Teruo Saito; Hiroyasu Kubo; Maki Shigeri; Tomoyasu Suzaki; Takeshi Kawabata (2005), The Most Efficient Distinguishing Attack on VMPC and RC4A (PDF)
  59. ^ 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, retrieved 4 November 2011
  60. ^ "CryptoLounge: RC4A". Archived from the original on 1 October 2011. Retrieved 4 November 2011.
  61. ^ 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, retrieved 4 November 2011
  62. ^ Debjyoti Bhattacharjee; Anupam Chattopadhyay. "Hardware Accelerator for Stream Cipher Spritz" (PDF). Secrypt 2016. Retrieved 29 July 2016.
  63. ^ Banik, Subhadeep; Isobe, Takanori (20 March 2016). Peyrin, Thomas (ed.). Cryptanalysis of the Full Spritz Stream Cipher. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 63–77. doi:10.1007/978-3-662-52993-5_4. ISBN 9783662529928. S2CID 16296315.
  64. ^ 우홍준, "Microsoft Word와 Excel에서의 RC4의 오용"https://eprint.iacr.org/2005/007
  65. ^ "Skype's encryption procedure partly exposed". www.h-online.com. Archived from the original on 11 July 2010. Retrieved 8 July 2010.

추가 정보

외부 링크

WEP의 RC4