Breaking VISA PIN

02 lipca 2008 w bankowości i EFTPoS

Poniżej znajduje się artykuł znalazłem niedawno. To jeden z najbardziej wszechstronnych opisy Value

Myślałem, że będzie replikować go tutaj dla moich lokalne odniesienia.

Jako komentarz zostały dokonane w odniesieniu do gramatyki użyte w oryginalnym, mam poprawione niektóre z oczywistych błędów przy jednoczesnym zachowaniu kontekście pierwotnego materiału.

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.

--- oryginalny ----

Przedmowa
Czy zdarzyło Ci się zastanawiać, co by się stało, jeśli stracisz lub i ktoś go znajdzie. Czy dana osoba jest w stanie wycofać gotówkę z bankomatów guessing, somehow, Ponadto, jeśli stwierdzi, którzy byli czyjejś Pan spróbować odgadnąć i podejmują szansę niektóre łatwe Oczywiście odpowiedź na oba pytania powinny być "nie". Praca ta nie zajmuje się drugie pytanie, to kwestia Niniejszym próbuję odpowiedzieć na pierwsze pytanie.

Wszelkie informacje wykorzystywane do tych prac jest publiczna i można swobodnie znaleźć w Reszta jest sprawą z zakresu i programowania, w ten sposób możemy dowiedzieć się i zabawy. I ujawniają żadnych tajemnic. Ponadto, w celu (i ostatecznego tej pracy jest wykazanie, że algorytmy są jeszcze wystarczająco silne, aby zapewnić wystarczające Wszyscy wiemy, nie jest

Ta praca analizuje jedną z najczęstszych algorytmów, używanego przez wiele (kart i i próbuje dowiedzieć się, jak odporna jest guessing ataków. Według "zgadywaniu" Nie oznacza wybór losowy i próbuje je w bankomacie. Jest powszechnie wiadomo, że generalnie mamy kolejne trzy próby, aby wprowadzić prawo jeśli nie prowadzi do bankomatu W jest czterocyfrowym długo można łatwo wywnioskować, że szansa na losową guessing jest 3 / 10000 = 0,0003, wydaje się wystarczająco niski, aby być bezpieczne, to znaczy musisz tracić więcej niż trzy tysiące razy ( lub utratę ponad trzy tysiące karty w tym samym czasie:), dopóki istnieje uzasadnione szansę utraty

Co naprawdę oznacza "zgadywaniu" został łamiącym tak, że biorąc pod uwagę wszelkie możesz natychmiast znać związane Dlatego ten dokument badania możliwości, analizując i proponuje metody Wreszcie dajemy narzędzie, które implementuje i obecne wyniki o szacunkowej szansę uszkodzenia systemu. Należy pamiętać, że tak długo, jak innych związane z algorytmów (inne formatach, takich jak IBM lub walidacji podpisów jak CVC lub) są podobne do to samo można zrobić analizę przynosi prawie takie same wyniki i wnioski.



Jedną z najczęstszych algorytmów jest Value Klient otrzymuje i Zakodowany w to czterocyfrowy numer, zwany Ta liczba jest kryptograficzny podpis i inne dotyczące Gdy użytkownik wpisze swój w bankomacie czyta szyfruje i wysyła te informacje do centralnego komputera. Nie procesu jest obliczana za pomocą klienta wpisać i kryptograficzne informacje o Proces jest w porównaniu z przechowywane w jeżeli zgadzają się z centralnym komputerem powraca do bankomatu zezwolenia na Zobacz więcej szczegółów.

Opis z można znaleźć w dwóch dokumentach związanych z poprzedniej strony. W skrócie polega na z 8 bajtów (64 bitów) ciąg zwany Transformed Parametr (TSP), z (DEA) w Code Book trybie (EBC) za pomocą 64 bitowego klucza tajnego. W jest pochodną wyników który jest 8 bajtowy ciąg. Cztery cyfry z (od lewej do prawej) odpowiada pierwszych czterech cyfr (od lewej do prawej) na wyjście z kiedy uznać za 16 znaków szesnastkowych (16 bit x 4 = 64 bit) string. Jeśli nie ma czterech cyfr spośród 16 znaków szesnastkowych następnie zakończone podjęte (od lewej do prawej) nie decimal znaków i decimalizing je za pomocą konwersji A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, K-> 5. Oto przykład:

Wyjście z 0FAB9CDEFFE7DCBA

0975

Strategia unikania decimalization przez skipping znaków aż czterech cyfr znajdują się (co zdarza się prawie wszystkie razy, ile będziemy patrz poniżej) jest bardzo mądry, gdyż unika się ważnym stronniczość w dystrybucji cyfr, który okazał się śmiertelny dla innych systemów, chociaż wpływ tego systemu będzie znacznie niższa. Zobacz również związanym z tym problemem nie stosuje się do

W TSP, postrzegana jako 16 znaków szesnastkowych (64 bit) string, powstaje (od lewej do prawej), z prawej 11 cyfr PAN (numer z wyłączeniem ostatniej cyfry (sprawdź cyfrowy), jedną cyfrę od 1 do 6 które wybiera szyfrowanie tajnego klucza i wreszcie cztery cyfry numeru Oto przykład:

PAN: 1234 5678 9012 3445
Klucz wyboru: 1
2468

TSP: 5678901234412468

Oczywiście problem łamania polega na znalezieniu tajnego klucza szyfrowania Metoda to zrobić brutalnej siły wyszukiwania z kluczowych miejsca. Należy pamiętać, że nie jest to jedyna metoda, można spróbować znaleźć słabość DEA, wielu próbowało, ale to stary standard jest jeszcze w powszechnym użyciu (obecnie został zastąpiony przez AES i chociaż). Pokazuje to, jest odporny na tyle, że tak brutalnej siły jest tylko opłacalne metody (istnieją lepsze ataki, ale nie praktyczne w naszym przypadku, na podsumowanie patrz LASEC pamięć i za brudne szczegóły patrz Biham & Shamir 1990, Biham & Shamir 1991 r., Matsui 1993, Biham i Biryukov 1994 i Heys 2001).

Klucz wyboru cyfrowy jest bardzo prawdopodobne, wprowadzono przepisy dotyczące możliwości kluczową kompromisu. W takim przypadku nie wystarczy do wydania nowej karty przy użyciu innego klucza wyboru. Starsze karty mogą być zastąpione nowymi lub po prostu może ATM przejrzysty napisać nową (odpowiednio do nowego klucza i zachowaniem tego samego następnym razem klient używa swojej Do wytrząsnąć wszystkich użytkowników powinna być wyznaczona do zmiany kodów PIN, jednakże byłoby kłopotliwe dla w celu wyjaśnienia przyczyny, więc bardzo prawdopodobne, że nie złożenia takiego wniosku.

Przygotowanie


A brutalna siła polega na szyfrowaniu TSP jeden ze znanych użyciu wszystkich możliwych kluczy szyfrowania i porównać uzyskane każdego ze znanych Gdy mecz jest znaleźć mamy kandydata kluczowych. Ale jak wielu kluczy musimy spróbować? Jak już wspomniano powyżej kluczowych jest 64-bitowa długo, to znaczy musimy spróbować 2 ^ 64 kluczy. Jednak nie jest to prawda. Właściwie jedynie 56 bitów są skuteczne w kluczy, ponieważ jeden bit (najmniej znaczący) obecnie każdego oktet historycznie była zarezerwowana jako kontrolna dla innych, w praktyce te 8 bitów (po jednym dla każdego z 8 bajtów) są ignorowane.

Dlatego kluczowych przestrzeń składa się z 2 ^ 56 kluczy. Jeśli spróbujemy wszystkich tych klawiszy będzie znaleźć jeden i tylko jeden mecz, co odpowiada tajnego klucza? Na pewno nie. Będziemy uzyskać wiele pasujące klucze. Dzieje się tak, ponieważ jest tylko niewielka część (jedna czwarta) z wyjście. Ponadto jest zdegradowanych ponieważ niektóre cyfry (tych od 0 do 5 po ostatniej, widziana z lewej do prawej, cyfry pomiędzy 6 i 9) mogą pochodzić z postaci cyfr lub z decimalized szesnastkowe cyfry z wyjście. Tak wiele kluczy powstanie rentowności produkcji, którą do tej samej pasujące

Wtedy to, co możemy zrobić, aby odnaleźć prawdziwą kluczowych Wśród innych fałszywych pozytywnych klucze? Po prostu mamy do szyfrowania drugiego różnych TSP, także ze znanymi ale tylko przy użyciu klawiszy kandydata który wydał pozytywną pasujące z pierwszym pary. Jednak nie ma gwarancji, to nie będzie znowu wiele fałszywych alarmów wraz z prawdziwego klucza. Jeśli tak, to musimy jedna trzecia pary, powtórz ten proces i tak dalej.

Zanim zaczniemy naszą musimy wiedzieć, ilu par musimy. Do tego musimy obliczyć dla losowego wyjścia, aby uzyskać odpowiedni tylko przez przypadek. Istnieje kilka sposobów na obliczenie tej liczby i tutaj będę używać proste podejście łatwe do zrozumienia, ale która wymaga pewnych

A może być postrzegane jako stosunek korzystnych przypadkach możliwych przypadków. W naszym problemem liczby możliwych przypadków jest podawany przez z 16 elementów (0 F szesnastkowe cyfry) w grupie 16 z nich (do 16 cyfr szesnastkowych z wyjścia). To przez 16 ^ 16 ~ 1,8 * 10 ^ 19 co oczywiście zbiega się z 2 ^ 64 (różnych numerów na 64 bity). Ten zbiór liczb mogą być podzielone na pięć kategorii:

Osoby z co najmniej czterech cyfr (0 do 9) wśród 16 szesnastkowych cyfr (0 do F) z wyjście.

Dokładnie z tych tylko trzech cyfr.

Dokładnie z tych dwóch cyfr.

Te właśnie tylko z jednego miejsca cyfry.

Osoby bez cyfr (wszystkie pomiędzy A i K).

Let's obliczyć ile spadek liczby w każdej kategorii. Jeśli etykiecie 16 cyfr szesnastkowych z wyjścia jak X1 do X16 następnie możemy etykiecie pierwszych czterech cyfr dowolnej liczby pierwszej kategorii jako Xi, XJ, XK i XL. Liczbę różnych kombinacji z tego profilu jest podana przez producenta 6 I-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 P.-1 * 10 * 1616-l gdzie 6 ' y od liczby możliwości A do F cyfrowy, 10's pochodzić z możliwości dla cyfry od 0 do 9, a 16 pochodzi z możliwości stosowania 0 do F cyfry. Teraz całkowitej liczby w pierwszej kategorii jest po prostu przez sumowanie tego produktu nad i, j, k, l od 1 do 16, ale z i <j <k <l. Jeśli niektóre matematyki pracy będzie to równa iloczynowi 104 / 6 z ponad zsumowanie i od 4 do 16 (i-1) * (i-2) * (I-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogicznie liczba przypadków, w drugiej kategorii jest przez sumowanie nad i, j, k od 1 do 16 z i <j <K produktu 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k, które można pracować go do 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. Podobnie w przypadku kategorii trzeciej mamy ponad zsumowanie i, j od 1 do 16 z I <J 6 I-1 * 10 * 6j-i-1 * 10 * 616-j, który wynosi do 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Również na czwartej kategorii mamy ponad zsumowanie i od 1 do 16 6i-1 * 10 * 616-I = 160 * 615 ~ 7,5 * 1013. I wreszcie kwotę przypadkach w piątej kategorii podanych przez sześciu elementów (od A do F cyfr) w grupie 16, czyli 616 ~ 2,8 * 1012.

Mam nadzieję, że po obliczeniach do tego punktu, twardy część jest wykonywana. Teraz, jako dowód, że wszystko jest w prawo można suma liczby przypadków w 5 kategorii i zobaczyć równa całkowitej liczby możliwych przypadkach obliczona przed. Czy z wykorzystaniem 64-bitowej liczbie lub zaokrągleń (dla pływaków) lub przepełnienia (dla całkowitych) błędy nie pozwalają uzyskać dokładny wynik.

Do tej pory mamy oblicza liczbę możliwych przypadków w każdej z pięciu kategorii, ale są zainteresowani uzyskaniem wielu przypadkach zamiast korzystne. Jest to bardzo łatwe do uzyskania drugiego z byłych jak to tylko ustalające kombinacja czterech cyfr (lub wymaganego cyfr szesnastkowych, jeżeli nie istnieją cztery cyfry) z zamiast najmu je bezpłatnie. W praktyce oznacza to, obracając 10 we wzorze powyżej 1 i do wymaganej kwoty na 6 w 1's jeżeli nie ma czterech cyfr. Oznacza to, że musimy najpierw podzielić wynik przez 104, drugi przez 103 * 6, trzeci przez 102 * 62, czwarty jeden przez 10 * 63 i piątym o 64. Następnie liczba korzystnych przypadkach w pięciu kategoriach około 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, 2,2 * 109 odpowiednio.

Teraz jesteśmy w stanie uzyskać to, co jest na wyjście będzie odpowiadała przez przypadek. Musimy tylko dodać do pięciu numerów przypadkach korzystne i podzielić ją przez liczbę możliwych przypadkach. Wskutek tego otrzymujemy, że jest bardzo ok. 0,0001 lub jeden z dziesięć tysięcy. Czy to dziwne tym dobrze zaokrąglone wynik? Wcale nie, wystarczy spojrzeć na numery my z powyższymi obliczeniami. Pierwsza kategoria dominuje kilka rzędów wielkości liczbę korzystne i możliwe przypadki. To jest raczej intuicyjna, jak wydaje się jasne, że jest to bardzo mało prawdopodobne, nie czterech cyfr (10 z 16 szans na cyfrowy) wśród 16 cyfr szesnastkowych. Widzieliśmy wcześniej, że związek między liczbą możliwe i korzystne w przypadku pierwszej kategorii był podział przez 10 ^ 4, czyli gdzie wynik p = 0,0001 pochodzi.

Naszym celem dla wszystkich tych obliczeń było dowiedzieć się, jak wiele par musimy przeprowadzić udaną brutalnej siły Teraz jesteśmy w stanie obliczyć oczekiwane liczba fałszywych alarmów w pierwszej wyszukiwania: będzie to liczba prób razy dla jednej losowej fałszywie dodatnie, tj. t * p gdzie t = 2 ^ 56, rozmiar klucza miejsca. Wynosi to około 7,2 * 10 ^ 12, dość duża liczba. Spodziewana liczba fałszywych alarmów w drugim wyszukiwania (ograniczona do pozytywnych kluczy znalezionych w pierwszej wyszukiwania) będzie (T * p) * p, jedna trzecia dla wyszukiwania będzie ((t * p) * p) * p tak dalej. Zatem dla n wyszukiwań oczekiwane liczby fałszywych alarmów będzie t * p ^ n.

Możemy uzyskać liczbę wyszukiwań wymagane oczekiwać tylko jeden fałszywie pozytywnych przez równanie wyrażające t * p ^ n = 1 i rozwiązania dla n. Więc n równa w podstawy p 1 / t, o własności logarytmów to plony n = log (1 / t) / log (p) ~ 4.2. Ponieważ nie możemy zrobić ułamkową wyszukiwania jest dogodna do obławę tej liczby. Dlatego to, co jest oczekiwane liczbę fałszywych alarmów, jeśli wykonać pięć wyszukiwania? Jest t * p ^ 5 ~ 0,0007 czyli około 1 na 1400. Tak więc za pomocą pięciu pary jest bezpieczny, aby uzyskać prawdziwy tajnego klucza bez fałszywych alarmów.


Gdy wiemy, musimy pięć parach, w jaki sposób je uzyskać? Oczywiście musimy przynajmniej jedną ze znanymi oraz ze względu na charakter tych to jedyną rzeczą potrzebujemy. Z drugiej systemów, takich jak IBM, potrzebowalibyśmy pięć kart, jednak nie jest to konieczne z Musimy tylko do odczytu a następnie zmienić cztery razy, ale czytanie po każdej zmianie.

Konieczne jest zapoznanie się z na aby uzyskać i szyfrowanie kluczem wyboru. Możesz kupić handlowych lub jednego się po instrukcje można znaleźć w poprzedniej strony i linki tam. Po patrz opis standardowych utworów magnetycznego, aby dowiedzieć się jak otrzymać z odczytać. W tym dokumencie w dziedzinie utworów 1 i 2 uważa się za pięć znaków długo, ale w rzeczywistości prawdziwego składa się z czterech ostatnich cyfr. Pierwszy z pięciu cyfr jest kluczem wyboru. Mam tylko postrzegane karty o wartości 1 w tym cyfrowy, który jest zgodny z normą oraz z tajnego klucza nie jest zagrożony (a zatem nie trzeba przenieść do innego klucza zmiany wyboru).

Zrobiłem prosty program w C, getpvvkey.c, aby wykonać Składa się on z pętli, aby spróbować wszystkich możliwych kluczy do szyfrowania pierwszy TSP, jeżeli uzyskane mecze prawdziwe nową TSP jest próbował, i tak dalej, dopóki istnieje rozbieżność, w którym to przypadku klucza zostanie odrzucona i nowe jest sądzony lub pięciu uzyskanych PVVs dopasować odpowiednie PVVs prawda, w takim przypadku można założyć, mamy tajnego klucza, jednak wychodzi na pętli, dopóki nie wyczerpuje klawisz spacji. Ma to na celu zapewnienie nam znaleźć prawdziwego klucza, ponieważ istnieje szansa (choć bardzo niski) pierwszy znaleźć klucz jest fałszywie pozytywnych.

Oczekuje się, program będzie trwać bardzo długo i do końca, aby zminimalizować ryzyko odcięcia zasilania, komputer zawiesza się itp. to kontrolne do pliku getpvvkey.dat od czasu do czasu (dokładny czas zależy od prędkości na komputerze, to około jedna godzina dla najszybszych komputerów już w użyciu). Z tego samego powodu, gdy klucz jest znaleźć pozytywne jest napisane w pliku getpvvkey.key. Program wyświetla tylko jedną wiadomość na początku, w pozycji wyjściowej, zaczerpnięte z pliku kontrolnego, jeżeli takie istnieją, po tym nic więcej jest wyświetlany.

W jest kluczowym punktem w programie, dlatego jest bardzo ważne, aby zoptymalizować jej prędkości. I testowany kilka implementacji: libdes, SSLeay, openssl, cryptlib, NSS, libgcrypt, katakumby, libtomcrypt, cryptopp, ufc-crypt. W funkcji pierwsze cztery są oparte na tym samym kodem przez Erica Younga i jednej, która była najskuteczniejsza (w tym C i zoptymalizowany kod asemblera x86). Dlatego wybrałem libdes oryginał, który został skrócony i realizacji wszystkich istotnych kodu w plikach encrypt.c (wersja C) i x86encrypt.s (x86 wersja asemblera). Kod jest nieco zmodyfikowane w celu osiągnięcia pewnych ulepszeń w brutalnej siły wstępny jest ustalana w każdym wspólnym strome TSP i dlatego może być tylko jeden raz na początku. Kolejna poprawa jest, że napisałem zupełnie nową funkcję setkey (I nazwał go nextkey), który jest optymalny dla brutalnej siły pętli.

Aby pobrać program pracy wystarczy odpowiednie miejsce pięć TSPs i ich PVVs a następnie je skompilować. Ja testowałem to tylko na platformach UNIX, wykorzystując Makegetpvvkey Makefile do kompilacji (użyj polecenia "make-f Makegetpvvkey"). To może przetwarzać na inne systemy, ale być może trzeba ustalić pewne rzeczy. Należy upewnić się, że definicja long64 odpowiada 64-bitowy integer. W zasadzie nie ma zależności od endianness przetwórcy. Mam pomyślnie skompilowany i uruchomić go na Pentium-Linux Alpha Tru64, Mips-sparc-IRIX i Solaris. Jeśli nie masz i nie chcesz instalować Linux (nie wiesz, co ci brakuje ;-) wciąż masz wyboru, aby uruchomić Linuksa na CD i używać mojego programu, zobacz moją stronę Linuksa bez potrzeby instalowania go.

Po znalezieniu tajnych klucz, jeśli chcesz znaleźć na arbitralne wystarczy napisać podobny program (sorry I haven't napisany, jestem zbyt leniwy:), które próbują wszystkich 10 ^ 4 PIN poprzez tworzenie odpowiednich TSP, szyfrowania to z (nie) tajnego klucza, wynikających z i porównując ją z z na Otrzymasz jeden pasujący do prawdziwego Tylko jeden mecz? Pamiętaj, co widzieliśmy powyżej, mamy szansę 0,0001 że wyrywkowe odpowiada Jesteśmy próbuje 10000 PIN (a zatem TSPs) więc oczekujemy 10000 * 0,0001 = 1 fałszywie pozytywnych średnio.

Jest to bardzo ciekawy wynik, oznacza to, że średnio każda ma dwa ważne PIN: klient i oczekiwane fałszywie pozytywnych. Ja nazywam to "false", ale pamiętać, że tak długo, jak to generuje prawdziwe jest jak ważne klienta jednego. Ponadto, nie ma sposobu, aby wiedzieć, który jest który, nawet do bankomatu, tylko klient wie. Nawet jeśli nie były fałszywie pozytywnych ważny nadal mają trzy próby na bankomatu mimo, wystarczy średnio. Dlatego mamy obliczoną na początku tego dokumentu o losowej guessing z musi zostać skorygowany. Właściwie to jest dwa razy wyższa wartość, czyli jest to 0,0006 lub jeden z ponad 1600, w dalszym ciągu bezpiecznie niska.

Wyniki


Ważne jest, aby zoptymalizować kompilacji program i uruchomić go w najszybszym procesorem możliwe ze względu na długo oczekiwany czasie. I stwierdziła, że kompilator optymalizacji flaga-O otrzyma lepsze wyniki, myśli pewną poprawę realizowana jest dodanie-fomit-frame-pointer flagi na Pentium-Linux-skok do flagi na Alpha Tru64, w IPA-flaga-Mips IRIX i-fast-flagi na Sparc Solaris. Specjalne flagi (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) dla kod ogólnie korzyści. Wszystkie te flagi zostały już przetestowane i wybraliśmy najlepsze połączenie dla każdego procesora (patrz Makefile), ale można spróbować dostosowania inne flagi.

Według moich badań najlepsze wyniki osiąga się AMD Athlon 1600 MHz, powyżej 3,4 milionów kluczy na sekundę. Co ciekawe on lepsze wyniki niż Intel Pentium IV 1800 MHz i 2000 MHz (patrz rysunek poniżej, kliknij je, aby powiększyć). Sądzę, że wynika to I / O nasycenia, z pewnością, Wikisłowniku lub pamięci, że procesor AMD (która połowa pamięci cache Pentium) lub płyty głównej, w którym jest uruchomiony, udaje się uniknąć. W pierwszym rysunku poniżej widać, że łamiącym prędkości wszystkich przetwórców, ma mniej lub bardziej liniowy związek z szybkości procesora, z wyjątkiem dwóch Intel Pentium mówiłem wcześniej. To jest logiczne, to znaczy, że dla podwójnej szybkości procesora otrzymasz podwójne złamanie prędkości, ale uważaj na nasycenie skutki, w tym przypadku jest lepsze AMD Athlon 1600 MHz, który będzie nawet tańsze niż Intel Pentium 1800 MHz lub 2000 MHz.

W drugim rysunku widać w sposób bardziej szczegółowy, co chcielibyśmy połączeń wewnętrznych złamać moc procesora. Uzyskać tę wartość po prostu dzieląc break prędkość szybkości procesora, to otrzymujemy liczbę klucze próbowali na sekundę i na MHz. To jest miarą wydajności procesora niezależnie od jego prędkości. Wyniki pokazują, że najlepszym procesorem do realizacji tego zadania jest AMD Athlon, a potem przychodzi Alfa i bardzo blisko, po to jest procesor Intel Pentium (z wyjątkiem wyższych prędkości te, które wykonują bardzo słabe z powodu nasycenia efektu). Dalej jest Mips procesora i ostatnie miejsce jest Sparc. Niektóre Alfa i Mips procesorów znajduje się na dole skali, ponieważ są one na początku nie uwalnia tym akcesoria późnych wersjach. Należy pamiętać, że zawarte wydajność procesorów x86 C i assemblera kod istnieje duża Wygląda na to, że gcc nie jest dobry generator kodu maszynowego zoptymalizowany, ale oczywiście nie wiemy, czy podręcznik optymalizacji kodu asemblera dla innych procesorów (Alpha, Mips, Sparc) zwiększyłyby swoje wyniki w porównaniu do natywnego kompilatory C (nie używać gcc dla tych innych platform), jak to się dzieje z procesorem x86.

Uaktualnić

Oto artykuł, gdzie te techniki mogą być wykorzystane.

http://redtape.msnbc.com/2008/08/could-a-hacker.html

Financial Transaction Processing

02 lipca 2008 w bankowości i EFTPoS

I zostały niedawno pracy wewnątrz jednego z większych banków Polsce.
Dzięki tej pracy zostały patrząc na kontroli i otaczającego kart i wokół Pacyfiku.

I get wykonać wiele i systemów ocen.
Z biegiem lat mam zawsze jako jedno z kluczowych rozważań.

Do wczoraj miałem nigdy nie widział jeden lub narzędzi. Myślę, że kilka akcji wykorzystania tych narzędzi może być bardzo interesująca.
Strona hziggurat29.com

Wiele innych narzędzi na tej stronie są również bardzo wyjątkowy i warto zobaczyć.
Duże podziękowania dla ziggurat29 za dostarczenie takich narzędzi awesome.

Ponieważ wiele z tych witryn są tego rodzaju są trudne i często wydaje się, że znika z biegiem lat, mam do zreplikować wybrany z tej strony i przewidywały na lokalne kopie plików.
Należy okresowo odwiedzając witrynę ziggurat29 raz i ponownie, aby sprawdzić, czy wszelkie dodatkowe narzędzia zostały zamieszczone.

Jednym z bardziej niezwykłe plików jest Atalla Module i narzędzi. Zastanawiam się więc, jeśli i są wytrząsanie w ich buty. Niektóre, jak I don't think so. ;-)

--- Ziggurat29 ---

Są to wszystkie Windows Narzędzia wiersza polecenia (o ile nie zaznaczono inaczej); wykonać z opcją-help
w celu określenia wykorzystania.

DUKPT Rozszyfrować (<- rzeczywisty plik do pobrania)

Jest to które będzie Szyfrowane bloki, które zostały wytworzone przez potrójne metody. Użyłem tego do testowania wydajności niektórych Pad oprogramowania miałem utworzone, ale jest także przydatny dla innych celów debugowania.

VISA PVV Kalkulator (<- rzeczywistą
plik do pobrania)

Jest to które będzie obliczyć i zweryfikować Wartości, które zostały wyprodukowane za pomocą Posiada kilka dodatkowych funkcji, takich jak sprawdzanie i ustalanie PAN (Luhn tworzenie i szyfrowanie blokuje i odszyfrowywania wydobycia z szyfrowany PIN bloków itp.

VISA CVV Kalkulator (<- rzeczywisty plik do pobrania)

Jest to które będzie obliczyć Wartości, które zostały wyprodukowane za pomocą MasterCard CVV CVC wykorzystuje więc będzie działać w tym również. Będzie obliczyć CVV3, iCVV, CAVV, ponieważ to tylko wariacje na temat usług i kod
format dacie ważności. jest po prostu porównując obliczone wartości co odebrany, więc nie ma wyraźnego funkcji.

Atalla AKB Kalkulator (<- rzeczywisty plik do pobrania)

Jest to które będą generować i Atalla AKB cryptograms. Będziesz potrzebował plaintext MFK do wykonywania tych czynności. Gdy odszyfrowywania, MAC będzie także sprawdzone, a wyniki widoczne.

BogoAtalla (<- rzeczywistą plik
download)

Jest to Atalla (lub symulator). To oprogramowanie (symulacja) w znanym Atalla Module który jest stosowany przez banki i przetwórców do operacji kryptograficznych, takich jak weryfikacji / tłumaczenia blokuje, upoważniające transakcji przez sprawdzania
/ CSC numerów i wykonywanie procedur wymiany klucza, został wyprodukowany w celach testowych. Ta realizacja nie jest kompletny zestaw HP Atalla polecenia, ale tylko
porcjach, że ja potrzebny. Mając na uwadze powyższe, nie jest wystarczająco kompletny, jeśli wykonują nabycia i / lub wydawanie funkcji i przy użyciu bardziej nowoczesnych systemów, takich jak i i trzeba zrobić generacji, i tłumaczenia.

To działa jak słuchanie gniazda i obsługuje natywnego Atalla polecenie set. Mam podjąć pewne wolności z błędu powrotu wartości i nie dąży do wysokiej wierności tam (tzn. można uzyskać odpowiedzi od różnych błędów native ale zdecydowanie powinny być identyczne pozytywne
odpowiedzi. Niektóre funkcje realizowane tutaj zwykle wymagają zakupu premii komend, ale wszystkie polecenia tutaj realizowane są dostępne. Przykładami są generujące wartości i szyfrowania / odszyfrowywania plaintext wartości.

BogoAtalla dla Linksys (<- rzeczywisty plik do pobrania)

To Atalla przeportowany na Linuksa i budowania instalacji na OpenWRT systemu. Służy do naprawdę tanie (60 dolarów USD) / test urządzenia.

Pliki lokalne

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc