Backdoor klucz NSA z Lotus-Notes


NSA’s Backdoor Key from Lotus-Notes
Copyright © By Adam Back
For original English text, go to: http://www.cypherspace.org/adam/hacks/lotus-nsa-key.html

Przed USA krypto przepisy eksportowe w końcu rozpuszczono wersja eksportowa z Lotus Notes wykorzystać do włączenia kluczową escrow / backdoor funkcję o nazwie kryptografia różnicowa. Chodziło o to, że dostał pozwolenie na wywóz 64-bitowe crypto jeśli 24 z tych bitów zostały szyfrowane kluczem publicznym NSA. NSA będzie wtedy tylko małą sprawę brute-zmuszając pozostałe 40 bitów, aby uzyskać czysty tekst, a każdy inny by uzyskać nie-że-wielkie 64-bitowy przestrzeń kluczy (które prawdopodobnie już wtedy NSA miałby moc obliczeniową do brutalnej siły też, tylko na wyższe koszty).

Zresztą, jak wyraźnie wewnątrz aplikacji gdzieś byłoby NSA kluczem publicznym, który NSA miał klucz prywatny, próbowałem reverse engineering to, aby uzyskać klucz publiczny.

W ten sposób odkryłem, że NSA klucz publiczny miał organizacyjną nazwę “MiniTruth”, jak również wspólną nazwę “Big Brother”. Konkretnie, co widziałem w moim debugera późno w nocy, co było straszne przez chwilę było:

O = MiniTruth CN = Big Brother

Literackie Uwaga: Dla tych, którzy nie czytali przewidujący Orwella “1984” Ministerstwo Prawdy była agencja kto jest praca była propaganda i tłumienie prawdy, które nie pasowały do ​​złośliwego fikcyjną przyszły rząd w książce, a “Big Brother” był zły cienisty liderem tego rządu. Cała książka jest online tutaj.

Klucz publiczny NSA

Ja to ze sobą kilka lat po reverse-engineering wyścigu, więc nie mogą być błędy, ale to z moich notatek, surowy klucza publicznego modułowych z debugera:

8D9D6213D3EF03A7 A5CEAE99B8E9FF06
12E58ECAAB2939FE 72B41833B8B947A0
DF8111B561CE67FB 50844623CF88338C
E7BC80C5ECC31276 6075E13E12E956F6
59954F68B04F0FEA B6B82EFEC4E07BD8
4BC41FE3123AF70C 31688BCD5895BB00

Pomyślałem, że to w formacie little endian metodą prób i błędów, inne formaty były łatwe do czynnika. Więc big endian szesnastkowa reprezentacja jest:
e = 3 n = \ 00BB9558CD8B68310CF73A12E31FC44BD87BE0C4FE2EB8B6EA0F4FB0684F9559 \ F656E9123EE175607612C3ECC580BCE78C3388CF23468450FB67CE61B51181DF \ A047B9B83318B472FE3929ABCA8EE51206FFE9B899AECEA5A703EFD313629D8D

gdzie moduł to 760 bitów, a klucz publiczny sformatowany jako klucza PGP jest (oczywiście zrobiłem ten identyfikator użytkownika w górę – możesz go edytować do Cokolwiek wybierzesz to nie jest oczywiście z podpisem własnym):
Bity typu / id klucza Użytkownik Data pub ID 760/13629D8D 1998/10/25 dyrektora, NSA —– BEGIN PGP PUBLIC KEY BLOCK —– Version: 2.6.3i mQBsAzYyeuIAAAEC + LuVWM2LaDEM9zoS4x / ES9h74MT + Lri26g9PsGhPlVn2VukS PuF1YHYSw + zFgLznjDOIzyNGhFD7Z85htRGB36BHubgzGLRy/jkpq8qO5RIG / + m4 ma7OpacD79MTYp2NAAIDtB5EaXJlY3RvciwgTlNBIDxkaXJuc2FAbnNhLmdvdj4 == aoSi —– END PGP PUBLIC KEY BLOCK —–

i oto co pgpacket ma do powiedzenia o treści tego klucza:
————————— Typ pakietu: Public długość pakietu Key: 108 Wersja Byte: 3 utworzony klucz: 25 października 1998 01:12: 02 Prawidłowy Algorytm zawsze: 1 (RSA) N: 0xBB9558CD8B68310CF73A12E31FC44BD87BE0C4FE2EB8B6EA0F4FB0684F9559F6 \ 56E9123EE175607612C3ECC580BCE78C3388CF23468450FB67CE61B51181DFA0 \ 47B9B83318B472FE3929ABCA8EE51206FFE9B899AECEA5A703EFD313629D8D E: 0x03 ID klucza: 0xA703EFD313629D8D ————————— Typ pakietu: ID Długość Użytkownik pakietów: 30 User ID: “Dyrektor NSA “