노 업 마이 슬리브 번호
Nothing-up-my-sleeve number암호학에서, 아무것도 없는 내 팔의 숫자는 그들의 구성에 의해 숨겨진 재산의 의심의 여지가 없는 숫자다.해시, 암호 등의 암호함수를 만드는 데 쓰인다.이러한 알고리즘은 혼합 또는 초기화를 위해 무작위화된 상수가 필요한 경우가 많다.암호학자는 예를 들어 알고리즘의 백도어를 만들기 위해 악의적인 목적을 위해 상수를 선택하지 않았음을 증명하는 방법으로 이러한 값을 선택할 수 있다.[1]이러한 두려움은 조정의 여지를 거의 남기지 않는 방식으로 생성된 숫자를 사용함으로써 완화될 수 있다.예를 들어 숫자 π의 초기 자릿수를 상수로 사용하는 것이 그 예일 것이다.[2]알고리즘 설계자는 설계자가 나중에 이용할 수 있는 비밀 취약점을 만들어냈기 때문에 소수점 뒤에 수백만 자리 수를 사용하는 것은 신뢰할 수 없는 것으로 간주될 수 있다.
π, e, 비합리적인 뿌리와 같은 실수의 위치표현에 있는 자릿수는 동일한 주파수로 나타나는 것으로 생각된다(정상수 참조).이러한 숫자는 무작위로 보이지만 정보 엔트로피가 매우 낮다는 점에서 차이틴-콜모고로프 난수의 반대 극단으로 볼 수 있다.이들의 사용은 미국 정부의 1975년 데이터 암호화 표준에 대한 초기 논란에서 비롯된 것으로, S-box에 사용된 상수에 대해 어떠한 설명도 제공되지 않아 비판을 받았다(이후 차등암호분석의 당시 분류된 기술로부터 보호하기 위해 신중히 선택된 것으로 밝혀졌지만).[3]따라서 암호화에 사용되는 상수를 생성하기 위한 보다 투명한 방법이 필요하게 되었다.
'내 소매 위로는 아무것도 없다'는 마술사들과 관련된 구절인데, 마술사들은 가끔 안에 숨겨진 물체가 없다는 것을 보여주기 위해 소매를 벌려 마법의 술책을 서문하기도 한다.
예
- Ron Rivest는 널리 사용되는 MD5 해시에 대한 상수를 생성하기 위해 삼각 사인 함수를 사용했다.[4]
- 미국 국가안보국은 '보안 해시 알고리즘' SHA-1에 사용된 상수를 생산하기 위해 작은 정수의 제곱근을 사용했다.SHA-2 기능은 작은 프리임의 제곱근과 입방근을 사용한다.[5]SHA-1도 0123456789를 사용한다.ABCDEFFEDCBA9876543210F0E1D2C3을 초기 해시 값으로 한다.
- 복어 암호화 알고리즘은 π(초기 3 없음)의 바이너리 표현을 사용하여 키 스케줄을 초기화한다.[2]
- RFC 3526은 π에서도 생성되는 인터넷 키 교환의 프라임 넘버를 설명한다.
- NewDES 암호의 S-box는 미국 독립 선언에서 파생되었다.[6]
- AES 후보 DFC는 e의 바이너리 확장으로부터 S-box의 모든 항목을 포함한 임의 상수를 모두 도출한다.[7]
- ARIA 키 스케줄은 1/2의 바이너리 확장을 사용한다.[8]
- RC5 암호의 주요 일람표는 e와 황금 비율의 이진수를 모두 사용한다.[9]
- TEA와 Red Pike를 포함한 복수의 암호는 2654435769 또는 0x9e3779b9를 사용하며, 여기서 ϕ은32 황금비율이다.
- SHA-3 대회의 결승전 진출자인 블레이크 해시함수는 π의 분수 부분의 512비트 또는 1024비트인 16개의 상수단어 표를 사용한다.
- KASUMI 암호의 키 일람표는 0x123456789를 사용한다.수정된 키를 도출하기 위한 ABCDEFFEDCBA9876543210.
- 살사20 암호 제품군은 블록 초기화 프로세스에서 상수로 ASCII 문자열 "확장 32바이트 k"를 사용한다.
백작샘플
- Streebog 해시함수 S-box는 무작위로 생성된다고 주장되었으나, 역설계되어 일부 '퍼즐링' 약점과 함께 알고리즘적으로 생성되는 것으로 증명되었다.[10]
- DES(Data Encryption Standard)에는 NSA가 제공한 상수가 있다.이들은 무작위와는 거리가 먼 것으로 밝혀졌지만 백도어가 아닌 알고리즘을 당시 공개적으로 알려지지 않은 방식인 차등암호분석에 탄력적으로 만들었다.[3]
- NIST가 권장한 암호 사이비 무작위 비트 생성기인 듀얼_EC_DRBG는 알고리즘에 사용하도록 권장한 상수를 작성자가 과거 생성된 값의 표본을 주어진 미래 출력을 예측할 수 있는 방식으로 선택할 수 있었기 때문에 2007년에 비판을 받았다.[1]뉴욕타임스는 2013년 9월 "전 NSA 계약자인 에드워드 스노든이 유출한 내부 메모는 NSA가 NSA의 백도어를 포함하는 2006년 NIST 표준(Dual EC DRBG 표준)에 사용된 무작위 번호 생성기 중 하나를 생성했음을 시사한다"[11]고 썼다.
- P 곡선은 타원 곡선 암호화를 위해 NIST에 의해 표준화된다.이러한 곡선의 계수는 다음과 같이 설명되지 않은 무작위 씨앗을 해싱하여 생성된다.
- P-224:
bd713447 99d5c7fc dc45b59f a3b9ab8f 6a948bc5
. - P-256:
c49d3608 86e70493 6a6678e1 139d26b7 819f7e90
. - P-384:
a335926a a319a27a 1d00896a 6773a482 7acdac73
.
- P-224:
직접 관련은 없지만 듀얼_의 백도어 이후EC_DRBG가 노출되었고, NIST의 P 곡선[12] 상수의 의심스러운 측면이 NSA가 개인 키를 찾는데[14] 유리하게 하는 값을 선택했다는 우려를[13] 낳았다.[15]이후 많은 프로토콜과 프로그램이 NIST P-256 곡선의 대안으로 Curve25519를 사용하기 시작했다.
나는 더 이상 상수를 믿지 않는다.나는 NSA가 산업과의 관계를 통해 그들을 조종했다고 믿는다.
— Bruce Schneier, "The NSA Is Breaking Most Encryption on the Internet" (2013)[16]
제한 사항
번스타인과 공저자는 타원곡선과 같은 암호 객체를 생성하기 위한 복잡한 절차에서 시작점으로 무(無)업 마이 슬리브 숫자를 사용하는 것은 백도어 삽입을 방지하기에 충분하지 않을 수 있음을 입증한다.객체 선택 절차에서 조정 가능한 요소들이 충분히 있는 경우, 가능한 설계 선택과 겉보기에는 간단해 보이는 상수의 우주가 충분히 커져서 가능성을 탐색하여 원하는 백도어 특성을 가진 물체를 구성할 수 있다.[17]
각주
- ^ a b Bruce Schneier (2007-11-15). "Did NSA Put a Secret Backdoor in New Encryption Standard?". Wired News.
- ^ a b 복어 페이퍼
- ^ a b 브루스 슈나이어응용 암호학, 제2판, 존 와일리 앤 선즈, 1996년, 페이지 278.
- ^ RFC 1321 3.4항
- ^ FIPS 180-2: Secure Hash Standard(SHS) (PDF, 236 kB) – 현재 버전의 Secure Hash Standard(SHA-1, SHA-224, SHA-256, SHA-384, SHA-512), 2002년 8월 1일 2004년 2월 25일 개정
- ^ NEWDES 개정, Robert Scott, 1996
- ^ Henri Gilbert; M. Girault; P. Hoogvorst; F. Noilhan; T. Pornin; G. Poupard; J. Stern; S. Vaudenay (May 19, 1998). "Decorrelated Fast Cipher: an AES candidate" (PDF/PostScript).
- ^ A. Biryukov; C. De Cannière; J. Lano; B. Preneel; S. B. Örs (January 7, 2004). Security and Performance Analysis of ARIA (PostScript) (Report). Version 1.2—Final Report. Katholieke Universiteit Leuven.
- ^ Rivest, R. L. (1994). "The RC5 Encryption Algorithm" (PDF). Proceedings of the Second International Workshop on Fast Software Encryption (FSE) 1994e. pp. 86–96.
- ^ Biryukov, Alex; Perrin, Léo; Udovenko, Aleksei (2016). "Reverse-Engineering the S-box of Streebog, Kuznyechik and STRIBOBr1 (Full Version)". Iacr-Eurocrypt-2016. doi:10.1007/978-3-662-49890-3_15.
- ^ Perlroth, Nicole (September 10, 2013). "Government Announces Steps to Restore Confidence on Encryption Standards". The New York Times. Retrieved September 11, 2013.
- ^ "SafeCurves: Introduction".
- ^ Maxwell, Gregory (September 8, 2013). "[tor-talk] NIST approved crypto in Tor?". Retrieved 2015-05-20.
- ^ "SafeCurves: Rigidity". safecurves.cr.yp.to. Retrieved 2015-05-20.
- ^ "The NSA Is Breaking Most Encryption on the Internet - Schneier on Security". www.schneier.com. Retrieved 2015-05-20.
- ^ ""I no longer trust the constants.", The NSA Is Breaking Most Encryption on the Internet - Schneier on Security". www.schneier.com. Retrieved 2021-04-10.
- ^ 곡선표준 조작방법: 검정모자 다니엘 J. 번스타인, 퉁추, 치차노크 츄엥사티엔스업, 안드레아스 후 ̈싱, 에란 람부이, 탄자 란지, 루벤 니더하겐, 크리스틴 반 브레덴다알의 백서가 2016년 6월 4일에 접속되었다.