맨위로가기

RC4

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

RC4는 1987년 로널드 라이베스트가 설계한 스트림 암호 알고리즘이다. "Ron's Code" 또는 "Rivest's Cypher"의 약자로, RC2, RC5, RC6과 함께 RSA 시큐리티에서 개발되었다. 1994년 사이버펑크 메일링 리스트에 유출되어 알려졌으며, 상표 문제로 인해 ARCFOUR 또는 ARC4로 불리기도 한다. RC4는 WEP, WPA, TLS 등 다양한 암호화 프로토콜에 사용되었으나, 보안 취약점이 발견되어 TLS에서는 사용이 금지되었다. RC4의 변형으로 RC4A, VMPC, RC4+, Spritz 등이 있으며, RC4 기반의 난수 생성기인 arc4random은 ChaCha20으로 대체되는 추세이다.

더 읽어볼만한 페이지

  • 스트림 암호 - 비즈네르 암호
    비즈네르 암호는 키워드를 반복 사용하여 카이사르 암호를 확장한 다중알파벳 치환 암호로, 한때 해독 불가능하다고 여겨졌으나 현재는 해독되었으며 현대 암호학에 영향을 주었다.
  • 스트림 암호 - 원 타임 패드
    원 타임 패드는 1917년 개발되어 단 한 번만 사용되는 키를 통해 암호화를 제공하며, 이론적으로 완벽한 보안을 제공하지만 키 관리의 어려움과 키 재사용 시 해독 위험, 양자 암호 통신과의 연관성 연구 등의 특징을 가진 암호화 방식이다.
  • 유사난수 생성기 - 메르센 트위스터
    메르센 트위스터는 마츠모토 마코토와 니시무라 타쿠지가 개발한 유사난수 생성 알고리즘으로, 긴 주기와 고차원 균등 분포를 특징으로 하지만 암호학적으로 안전하지 않고 상태 크기가 크다는 단점이 있어 다양한 변종이 개발되었다.
  • 유사난수 생성기 - 선형 합동 생성기
    선형 합동 생성기는 초기값을 이용하여 선형 함수를 반복 적용해 의사 난수를 생성하는 간단하고 빠른 알고리즘이지만, 예측 가능성과 낮은 품질로 암호학적 용도나 고품질 난수 시뮬레이션에는 부적합하다.
RC4
개요
RC4 스트림 암호
RC4 스트림 암호
일반 정보
종류스트림 암호
설계자로널드 라이베스트 (RSA 시큐리티)
발표일1994년 (유출), 설계는 1987년
키 크기40–2048 비트
상태 크기2064 비트 (유효 비트 수 1684)
라운드1
속도인텔 펜티엄에서 바이트 당 7 사이클. 인텔 코어 2에서 Modified Alleged RC4는 바이트 당 13.9 사이클

2. 역사

RC4는 1987년 RSA 시큐리티의 론 라이베스트가 설계한 스트림 암호이다. "RC"는 "Ron's Code" (론의 코드) 또는 "Rivest's Cypher" (리베스트의 암호)의 약자이다.[80][81] RC4는 처음에는 영업 비밀이었지만, 1994년 9월 사이버펑크 메일링 리스트에 익명으로 설명이 게시되었다.[9] 유출된 코드는 정품으로 확인되었고, ''RC4''라는 이름은 상표로 등록되어 있어 상표 문제 회피를 위해 ''ARCFOUR'' 또는 ''ARC4''(RC4라고 주장)로 불리기도 한다.[11]

2. 1. 개발 배경

1987년 RSA 시큐리티에서 근무하던 론 라이베스트가 RC4를 설계하였다. "RC"는 "Ron's Code" (론의 코드) 또는 "Rivest's Cypher" (리베스트의 암호)의 약자이다.[80][81] RSA 시큐리티는 RC2, RC5, RC6 등 다양한 암호화 알고리즘을 개발하고 있었다.

RC4는 처음에는 영업 비밀이었지만, 1994년 9월 사이버펑크 메일링 리스트에 익명으로 설명이 게시되었다.[9] 이 설명은 곧 sci.crypt 뉴스그룹에도 게시되었고, 며칠 만에 밥 젠킨스에 의해 구분 공격으로 파훼되었다.[10] 그 후 인터넷의 여러 사이트로 확산되었다. 유출된 코드는 정품임이 확인되었는데, 그 출력값이 RC4를 사용하는 독점 소프트웨어의 출력값과 일치했기 때문이다. 알고리즘이 알려졌으므로 더 이상 영업 비밀이 아니다. ''RC4''라는 이름은 상표로 등록되어 있으므로, 상표 문제 회피를 위해 RC4는 종종 ''ARCFOUR'' 또는 ''ARC4''(RC4라고 주장)로 불린다.[11] RSA 시큐리티는 공식적으로 알고리즘을 공개한 적이 없지만, 리베스트는 2008년에 자신의 강의 노트에서 RC4에 대한 영어 위키백과 문서를 연결했고[12], 2014년 자신의 논문에서 RC4의 역사와 코드를 확인했다.[62]

RC4는 1997년 유선 동등 프라이버시(WEP)와 2003년/2004년 와이파이 보호 접속(WPA)와 같은 무선 카드용 암호화 프로토콜 및 표준의 일부가 되었으며, 1995년 SSL1999년 후속 프로토콜인 전송 계층 보안(TLS)에도 사용되었다. 그러나 SSL/TLS에서 사용된 RC4가 RC4 공격으로 인해 취약해지거나 파괴되었기 때문에 2015년 RFC 7465에 의해 모든 버전의 TLS에 대해 금지되었다. RC4가 광범위한 응용 분야에서 성공할 수 있었던 주요 요인은 속도와 단순성이었다. 소프트웨어와 하드웨어 모두에서 효율적인 구현이 매우 쉬웠다.

2. 2. 유출 및 확산

1994년 9월, 사이버펑크 메일링 리스트에 익명으로 RC4 알고리즘에 대한 설명이 게시되었다.[9] 이는 곧 sci.crypt 뉴스그룹에도 게시되었으며, 며칠 만에 밥 젠킨스에 의해 구분 공격으로 파훼되었다.[10] 그 후 인터넷의 여러 사이트로 확산되었다. 유출된 코드는 RC4를 사용하는 독점 소프트웨어의 출력값과 일치했기 때문에 정품으로 확인되었다. 알고리즘이 알려지면서 더 이상 영업 비밀이 아니게 되었다. ''RC4''라는 이름은 상표로 등록되어 있으므로, 상표 문제 회피를 위해 RC4는 종종 ''ARCFOUR'' 또는 ''ARC4''(RC4라고 주장)[11]로 불린다.

2. 3. 상표권 문제

''RC4''라는 명칭은 RSA 시큐리티의 상표로 등록되어 있다.[11] 상표권 문제로 인해 ''ARCFOUR'' 또는 ''ARC4''(의미: "RC4라고 주장")[11]라는 명칭이 사용되기도 한다.

3. 작동 방식

RC4는 의사 난수 비트 스트림(키 스트림)을 생성한다. 모든 스트림 암호와 마찬가지로, 비트별 배타적 논리합을 사용하여 평문과 결합함으로써 암호화에 사용할 수 있으며, 복호화도 동일한 방식으로 수행된다. 이는 준비된 스트림 대신 생성된 "의사 난수 비트"가 사용된다는 점을 제외하면 일회용 패드와 유사하다.

키 스트림은 암호의 두 부분으로 구성된 비밀 내부 상태를 사용하여 생성된다. 내부 상태에 대한 자세한 내용은 하위 섹션에서 확인할 수 있다.

RC4는 로널드 리베스트1987년에 개발한 스트림 암호로, 이 알고리즘을 통해 생성된 유사 난수열과 평문의 배타적 논리합을 취하여 암호문을 만든다. RC4는 WEP와 같이 안전하지 않은 방식으로 사용될 수 있다. RC4는 WEP, WPA, Microsoft Point-to-Point Encryption|마이크로소프트 점대점 암호화영어(MPPE), Winny, TLS/SSL (옵션), SSH (옵션) 등에서 암호화에 사용된다.

2015년 NSA과 같은 기관은 TLS/SSL을 사용하더라도 RC4를 해독할 수 있다는 의혹이 제기되었으며[69], 마이크로소프트는 RC4 사용을 권장하지 않는다[70][71][72]。2015년 2월에는 TLS 모든 버전에서 RC4 사용을 금지하는 제안이 공개되었다.

3. 1. 내부 상태

RC4는 다음 두 가지 요소로 구성된 비밀 내부 상태를 사용한다.

  • 256 바이트의 모든 가능한 순열 (이하 "S").
  • 두 개의 8비트 인덱스 포인터 (이하 "i"와 "j").


순열은 ''키 스케줄링'' 알고리즘(KSA)을 사용하여, 일반적으로 40~2048 비트 사이의 가변 길이 키로 초기화된다.

3. 2. 키 스케줄링 알고리즘 (KSA)

키 스케줄링 알고리즘(KSA)은 "S" 배열에서 순열을 초기화하는 데 사용된다. "keylength"는 키의 바이트 수로 정의되며 1 ≤ keylength ≤ 256 범위에 있을 수 있다. 초기화 과정은 다음과 같다.

먼저, 배열 "S"는 항등 순열로 초기화된다. 즉, S[0] = 0, S[1] = 1, ..., S[255] = 255 와 같이 초기화된다. 그 후, S는 256번 반복 처리되면서 키의 바이트와 섞이게 된다.

의사 코드는 다음과 같다.



'''for''' i '''from''' 0 '''to''' 255

S[i] := i

'''endfor'''

j := 0

'''for''' i '''from''' 0 '''to''' 255

j := (j + S[i] + key[i mod keylength]) mod 256

S[i]와 S[j]의 값을 교환한다

'''endfor'''


3. 3. 의사 난수 생성 알고리즘 (PRGA)

RC4의 조회 단계.
필요한 횟수만큼 PRGA는 상태를 수정하고 키스트림의 바이트를 출력한다. 각 반복에서 PRGA는 다음을 수행한다. S의 각 요소는 256번의 반복마다 한 번 이상 다른 요소와 교환된다.[1]

  • ''i''를 증가시킨다.
  • S의 ''i''번째 요소인 S[''i'']를 조회하여 ''j''에 더한다.
  • S[''i'']와 S[''j'']의 값을 교환한 다음, 합계 S[''i''] + S[''j''] (modulo 256)을 사용하여 S의 세 번째 요소(아래의 키스트림 값 K)를 가져오는 인덱스로 사용한다.
  • 그런 다음 다음 바이트의 메시지와 비트 단위 배타적 논리합(XOR)하여 암호문 또는 평문의 다음 바이트를 생성한다.


S의 각 요소는 256번의 반복마다 한 번 이상 다른 요소와 교환된다.[1]

:

i := 0

j := 0

'''while''' GeneratingOutput:

i := (i + 1) mod 256

j := (j + S[i]) mod 256

값 교환 S[i]와 S[j]

t := (S[i] + S[j]) mod 256

K := S[t]

output K

'''endwhile'''

따라서 K[0], K[1], ... 스트림이 생성되며, 이 스트림은 ''평문''과 XOR되어 ''암호문''을 얻는다. 즉, ciphertext[''l''] plaintext[''l''] ⊕ K[''l''] 이다.[1]

3. 4. 구현

RC4는 선형 피드백 시프트 레지스터(LFSR)를 사용하지 않고 바이트 조작만으로 구현할 수 있어 소프트웨어 구현에 용이하다. 256바이트의 메모리(상태 배열 S), k바이트의 메모리(키 key), 정수 변수 i, j, K를 사용한다. 256으로 나눈 나머지 연산은 255와의 비트 AND 연산을 통해 수행할 수 있다(하위 바이트를 취하는 것과 동일).[36]

4. 테스트 벡터

다음 테스트 벡터는 공식적인 것은 아니지만, RC4 프로그램을 직접 테스트하려는 모든 사람에게 편리하게 사용될 수 있다.[1] 키와 평문은 아스키이며, 키스트림과 암호문은 16진수로 표현된다.[1]

키스트림평문암호문
KeyEB9F7781B734CA72A719…PlaintextBBF316E8D940AF0AD3
Wiki6044DB6D41B7…pedia1021BF0420
Secret04D46B053CA87B59…Attack at dawn45A01F645FC35B383552544B9BF5


5. 보안 문제

RC4는 스트림 암호이므로 일반적인 블록 암호보다 가변성이 더 크다. 강력한 메시지 인증 코드(MAC)와 함께 사용하지 않으면 비트 플리핑 공격에 취약하다. 또한, 올바르게 구현되지 않으면 스트림 암호 공격에 취약하다.[23]

RC4는 한동안 TLS 1.0에 대한 BEAST 공격에 면역된 유일한 일반적인 암호였다.[24] 그러나 2013년 3월, Isobe, Ohigashi, Watanabe 및 Morii[25]와 AlFardan, Bernstein, Paterson, Poettering 및 Schuldt는 RC4 키 테이블에서 새로운 통계적 편향을 이용해[26] TLS 암호화를 통해 평문을 복구하는 새로운 공격 시나리오를 제안했다.[27][28]

2015년 시점에서 NSA와 같은 기관이 TLS/SSL을 사용하더라도 RC4를 해독할 수 있다는 의혹이 제기되었으며[69], 마이크로소프트는 RC4 사용을 권장하지 않았다.[70][71][72] 2015년 2월에는 TLS의 모든 버전에서 RC4 사용을 금지하는 제안이 공개되었다.

5. 1. 관련 키 공격

RC4의 취약한 키 스케줄은 관련 키 공격을 야기한다. Fluhrer, Mantin and Shamir attack (이는 WEP 표준을 깨는 것으로 유명하다)과 같은 공격이 가능하다.[22]

5. 2. 편향된 출력

RC4에 의해 생성된 키스트림은 특정 시퀀스에 대해 다양한 정도로 편향되어 구분 공격에 취약하게 만든다. 이러한 공격 중 최고는 이칙 만틴(Itsik Mantin)과 샤미르(Adi Shamir)에 의한 것으로, 암호문의 두 번째 출력 바이트가 1/128의 확률(1/256 대신)로 0으로 편향되어 있음을 보였다.[36] 이는 원래 상태의 세 번째 바이트가 0이고 두 번째 바이트가 2와 같지 않은 경우, 두 번째 출력 바이트는 항상 0이기 때문이다. 이러한 편향은 256바이트만 관찰하여 감지할 수 있다.[36]

COSIC의 소라듀티 폴(Souradyuti Paul)과 바트 프레닐(Bart Preneel)은 RC4의 첫 번째 및 두 번째 바이트도 편향되어 있음을 보였다. 이 편향을 감지하는 데 필요한 샘플 수는 225 바이트이다.[37]

Scott Fluhrer와 데이비드 맥그루(David McGrew)는 또한 1GB의 출력을 제공하면 RC4의 키스트림을 임의 스트림과 구별하는 공격을 보여주었다.[38]

RC4 PRGA의 단일 단계에 대한 완벽한 특성화는 Riddhipratim Basu, Shirshendu Ganguly, Subhamoy Maitra 및 Goutam Paul에 의해 수행되었다.[39] 모든 순열을 고려하여, 그들은 i와 j가 주어졌을 때 출력의 분포가 균일하지 않으며, 결과적으로 j에 대한 정보가 항상 출력으로 유출됨을 증명했다.

5. 3. 주요 공격 사례

RC4는 키와 함께 별도의 논스를 사용하지 않기 때문에, 여러 스트림을 안전하게 암호화하려면 프로토콜이 논스와 장기 키를 결합하는 방법을 지정해야 한다. 많은 애플리케이션은 키와 논스를 단순히 연결하지만, RC4의 약한 키 스케줄은 관련 키 공격을 발생시킨다. 예시로 WEP 표준을 깨는 것으로 유명한 Fluhrer, Mantin and Shamir attack이 있다.[22]

RC4는 스트림 암호이므로, 블록 암호보다 가변성이 크다. 강력한 메시지 인증 코드(MAC)와 함께 사용하지 않으면 비트 플리핑 공격에 취약하며, 올바르게 구현되지 않으면 스트림 암호 공격에도 취약하다.[23]

하지만 RC4는 한동안 TLS 1.0에 대한 BEAST 공격에 면역된 유일한 일반적인 암호였다.[24] TLS 1.0에서 지원되는 다른 모든 암호는 CBC 모드의 약점을 이용하기 때문이다.

2013년 3월에는 RC4 키 테이블에서 새로운 통계적 편향을 이용해 평문을 복구하는 새로운 공격 시나리오가 제안되었다.[27][28] 2015년 2월에 발표된 RFC 7465는 TLS에서 RC4 사용을 금지한다.

  • '''Fluhrer, Mantin and Shamir 공격'''


2001년, 스콧 플루러(Fluhrer), 이치크 만틴(Mantin), 아디 샤미르(Shamir)는 RC4 키스트림의 처음 몇 바이트가 무작위적이지 않고 키 정보를 누설한다는 사실을 발견했다. 논스와 장기 키가 단순히 연결되어 RC4 키를 생성하는 경우, 많은 수의 메시지를 분석하여 장기 키를 발견할 수 있다.[40] 이 약점은 유선 동등 프라이버시(WEP) 암호화를 깨는 데 사용되었고, WEP의 대체 표준 경쟁을 유발하여 IEEE 802.11i와 WPA가 나오게 되었다.[41]

키스트림의 초기 부분을 버리는 "RC4-drop[]" 방식으로 이 공격을 방어할 수 있다. SCAN의 기본값은 768 바이트지만, 보수적인 값은 3072 바이트이다.[42]

이 공격은 RC4 기반 SSL에는 적용되지 않는데, SSL은 RC4에 사용하는 암호화 키를 해싱하여 생성하기 때문에 서로 다른 SSL 세션은 관련 없는 키를 갖기 때문이다.[43]

  • '''Klein's attack (2005)'''


2005년, 안드레아스 클라인(Andreas Klein)은 RC4 키스트림과 키 사이의 더 많은 상관 관계를 보여주는 분석을 발표했다.[44] 에릭 테우스(Erik Tews), 랄프-필립 바인만(Ralf-Philipp Weinmann), 안드레이 피치킨(Andrei Pychkine)은 이 분석을 바탕으로 128비트 WEP에서 사용되는 104비트 RC4를 1분 안에 크래킹하는 도구인 aircrack-ptw를 만들었다.[45] aircrack-ptw는 50% 확률로 40,000개, 95% 확률로 85,000개의 프레임 내에서 104비트 키를 해독할 수 있다.

  • '''Royal Holloway attack (2013)'''


2013년, 런던 대학교 로열 할러웨이 정보 보안 그룹 연구원들은 234개의 암호화된 메시지만으로 가능한 공격을 보고했다.[47][48][49] 이는 RC4를 안전하지 않게 만드는 더 나은 공격이 있을 가능성을 시사한다.[50]

2015년 3월, 로열 할러웨이 연구원은 TLS에서 사용되는 RC4 암호에 대한 226 공격을 제공하는 개선 사항을 발표했다.[51]

  • '''바르 미츠바 공격 (2015)'''


2015년 블랙 햇 아시아 컨퍼런스에서 이치크 만틴은 RC4 암호를 사용하는 SSL에 대한 또 다른 공격을 발표했다.[52][53]

  • '''NOMORE attack (2015)'''


2015년, 루벤 가톨릭 대학교(KU Leuven) 연구원들은 TLSWPA-TKIP에서 RC4에 대한 새로운 공격(NOMORE 공격)을 발표했다.[54] 이 공격은 TLS의 경우 75시간 이내에 안전한 HTTP 쿠키를 해독할 수 있고, WPA-TKIP의 경우 1시간 이내에 완료되어 임의의 패킷을 해독하고 주입할 수 있다.

5. 4. 대한민국에서의 보안 관련 이슈

2015년, NSA와 같은 기관이 TLS/SSL을 사용하더라도 RC4를 해독할 수 있다는 의혹이 제기되었다.[69] 마이크로소프트 등은 RC4 사용을 권장하지 않고 있다.[70][71][72] 특히, 2015년 2월에는 TLS의 모든 버전에서 RC4의 사용을 금지하는 제안이 공개되었다.

6. RC4 기반 프로토콜

WEP, TKIP (WPA의 기본 알고리즘이지만, AES-CCMP를 대신 사용하도록 구성할 수 있음), 비트토렌트 프로토콜 암호화, 마이크로소프트 오피스 XP (문서가 수정될 때 논스가 변경되지 않아 안전하지 않은 구현[66]), 마이크로소프트 지점 간 암호화, 전송 계층 보안/보안 소켓 계층 (선택 사항이었으며, RFC 7465에서 RC4 사용이 금지됨), 보안 셸 (선택 사항), 원격 데스크톱 프로토콜 (선택 사항), Kerberos (선택 사항), SASL 메커니즘 Digest-MD5 (선택 사항, ''과거'', RFC 6331에서 폐지됨), Gpcode.AK (2008년 6월 초에 나타난 마이크로소프트 윈도우용 컴퓨터 바이러스로, RC4 및 RSA-1024 암호화로 문서를 난독화하여 랜섬을 요구), PDF, 스카이프 (수정된 형태)[67]에서 사용되었다.

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

7. RC4 변형

RC4의 주요 약점은 불충분한 키 스케줄에서 비롯되므로, 출력 스트림의 초기 부분을 버리는 방식(RC4-drop''N'')으로 보안성을 강화할 수 있다.[55] ''N''은 일반적으로 768 또는 1024와 같이 256의 배수이다.

RC4를 강화하기 위한 여러 시도가 있었으며, 특히 Spritz, RC4A, VMPC, RC4+가 있다.

7. 1. RC4A

수라듀티 폴과 바트 프레넬이 제안한 RC4의 변형이다.[56]

RC4A는 두 개의 상태 배열 S1영어과 S2영어, 그리고 두 개의 인덱스 j1영어j2영어를 사용한다. i영어가 증가할 때마다 두 바이트가 생성된다.

  • 먼저, 기본 RC4 알고리즘이 S1영어j1영어을 사용하여 수행되지만, 마지막 단계에서 S1[i]+S1[j1]영어은 S2영어에서 조회된다.
  • 두 번째로, i영어를 다시 증가시키지 않고 S2영어j2영어에서 작업이 반복되고, S1[S2[i]+S2[j2]]영어가 출력된다.


알고리즘은 다음과 같다.

''모든 산술 연산은 모듈로 256으로 수행된다.''

i := 0

j1 := 0

j2 := 0

'''while''' 출력 생성:

i := i + 1

j1 := j1 + S1[i]

값 교환 S1[i]와 S1[j1]

'''출력''' S2[S1[i] + S1[j1]]

j2 := j2 + S2[i]

값 교환 S2[i]와 S2[j2]

'''출력''' S1[S2[i] + S2[j2]]

'''endwhile'''

이 알고리즘은 출력 바이트당 동일한 수의 연산을 요구하지만, RC4보다 더 많은 병렬성을 가지므로 속도 향상을 제공할 수 있다.

RC4보다 강력하지만, 이 알고리즘 역시 공격을 받았으며, 알렉산더 막시모프[57]와 NEC의 팀[58]은 출력값을 진정한 무작위 시퀀스와 구별하는 방법을 개발했다.

7. 2. VMPC

가변 수정 순열 구성(VMPC)은 또 다른 RC4 변형이다.[59] RC4와 유사한 키 스케줄을 사용하며, 256번이 아닌 3 × 256 = 768번 반복하며, 초기 벡터를 통합하기 위해 선택적으로 768번의 추가 반복을 수행한다. 출력 생성 기능은 다음과 같다.

:모든 산술 연산은 256을 모듈로로 수행한다.

:i := 0

:\'''while''' 출력 생성 중:

::a := S[i]

::j := S[j + a]

::

::'''출력''' S[S[S[j] + 1]]

::S[i]와 S[j] 교환

::

::i := i + 1

:\'''endwhile'''

이것은 RC4A와 동일한 논문에서 공격을 받았으며, 238 바이트 이내의 출력에서 구별할 수 있다.[60][58]

7. 3. RC4+

RC4+는 RC4를 수정한 버전으로, 더 복잡한 키 스케줄과 출력 함수를 갖는다.[55] 아직 충분히 분석되지 않았다.

7. 4. Spritz

론 리베스트는 2014년에 Spritz라는 업데이트된 RC4 재설계에 대한 강연을 하고 논문을 공동 집필했다.[62] 2016년 Secrypt에 Spritz의 하드웨어 가속기가 발표되었는데[63], 출력 바이트를 생성하는 데 필요한 여러 중첩 호출로 인해 Spritz는 SHA-3 및 RC4의 가장 잘 알려진 하드웨어 구현과 같은 다른 해시 함수에 비해 상당히 느리게 수행되는 것으로 나타났다.

다른 스펀지 함수와 마찬가지로 Spritz는 암호화 해시 함수, 결정론적 난수 비트 생성기(DRBG), 연관 데이터(AEAD)를 지원하는 인증 암호화 등과 같은 암호화 알고리즘을 구축하는 데 사용할 수 있다.[62]

2016년, 바닉(Banik)과 이소베(Isobe)는 Spritz를 임의의 노이즈와 구별할 수 있는 공격을 제안했다.[64] 2017년에는 바닉, 이소베, 모리(Morii)가 첫 번째 두 개의 키스트림 바이트에서 구별자를 제거하는 간단한 수정을 제안했는데, 이는 소프트웨어 성능을 실질적으로 저하시키지 않으면서 하나의 추가 메모리 액세스만 필요로 한다.[65]

참조

[1] 학술대회 Analysis of Energy Consumption of RC4 and AES Algorithms in Wireless LANs http://www.sis.pitt.[...] IEEE
[2] 웹사이트 Crypto++ 5.6.0 Benchmarks http://www.cryptopp.[...] 2015-09-22
[3] IETF Prohibiting RC4 Cipher Suites 2015-02-01
[4] 뉴스 Microsoft continues RC4 encryption phase-out plan with .NET security updates http://www.computerw[...] 2014-05-14
[5] 서적 Introduction to Modern Cryptography Chapman and Hall/CRC
[6] 웹사이트 Mozilla Security Server Side TLS Recommended Configurations https://wiki.mozilla[...] Mozilla 2015-01-03
[7] 웹사이트 Security Advisory 2868725: Recommendation to disable RC4 http://blogs.technet[...] Microsoft 2013-12-04
[8] 웹사이트 Rivest FAQ http://people.csail.[...]
[9] 메일링리스트 Thank you Bob Anderson http://cypherpunks.v[...] 1994-09-09
[10] 뉴스그룹 Re: RC4 ? https://groups.googl[...] 1994-09-15
[11] 웹사이트 Manual Pages: arc4random https://man.openbsd.[...] 2013-06-05
[12] 웹사이트 6.857 Computer and Network Security Spring 2008: Lectures and Handouts http://courses.csail[...]
[13] 웹사이트 arc4random(3) http://man.openbsd.o[...] OpenBSD
[14] 웹사이트 OpenBSD 5.5 http://www.openbsd.o[...]
[15] 웹사이트 libc/crypt/arc4random.c http://bxr.su/OpenBS[...] 2014-07-21
[16] 웹사이트 libc/gen/arc4random.c http://bxr.su/NetBSD[...] 2014-11-16
[17] 웹사이트 arc4random – NetBSD Manual Pages http://netbsd.gw.com[...]
[18] 웹사이트 Update arc4random module from OpenBSD and LibreSSL https://cgit.freedes[...]
[19] 웹사이트 GNU C Library Finally Adds arc4random Functions For Linux https://www.phoronix[...]
[20] 논문 VMPC-R: Cryptographically Secure Pseudo-Random Number Generator, Alternative to RC4 //eprint.iacr.org/20[...]
[21] 논문 Pseudo-Random Number Generator RC4 Period Improvement https://ieeexplore.i[...]
[22] 웹사이트 RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4 http://www.emc.com/e[...] RSA Laboratories 2001-09-01
[23] 서적 Hidden Keys to Software Break-Ins and Unauthorized Entry https://books.google[...] A-List Publishing
[24] 웹사이트 ssl - Safest ciphers to use with the BEAST? (TLS 1.0 exploit) I've read that RC4 is immune http://serverfault.c[...]
[25] 웹사이트 Security of RC4 Stream Cipher http://home.hiroshim[...] Hiroshima University 2013-03-10
[26] 서적 Selected Areas in Cryptography
[27] 웹사이트 Attack of the week: RC4 is kind of broken in TLS http://blog.cryptogr[...] 2013-03-12
[28] 웹사이트 On the Security of RC4 in TLS http://www.isg.rhul.[...] Royal Holloway University of London
[29] 논문 A Class of Weak Keys in the RC4 Stream Cipher
[30] 논문 On Non-negligible Bias of the First Output Byte of RC4 towards the First Three Bytes of the Secret Key
[31] 논문 Permutation after RC4 Key Scheduling Reveals the Secret Key Springer
[32] 논문 Efficient Reconstruction of RC4 Keys from Internal States Springer
[33] 논문 New Results on the Key Scheduling Algorithm of RC4 Springer
[34] 논문 On Some Sequences of the Secret Pseudo-random Index j in RC4 Key Scheduling Springer
[35] 논문 New Form of Permutation Bias and Secret Key Leakage in Keystream Bytes of RC4 Springer
[36] 학회논문 A Practical Attack on Broadcast RC4 https://link.springe[...] 2001
[37] 학회논문 Analysis of Non-fortuitous Predictive States of the RC4 Keystream Generator http://www.cosic.esa[...]
[38] 학회논문 Statistical Analysis of the Alleged RC4 Keystream Generator http://www.wisdom.we[...]
[39] 학술지논문 A Complete Characterization of the Evolution of RC4 Pseudo Random Generation Algorithm
[40] 학술지논문 Weaknesses in the Key Scheduling Algorithm of RC4 http://www.wisdom.we[...]
[41] 웹사이트 Interim technology for wireless LAN security: WPA to replace WEP while industry develops new security standard http://findarticles.[...]
[42] 웹사이트 RC4-drop(nbytes) in the ''Standard Cryptographic Algorithm Naming'' database http://www.users.zet[...]
[43] 웹사이트 RSA Security Response to Weaknesses in Key Scheduling Algorithm of RC4 https://www.rsa.com/[...]
[44] 학술지논문 Attacks on the RC4 stream cipher
[45] 논문 Breaking 104-bit WEP in under a minute //eprint.iacr.org/20[...]
[46] 학회논문 A New Weakness in the RC4 Keystream Generator and an Approach to Improve the Security of the Cipher http://www.cosic.esa[...]
[47] 뉴스 HTTPS cookie crypto CRUMBLES AGAIN in hands of stats boffins https://www.theregis[...] 2013-03-15
[48] 웹사이트 On the Security of RC4 in TLS and WPA http://www.isg.rhul.[...] Information Security Group, Royal Holloway, University of London 2013-07-08
[49] 웹사이트 On the Security of RC4 in TLS and WPA http://www.isg.rhul.[...] Information Security Group, Royal Holloway, University of London
[50] 웹사이트 That earth-shattering NSA crypto-cracking: Have spooks smashed RC4? https://www.theregis[...] 2013-09-06
[51] 웹사이트 RC4 must die http://www.isg.rhul.[...]
[52] 웹사이트 Briefings – March 26 & 27 https://www.blackhat[...] 2015
[53] 웹사이트 Attacking SSL when using RC4 https://www.imperva.[...] 2015
[54] 웹사이트 RC4 NOMORE: Numerous Occurrence MOnitoring & Recovery Exploit https://www.rc4nomor[...] 2015-08-09
[55] 서적 Advances in Cryptology – CRYPTO 2002 http://www.iacr.org/[...] Springer-Verlag 2002-06-01
[56] 서적 Fast Software Encryption, FSE 2004 Springer-Verlag
[57] 논문 Two Linear Distinguishing Attacks on VMPC and RC4A and Weakness of RC4 Family of Stream Ciphers http://eprint.iacr.o[...] 2007-02-22
[58] 논문 The Most Efficient Distinguishing Attack on VMPC and RC4A http://www.ecrypt.eu[...]
[59] 서적 Fast Software Encryption, FSE 2004 https://www.iacr.org[...] Springer-Verlag
[60] 웹사이트 CryptoLounge: RC4A http://www.cryptolou[...]
[61] 서적 Progress in Cryptology - INDOCRYPT 2008 http://eprint.iacr.o[...] Springer-Verlag 2008-09-19
[62] 뉴스 Spritz – a spongy RC4-like stream cipher and hash function http://people.csail.[...] 2014-10-27
[63] 웹사이트 Hardware Accelerator for Stream Cipher Spritz https://blogs.ntu.ed[...] Secrypt 2016
[64] 서적 Fast Software Encryption Springer Berlin Heidelberg 2016-03-20
[65] 학술지논문 Analysis and Improvements of the Full Spritz Stream Cipher https://www.jstage.j[...] 2017-06-01
[66] 웹사이트 The Misuse of RC4 in Microsoft Word and Excel https://eprint.iacr.[...]
[67] 웹사이트 Skype's encryption procedure partly exposed http://www.h-online.[...] www.h-online.com
[68] 학술지논문 Analysis of Energy Consumption of RC4 and AES Algorithms in Wireless LANs http://www.sis.pitt.[...]
[69] 웹사이트 That earth-shattering NSA crypto-cracking: Have spooks smashed RC4? http://www.theregist[...] The Register 2013-09-06
[70] 웹사이트 Security Advisory 2868725: Recommendation to disable RC4 http://blogs.technet[...] Microsoft 2013-11-12
[71] 웹사이트 マイクロソフト セキュリティ アドバイザリ 2868725 - RC4 を使用禁止にするための更新プログラム https://technet.micr[...] Microsoft 2014-10-10
[72] 웹사이트 draft-ietf-tls-prohibiting-rc4-01 - Prohibiting RC4 Cipher Suites //tools.ietf.org/htm[...] 2014-10-08
[73] 웹사이트 security – Safest ciphers to use with the BEAST? (TLS 1.0 exploit) I've read that RC4 is immune – Server Fault http://serverfault.c[...]
[74] 웹사이트 RC4 in TLS is Broken: Now What? https://community.qu[...] Qualsys Security Labs 2013-07-30
[75] 논문 Discovery and Exploitation of New Biases in RC4 http://link.springer[...]
[76] 웹사이트 Attack of the week: RC4 is kind of broken in TLS http://blog.cryptogr[...] 2014-06-24
[77] 웹사이트 On the Security of RC4 in TLS http://www.isg.rhul.[...] Royal Holloway University of London 2014-06-24
[78] 논문 On the Security of RC4 in TLS and WPA http://www.isg.rhul.[...] 2014-06-24
[79] 학회발표 On the Security of RC4 in TLS https://www.usenix.o[...] 2014-06-24
[80] 웹인용 Rivest FAQ http://people.csail.[...] 2017-07-21
[81] 웹인용 RC algorithms Definition from PC Magazine Encyclopedia https://www.pcmag.co[...] 2019-02-20



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com