E0(암호)

E0 (cipher)

E0블루투스 프로토콜에서 사용되는 스트림 암호다. 그것은 일련의 유사 항만 숫자를 생성하고 그것을 XOR 연산자를 사용하여 데이터와 결합한다. 키 길이는 다양할 수 있지만 일반적으로 128비트다.

설명

각 반복에서 E0는 길이가 서로 다른 (25, 31, 33, 39비트) 4개의 변속 레지스터와 각각 2비트 길이의 내부 상태를 사용하여 비트를 생성한다. 각 클럭 틱에서 레지스터는 이동되고 두 상태는 현재 상태, 이전 상태 및 시프트 레지스터의 값으로 업데이트된다. 그런 다음 시프트 레지스터에서 4비트를 추출하여 함께 추가한다. 2비트 레지스터의 값을 합한 알고리즘 XOR. 결과의 첫 번째 비트는 인코딩용 출력이다.

E0는 세 부분으로 나뉜다.

  1. 페이로드 키 생성
  2. 키스트림 생성
  3. 인코딩

블루투스의 초기 상태 설정은 무작위 비트 스트림 발생기와 동일한 구조를 사용한다. 따라서 우리는 두 개의 결합된 E0 알고리즘을 다루고 있다. 초기 132비트 상태는 첫 번째 단계에서 4개의 입력(128비트 키, 48비트의 블루투스 주소 및 26비트 마스터 카운터)을 사용하여 생성된다. 그런 다음 출력은 다항 연산에 의해 처리되고 결과 키는 인코딩에 사용되는 스트림을 생성하는 2단계를 거친다. 키는 가변 길이를 가지지만 항상 2의 배수(8~128비트 사이)이다. 일반적으로 128비트 키가 사용된다. 이것들은 2단 교대장에 보관된다. 그 후 200개의 시계 틱에 의해 200개의 가성비트가 생성되고 마지막 128비트가 시프트 레지스터에 삽입된다. 그것은 스트림 발전기의 초기 상태야.

암호해석

E0와 블루투스 프로토콜의 암호화에 대한 여러 번의 공격과 시도가 이루어졌으며, 여러 가지 취약성이 발견되었다. 1999년, Miia Hermelin과 Kaisa Nyberg는 2비트의64 출력이 알려지면 2번의 조작64(2대신128)에서 E0이 고장날 수 있다는 것을 보여주었다.[1] 이러한 유형의 공격은 이후 키샨 챈드 굽타와 팔라쉬 사르카르에 의해 개선되었다. 시스코 시스템즈 사원인 스콧 플러러는 2개의80 작업 사전 검사와 약 2개의65 작업에서 핵심적인 검색 복잡성을 가진 이론적 공격을 발견했다.[2] 그는 E0의 최대 보안이 65비트 키가 제공하는 것과 동일하며, 키가 길수록 보안이 개선되지 않는다고 추론했다. 플루러의 공격은 E0에 대한 두 번의70 작전 공격을 고안한 Golic, Bagini, Morgari의 이전 작업에 대한 개선이다.

2000년에 핀 주하 바니요는 E0의 오용과 관련된 문제를 보여주었고, 더 일반적으로 블루투스에서의 가능한 취약성을 보여주었다.[3]

2004년에 이루와 세르게 보데네이(Searge Vaudenay)는 블루투스 프레임 2개의35 첫 번째 비트 24개(프레임은 2745비트 길이)가 필요한 통계적 공격을 발표했다. 키를 회수하기 위한 최종적인 복잡성은 약 2개의40 작업이다. 공격은 프리컴퓨팅을 위한 작전 2회37, 실제 키 검색 작전 2회로39 개선됐다.[4][5]

2005년, 루, 마이어, 보데네이 등은 조건부 상관관계 공격에 근거한 E0의 암호해석을 공표했다. 그들의 최상의 결과는 키를 복구하기 위해 2개의23.8 프레임과 2개의38 계산의 처음 24비트가 필요했다. 저자들은 "이는 블루투스 암호화에 대한 기존의 모든 공격과 비교해 볼 때 가장 빠르고 유일한 실용적 알려진 일반 텍스트 공격"이라고 주장한다.[6]

참고 항목

참조

  1. ^ Hermelin, Miia; Kaisa Nyberg (1999). Correlation properties of the Bluetooth Combiner (PDF). International Conference on Information Security and Cryptology 1999. Lecture Notes in Computer Science. Vol. 1787. Helsinki, Finland: Nokia Research Centre. pp. 17–29. CiteSeerX 10.1.1.40.9412. doi:10.1007/10719994_2. ISBN 978-3-540-67380-4.
  2. ^ Fluhrer, Scott. "Improved key recovery of level 1 of the Bluetooth Encryption" (PostScript). Cisco Systems, Inc.
  3. ^ Vainio, Juha. "Bluetooth Security" (PDF). Helsinki, Finland: Helsinki University of Technology. {{cite journal}}: Cite 저널은 필요로 한다. journal= (도움말)
  4. ^ Lu, Yi; Serge Vaudenay (2004). Cryptanalysis of Bluetooth Keystream Generator Two-Level E0. Asiacrypt 2004. Lecture Notes in Computer Science. Vol. 3329. pp. 483–499. doi:10.1007/978-3-540-30539-2_34. ISBN 978-3-540-23975-8.
  5. ^ Lu, Yi; Serge Vaudenay. "Faster Correlation Attack on Bluetooth Keystream Generator E0" (PDF). Crypto 2004: 407–425.
  6. ^ Lu, Yi; Meier, Willi; Vaudenay, Serge (2005). The Conditional Correlation Attack: A Practical Attack on Bluetooth Encryption (PDF). Crypto 2005. Lecture Notes in Computer Science. Vol. 3621. Santa Barbara, California, USA. pp. 97–117. CiteSeerX 10.1.1.323.9416. doi:10.1007/11535218_7. ISBN 978-3-540-28114-6.

외부 링크