PIN-ul de rupere de vize

02 iulie 2008 în bancar şi EFTPoS

Mai jos este un articol recent am găsit. Acest una dintre cele mai complete Descrierile de Valoare tocat.

Am crezut că am să-l reproduc aici pentru meu locale de referinţă.

Ca s-au făcut comentarii cu privire la gramatica utilizate în original, am corectat unele dintre erorile evidente în acelaşi timp menţinând în contextul materialul original.

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

--- Original ----

Cuvânt înainte
Ai mai întreb ce s-ar întâmpla dacă ai pierdut de credit sau debit şi găseşte-l pe cineva. Ar fi această persoană să aibă posibilitatea de a retrage numerar de la un bancomat ghicitul, cumva, Mai mult decât atât, dacă ai fi fost cineva care constată lui te-ar încerca să ghicesc şi să ia şansa de a obţine unele de bani? Desigur, răspunsul la ambele întrebări ar trebui să fie "nu". Acest lucru nu se face cu cea de-a doua întrebare, este o chestiune de Am alăturat încercaţi să răspundeţi la prima întrebare.

Toate informaţiile utilizate pentru acest lucru este public şi poate fi găsit în mod liber Restul este o chestiune de şi de programare, astfel, să putem afla şi au de distractie. Eu nu au evidenţiat nici secretele. Mai mult, scopul (şi de acest lucru este de a demonstra că algoritmi sunt încă suficient de puternici pentru a furniza suficient Ştim cu toţii nu este

Acest lucru analize, una din cele mai comune algoritmi, folosite de multe carduri de debit) şi încearcă să afle cum este rezistent la atacurile ghicitul. Prin "ghicită" Eu nu zic aleatoare a alege un şi Incerc-o într-un bancomat. Este bine cunoscut faptul că în general, ne sunt prezentate trei studii clinice pentru a intra în dreptul ATM-uri, dacă nu am ţine de Ca este de patru cifre de mult timp este uşor de a deduce că şansa de aleatoare pentru un ghicitul este de 3 / 10000 = 0.0003, se pare suficient de scăzut pentru a fi în siguranţă; ai nevoie de ea înseamnă să-ţi pierzi mai mult de trei mii de ori ( sau de a pierde mai mult de trei mii de carduri în acelaşi timp:) până când există o şansă rezonabilă de a pierde

Ce nu-mi înţelege prin "ghicită" a fost rupere de dat, astfel încât orice puteţi imediat să ştiu asociate Prin urmare, acest document de studii în care această posibilitate, analiza de şi de a propune o metodă de În final ne da un instrument care pune în aplicare de şi prezenta rezultatele estimate despre sansa de a sparge sistemul. Reţineţi că, atâta timp cât alte legate de algoritmi (alte formate, cum ar fi IBM, validare de semnături, cum ar fi sau CVC) sunt similare cu aceeaşi analiză se poate face obţinerii de aproape aceleaşi rezultate şi concluzii.



Unul dintre cele mai comune algoritmi este Valoare Clientul este dat un cod PIN şi o Codificat în este o perioada de patru cifre numărul, numit Acest număr este o semnătura criptografică a şi date legate de Când un utilizator intra lui / ei la ATM-uri citeşte encrypts şi trimite toate aceste informaţii la o centrală de computer. Există un proces se calculeaza de client introdus şi criptografice cu un Procesul este, comparativ cu stocate în dacă acestea se potrivesc cu centrale de calculator revine la ATM-uri de autorizare pentru Vezi mai în detaliu.

De descriere a poate fi găsit în două documente legate de la pagina anterioară. În rezumat, în aceasta constă criptare de 8 octeţi (64 biţi) şir date, numit Transformată Parametru (TSP), cu (DEA) în Cod Rezerva Mod (BCE) folosind o cheie secretă pe 64 biţi. De este derivat de la iesire din de criptare, care este un şir de octeţi 8. Cele patru cifre ale (de la stânga la dreapta) să corespundă cu primele patru cifre zecimale (de la stânga la dreapta) din datele de ieşire de la atunci când consideră ca fiind o hexazecimal 16 de caractere (16 x 4 biţi = 64 biţi) şir de caractere. Dacă nu există patru cifre zecimale între hexazecimal de 16 caractere atunci este completat luate (de la stânga la dreapta) şi caractere non zecimal decimalizing-le prin utilizarea de conversie A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Iată un exemplu:

De iesire de la 0FAB9CDEFFE7DCBA

0975

Strategia de a evita decimalization sar de caractere până la ora patru cifre zecimale sunt găsite (care se întâmplă să fie aproape de toate de ori aşa cum vom vedea mai jos) este foarte inteligent, pentru că evită orice subiectivism un important în distribuţia de cifre care s-a dovedit a fi fatale pentru alte sisteme, cu toate că impactul pe acest sistem ar fi mult mai mici. Vezi de asemenea, o problemă legată nu se aplică la

De TSP, vazut ca o hexazecimal 16 de caractere (64 biţi) şir de caractere, este format (de la stânga la dreapta), cu 11 cifre de la dreapta PAN exclude ultimele cifre (verifica cifre), o cifră de la 1 la 6 care selecteaza cheie de criptare secretă şi, în final, cele patru cifre din Iată un exemplu:

PAN: 1234 5678 9012 3445
Selector cheie: 1
2468

TSP: 5678901234412468

Evident, problema de rupere constă în găsirea de secrete pentru cheie criptare Metoda pentru că este de a face un "brute force" cheie de căutare de spaţiu. Reţine că aceasta nu este singura metodă, unul ar putea încerca să găsească o slăbiciune în DEA, mulţi au încercat, dar acest standard de vechi este încă în largă utilizare (fost înlocuit acum de AES şi totuşi). Acest lucru demonstrează, este suficient de robustă, astfel încât "brute force" este singura metodă viabilă din punct de vedere (există unele atacuri mai bine, dar nu practică în cazul nostru, pentru un rezumat vezi LASEC memoria de murdare şi pentru detalii, a se vedea Biham & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 şi Heys 2001).

Cheia selectorul de cifre, foarte probabil a fost introdusă pentru a acoperi posibilitatea de a o cheie de compromis. În acest caz, ele au doar de a emite carduri de noi, folosind un alt selector cheie. Mai vechi carduri pot fi înlocuite cu altele noi, sau pur şi simplu de ATM-uri pot scrie un nou mod transparent (corespunzător la noua cheie şi păstrarea acelaşi data viitoare clientul utilizează lui / ei Pentru a agita de toţi utilizatorii ar trebui să fie întrebat PINS lor de a schimba, cu toate acestea, ar fi jenant pentru de a explica motivul, deci foarte probabil ca nu le-ar face o astfel de cerere.

Pregătirea de


Brute force "Un criptare constă în a cunoaşte un TSP cu posibil, folosind toate cheile de criptare şi compara obţinute de fiecare cunoscut cu Atunci când un meci este de ne-am găsit un candidat cheie. Dar cât de multe avem cheile pentru a încerca? După cum am spus mai sus de cheie este de 64 de biţi lung, aceasta ar însemna că trebuie să încercaţi 2 ^ 64 chei. Cu toate acestea acest lucru nu este adevărat. De fapt numai 56 de biţi sunt eficiente în pentru că una chei de biţi (de cel mai puţin semnificativ) din fiecare octet rezervat a fost ca un istoric de control pentru alţii; în practică cele 8 biţi (câte unul pentru fiecare din cele 8 octeţi) sunt ignorate.

Prin urmare, cheie spaţiu constă din 2 ^ 56 chei. Dacă am încerca toate aceste chei va vom găsi una şi doar un singur meci, corespunzătoare banca secrete cheie? Sigur nu. Noi va obţine mai multe chei de potrivire. Aceasta este din cauză că este doar o mică parte (un sfert) din iesire. Mai mult de este degenerated pentru că unele din cifre (cele între 0 şi 5 după ultima, vazut de la stânga la dreapta, cifre între 6 şi 9) pot veni de la un sir de zecimal sau hexazecimal decimalized de la o cifră de iesire. Astfel de multe chei va produce un ieşire care randamentele la acelaşi potrivire

Atunci de ce putem face pentru a găsi adevărata cheie printre cei alte fals pozitive cheile? Pur şi simplu ne-am pentru a cripta un al doilea diferite TSP, de asemenea, cunoscut cu dar numai folosind chei de candidatul care a dat un rezultat pozitiv de potrivire cu primul pereche. Cu toate acestea nu există nici o garanţie nu vom ajunge din nou multe "pozitive false", împreună cu adevărat cheie. Dacă este aşa, vom avea nevoie de a treia pereche, repetaţi procesul şi aşa mai departe.

Înainte de a începe să nostru de ne-am să ştiu cât de multe vom avea nevoie de perechi. Pentru că avem de a calcula pentru o aleatoare iesire la un randament de potrivire a doar de sansa. Există mai multe modalităţi de a calcula acest număr şi eu aici va utiliza o abordare simplă uşor de înţeles, dar care necesită unele de fond în probabilitate.

O poate fi întotdeauna considerată ca raport favorabil de cazuri de posibile cazuri. În problema noastră numărul de cazuri posibile este dat de de 16 elemente (de la 0 la F hexazecimal cifre) într-un grup de 16 dintre ei (hexazecimal de 16 cifre ale iesire). Aceasta este data de 16 ^ 16 ~ 1.8 * 10 ^ 19 de curs care coincide cu 2 ^ 64 (diferite numere de 64 de biţi). Acest set de numere pot fi separate în cinci categorii:

Cei cu cel puţin patru cifre zecimale (0 la 9) printre hexazecimal de 16 cifre (0 la F) din iesire.

Cei exact cu doar trei cifre zecimale.

Numai cele cu exact două cifre zecimale.

Cei cu exact o singură cifră zecimală.

Aceste cifre zecimale, fără (toate între A şi F).

Să calcula cât de multe numere se încadrează în fiecare categorie. Dacă vom eticheta hexazecimal de 16 cifre ale X1 de ieşire ca să x16 atunci ne putem etichetare în primele patru cifre zecimale din orice număr dat de prima categorie ca Xi, Xj, şi XK XL. Numărul de combinaţii diferite cu acest profil este dat de produs 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 LK-1 * 10 * 1616 în cazul în care l-6 ' S venit de la numărul de posibilităţi pentru un sir de la A la F, de 10 de venit de la posibilităţile de la 0 la 9 cifre, şi la 16 vine de la posibilităţile de la 0 la F cifre. Acum, cu numărul total din prima categorie este pur şi simplu dat de acest produs summation de peste I, J, K, L de la 1 la 16, dar cu i <j <k <l. Dacă veţi face unele matematica de lucru se va vedea asta este egal cu produsul dintre 104 / 6 cu peste summation i de la 4 la 16 de (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1.8 * 1019.

Analogously numărul de cazuri în cea de-a doua categorie este data de peste summation i, j, k de la 1 la 16, cu i <j <k a produsului 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k pe care puteţi să-l lucreze pentru a fi 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 * 1015 ~ 7.3. În mod similar, pentru a treia categorie, avem peste summation i, j de la 1 la 16, cu i <j din 6 i-1 * 10 * 6j-i-1 * 10 * 616-j, care este egal cu 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 * 1014 ~ 9.4. Din nou, pentru a patra categorie avem de peste summation i de la 1 la 16 din 6i-1 * 10 * 616-i = 160 * 615 * 1013 ~ 7.5. Şi, în final, suma de cazuri, în cea de-a cincea categorie este dat de de şase elemente (de la A la F cifre) într-un grup de 16, care este, 616 ~ 2.8 * 1012.

Sper că ai urmat în calculele de până la acest punct, de o parte este greu de facut. Acum, ca o dovadă că totul este în regulă, puteţi suma de numărul de cazuri în 5 categorii si-l vezi este egal cu numărul total de cazuri posibile am calculat înainte. Nu a operaţiunilor utilizând 64 de biţi sau de numere de rotunjire (pentru flotantă) sau prea plin (de intregi) erori nu va lasa sa ajung exact la rezultat.

Pana acum ne-am calculat numărul de cazuri posibile în fiecare din cele cinci categorii, dar noi suntem interesaţi în a obţine numărul de cazuri favorabile, în loc. Este foarte uşor să obţină de la acesta din urmă a fost ca asta este doar de stabilire a combinaţie a celor patru cifre zecimale (sau de cifre necesare hexazecimal dacă nu există patru cifre zecimale) din lăsându-le în loc de liberă. În practică, aceasta înseamnă de 10 de cotitură în formula de mai sus în 1 şi de volumul necesar de 6 în 1 a lui, dacă nu există patru cifre zecimale. Asta este, avem de a împărţi primul rezultat de 104, cea de-a doua de 103 * 6, al treilea de 102 * 62, cel de-al patrulea unul de 10 * 63 şi cea de-a cincea unul de 64. Apoi, numărul de cazuri favorabile, în cinci categorii sunt de aproximativ 1.8 * 1015, 1012 * 1.2, 2.6 * 1011, 1010 * 3.5, 2.2 *, respectiv, 109.

Acum avem posibilitatea de a obţine ceea ce este pentru o iesire la un meci de de sansa. Trebuie să adăugaţi cele cinci numere de cazuri favorabile şi împărţi la numărul total de cazuri posibile. Făcând aceasta vom obţine că este foarte aproximativ 0.0001 sau de una din zece mii. E ciudat de bine rotunjite acest rezultat? Nu la toate, au doar o privire la numerele de mai sus am calculat. Prima categorie domină de mai multe ordine de magnitudine de numărul de cazuri favorabile şi posibil. Acest lucru este destul de intuitiv ca se pare clar că este foarte puţin probabil nu au patru cifre zecimale (10 şansele de pe 16 cifre) între 16 hexazecimal cifre. Am văzut anterior că relaţia dintre numărul de cazuri favorabil posibil şi, în prima categorie a fost de o divizie de 10 ^ 4, ca rezultat al nostru în cazul în care p = 0,0001 vine de la.

Scopul nostru pentru toate aceste calcule, a fost de a afla cât de multe perechi avem nevoie pentru a transporta o de succes "brute force Acum avem posibilitatea de a calcula numărul de aşteptat "pozitive false", într-o primă căutare: ea va fi a numărului de studii clinice de ori de pentru un singur aleatoare fals pozitive, şi anume, nu * p unde t = 2 ^ 56, de dimensiunea cheie spaţiu. Aceasta se ridică la aproximativ 7.2 * 10 ^ 12, un număr destul de mare. De aşteptat număr de "pozitive false" în cea de-a doua de căutare (limitată la pozitiv găsit cheile de la prima căutare) va fi (t * p) * p, pentru o treime va fi de căutare ((t * p) * p) * p şi aşa mai departe. Astfel, pentru n căutări de aşteptat număr de "pozitive false" va fi t * p ^ n.

Putem obţine numărul de căutări necesară pentru a aştepta doar un fals pozitive prin care exprimă ecuaţia t * p ^ n = 1 şi pentru rezolvarea n. Deci n este egal cu în baza de p de 1 / T, care prin proprietăţi de logaritm-l randamentelor n = log (1 / t) / log (p) ~ 4.2. Deoarece nu ne putem face o căutare pe fragmente, este convenabil de a ridica acest număr. Prin urmare, ceea ce este de aşteptat număr de "pozitive false", dacă am efectua căutări ora cinci? Este t * p ^ 5 ~ 0.0007 sau aproximativ 1 din 1400. Astfel, utilizând ora cinci perechi este sigură de a obţine cu adevărat nici o cheie secretă "pozitive false".


După ce vom şti avem nevoie de cinci perechi, cum ajungem ei? Desigur, avem nevoie de cel puţin o cunoscut cu şi datorită naturii de asta e singurul lucru care ne trebuie. Cu alte sisteme, cum ar fi IBM, ne-ar nevoie de carduri de ora cinci, cu toate acestea acest lucru nu este necesar VISA Trebuie să citiţi cu şi apoi codul PIN de patru ori, dar de lectură de după fiecare schimbare.

Este necesar pentru a citi de pentru a obţine şi selectorul de cheie de criptare. Puteţi cumpăra o comerciale sau te face să-urmând instrucţiunile puteţi găsi în pagina anterioară şi link-uri în aceasta. Odată ce aveţi un descriere a vedea acest standard de piste magnetice pentru a afla cum să obţineţi de de la de citire. În acest document, în domeniul pistele 1 şi 2 este de spus la timp de cinci caractere, dar, de fapt, adevărata constă din ultimele patru cifre. Primul dintre cele cinci cifre selectorul este cheia. Am vazut numai cărţi de credit cu o valoare de 1 în această cifră, care este în concordanţă cu standardele şi cu cheia secretă a fi compromisă niciodată (şi, prin urmare, acestea nu au nevoie pentru a trece la o altă cheie de a schimba selectorul).

Am făcut un simplu program C, getpvvkey.c, pentru a efectua de El constă dintr-o buclă de a încerca toate cheile pentru a cripta prima TSP, în cazul în care derivate meciurile de adevărat un nou TSP este încercat, şi aşa mai departe până când nu există o neconcordanţă, caz în care cheia este aruncată, iar o nouă este încercat, de cinci sau derivate PVVs se potrivesc cu adevărat PVVs corespunzător, caz în care putem presupune că avem de cheie secretă, cu toate acestea de pe bucla merge până când se epuizează cheie de spaţiu. Aceasta se face pentru a ne asigura găsi adevărata cheie pentru că există o şansă (deşi foarte mici), primul găsit-cheie este un fals pozitiv.

Este de aşteptat programul ar lua foarte mult timp pentru a se termina şi pentru a minimiza riscurile de o putere tăiat, de computer stea, etc n-are de control în fişierul getpvvkey.dat din timp în timp (exact la timp, depinde de viteza de la computer, este aproximativ o oră pentru cele mai rapide computere acum în utilizare). Pentru acelaşi motiv, în cazul în care o cheie este pozitiv găsit-o este scrisă în fişierul getpvvkey.key. Programul afişează numai un mesaj de la începutul, incepand de poziţia adoptată de control de la orice fişier dacă, după care nimic nu mai este afişat.

De este un punct cheie în program, este, prin urmare, foarte important pentru a optimiza viteza sale. Am testat de mai multe implementări: libdes, SSLeay, OpenSSL, cryptlib, nss, libgcrypt, catacombă, libtomcrypt, cryptopp, ufc-crypt. De funcţii de la primele patru se bazează pe acelaşi cod de Eric Young, şi este cel care a funcţionat cel mai bine (include optimizat C şi codul de asamblare x86). Astfel am ales libdes care a fost original punerea în aplicare şi condensat toate cod în fişierele de encrypt.c (versiune C) şi x86encrypt.s (versiune x86 de asamblare). Codul este uşor modificate pentru a realiza unele îmbunătăţiri într-un "brute force iniţiale de este un fix, în fiecare comună abrupt TSP şi, prin urmare, poate fi făcută doar o dată, la începutul. O altă îmbunătăţire este că am scris un complet nou setkey funcţie (am sunat-o nextkey), care este optim pentru un brute force "bucla.

Pentru a obţine programul de lucru trebuie doar sa corespunzător în locul cinci TSPs şi PVVs lor şi apoi să compilaţi-l. Am testat-o numai în platforme UNIX, folosind Makefile Makegetpvvkey pentru a compila (folosi comanda "make-f Makegetpvvkey"). Se poate compila pe alte sisteme, dar este posibil să aveţi nevoie pentru a stabili unele lucruri. Asiguraţi-vă că definiţia de long64 corespunde unui întreg pe 64 biţi. În principiu, nu există nici o dependenţă pe Endianness de procesor. Am compilat cu succes şi rulaţi-l pe Pentium-Linux, Alpha-Tru64, Mips-Irix-şi Sparc Solaris. Dacă nu aveţi şi nu doriţi să instalaţi Linux (nu ştiţi ce vă lipsesc ;-), tot mai aveţi posibilitatea de a alege pentru a rula Linux de pe CD-ul meu şi de a folosi programul, vezi pagina mea de Linux să ruleze fără a instala-o.

După ce aţi găsit secretul cheie, dacă doriţi, pentru a găsi arbitrare a unui trebuie doar sa scrie un program similar (scuze nu am scris-o, sunt prea lenesa:), care ar încerca toate 10 ^ 4 PINS prin generarea corespunzătoare TSP, criptare cu ea (nu mai) cheie secretă, care derivă de şi a comparat-o cu în de Veţi obţine o potrivire pentru adevărat Doar un singur meci? Amintiţi-vă ce le-am văzut mai sus, avem o şansă de 0.0001 că o aleatoare se potriveşte de Incercam 10000 PINS (şi, prin urmare, TSPs), astfel, ne aşteptăm 10000 * 0.0001 = 1 fals pozitive, în medie.

Acesta este un rezultat foarte interesant, înseamnă că, în medie, fiecare are două valabil PINS: clientul şi de aşteptat fals pozitive. Eu îi spun "false", dar reţineţi că, atâta timp cât generate de adevărat este un cod PIN ca valabil al clientului ca unul. Mai mult, nu există nici o modalitate de a şti care este, care, chiar şi pentru ATM-uri; ştie doar de client. Chiar dacă fals pozitive nu au fost valabile ca tot mai au trei studii clinice la ATM-uri, oricum, în medie, de ajuns. Prin urmare, am calculat de la începutul acestui document despre ghicitul la întâmplare de trebuie să fie corectate. De fapt, este faptul că valoarea de două ori, de exemplu, este de 0.0006 sau una din mai mult de 1600, încă scăzute în condiţii de siguranţă.

Rezultate


Este important de a optimiza de compilare a programului şi să-l rulaţi în cel mai rapid posibil din cauza procesor de mult timp de aşteptat pentru a rula timp. Am constatat că compilator de optimizare pavilion-O devine de o performanţă mai bună, unele crezut că adăugarea de îmbunătăţire este atins de-fomit-frame-pointer pavilion pe Pentium-Linux, de-spike pavilion de pe Alpha-Tru64, de-IPA pavilion pe arhitectura MIPS-Irix a-şi repede de pe pavilion-Solaris Sparc. Speciale de steaguri (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) pentru cod au în general, beneficiile, de asemenea. Toate aceste steaguri au fost deja testate şi am ales cea mai bună combinaţie pentru fiecare procesor (a se vedea Makefile), dar puteţi să încercaţi să bine melodie a altor indicatori.

Conform meu de teste de cea mai bună performanţă este realizată cu AMD Athlon 1600 MHz procesor, de peste 3.4 milioane de chei pe secundă. Este interesant sa se rezultate mai bune decât Intel Pentium IV 1800 MHz şi 2000 MHz (vezi cifrele de mai jos, faceţi clic pe ele pentru a mari). Cred ca este din cauza unor I / O saturaţie, cu siguranţă, sau de memorie cache de ca de procesor AMD (care a jumătate din cache-ul de la Pentium) sau placa de bază în care se execută, reuşeşte să le evite. În prima figura de mai jos puteţi vedea că viteza de rupere a tuturor procesoare mai mult sau mai puţin o relaţie liniară cu procesor de viteză, cu excepţia celor două Intel Pentium-am menţionat mai înainte. Acest lucru este logic, înseamnă că pentru un dublu procesor de viteză veţi obţine viteza de rupere dublu, dar ai grija de saturaţie efecte, în acest caz este mai bine de la AMD Athlon 1600 MHz, care va fi chiar mai ieftin decât Intel Pentium 1800 MHz sau 2000 MHz.

În cea de-a doua cifră ne putem vedea mai în detaliu ceea ce ne-ar suna intrinsecă pauză de putere de procesor. Am luat-o valoare pur şi simplu împărţirea pauză de viteză de procesor de viteză, care este, ne numărul de încercat chei pe secundă şi pe MHz. Aceasta este o măsură a performanţei de procesor sale, independent de viteza. Rezultatele arată că cel mai bun procesor pentru această sarcină este de la AMD Athlon, apoi vine Alpha şi de foarte aproape, după ce este Intel Pentium (cu excepţia celor pentru cea mai mare viteza de cele care funcţionează foarte săraci din cauza efectului de saturaţie). Următorul este Mips procesor şi în ultimul loc este Sparc. Unele Alpha şi Mips procesoare sunt amplasate la partea inferioară a scalei, pentru că ele sunt versiuni mai devreme nu, inclusiv accesoriile de târziu versiuni. Reţineţi că, am inclus de performanţă de procesoare x86 pentru C şi codul de asamblare ca acolo este mare diferenta. Se pare că gcc nu este un bun generator de cod optimizat maşină, dar, desigur, nu ştim dacă un manual de optimizare de cod de asamblare pentru alte procesoare (Alpha, Mips, Sparc) să stimuleze în comparaţie cu rezultatele lor nativ de compilatoare C (N-am făcut uz gcc pentru aceste alte platforme), după cum se întâmplă cu x86, procesor.

Actualiza

Aici este un articol în cazul în care aceste tehnici ar putea să fi fost folosit.

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

Financiar tranzacţie de prelucrare a

02 iulie 2008 în bancar şi EFTPoS

Am fost recent de lucru în interiorul una din cele mai mari Bănci Australia.
Prin acest lucru am fost uitat la controale mecanismelor din jurul credit carduri de debit in jurul Asia Pacific.

Am efectua multe de securitate a sistemelor de plată de evaluări.
A lungul anilor am considerat întotdeauna protecţie a ca una din considerente fundamentale.

Până ieri am mai văzut un sau instrumente. Cred că unele scripted utilizare a acestor instrumente ar putea fi foarte interesant.
Site-ul hziggurat29.com

Multe din alte instrumente de pe acest site sunt, de asemenea, foarte unic si merita o privire.
Mare datorită ziggurat29 pentru furnizarea de astfel de instrumente de minunat.

Ca multe dintre aceste site-uri sunt de această natură sunt dificil de găsit şi de multe ori par a dispărea pe parcursul anilor, am ales de a se replica la de pe această pagină şi a furniza locale de copii de pe fişiere.
Merită să vizitaţi periodic site-ul ziggurat29 fiecare acum şi, din nou, pentru a vedea dacă există instrumente suplimentare au fost publicate.

Una din cele mai extraordinare de fişiere este Atalla şi instrumente. Deci, mă întreb dacă şi sunt tremura lor în cizme. Unele cum eu nu cred. ;-)

--- Ziggurat29 ---

Acestea sunt toate Windows utilitare de linie de comandă (cu excepţia cazului în care a observat); executa cu optiunea-help
pentru a determina de utilizare.

DUKPT decripta (<- real pentru a descărca fişierul)

Acesta este un care va criptate Blocheaza care au fost produse prin intermediul metodă. Am folosit asta pentru testarea de iesire din unele de software am avut Pad creat, dar este, de asemenea, la îndemână pentru alte scopuri de depanare.

VISA PVV Calculator (<- real
pentru a descărca fişierul)

Acesta este un care va calcula şi verifica Valori care au fost produse folosind Are o grămadă de funcţii auxiliare, cum ar fi verificarea şi stabilirea unui PAN (Luhn crearea de criptare şi blocuri, şi de a decripta extractivă de PINS criptat de la blocuri, etc

VISA CVV Calculator (<- real pentru a descărca fişierul)

Acesta este un care va calcula Valori care au fost produse folosind CVC MasterCard foloseste CVV asa ca va lucra pentru că, de asemenea. Se va calcula CVV3, iCVV, CAVV, deoarece Acestea sunt doar variaţii pe codul de serviciu şi de
format din data de expirare. este pur şi simplu compararea valorii calculate cu ceea ce ai primit, asa ca nu este nici explicite funcţie.

Atalla AKB Calculator (<- real pentru a descărca fişierul)

Acesta este un care va genera, cât şi Atalla AKB cryptograms. Veţi avea nevoie de text clar MFK pentru a efectua aceste operaţiuni. Când a decripta, de MAC va fi, de asemenea, verificate şi rezultatele afişate.

BogoAtalla (<- real de fişiere pentru a
descărcare)

Aceasta este o Atalla (sau simulator). Acest software (simulare) a cunoscut Atalla care este utilizat de bănci şi pentru procesoare criptografice de operaţiuni, cum ar fi verificarea / traducerea blocuri, de autorizare a tranzacţiilor de verificarea
/ CSC numere, şi procedurile de schimb cheie de performanţă, a fost produs pentru testare. Această punere în aplicare nu este de a completa HP Atalla comanda set, ci mai degrabă de doar
porţiuni că am nevoie de mine. Asta fiind spus, este suficient de completă dacă efectuaţi absorbante şi / sau emiterea funcţiilor, şi sunt moderne, folosind mai multe sisteme, cum ar fi şi şi de necesitatea de a face generaţie, şi de traducere.

Aceasta se execută ca un soclu de ascultare şi gestionează nativa Atalla comanda set. I-au luat unele libertăţi de eroare reveni cu valorile şi nu s-au străduit de înaltă fidelitate acolo (de exemplu, este posibil să primiţi o eroare de răspuns de la diferite nativ dar cu siguranţă ar trebui să te identică pozitiv
de răspunsuri. Unele caracteristici puse în aplicare în mod normal, aici ar fi nevoie de comenzi de cumpărare primă, dar toate comenzile puse în aplicare sunt disponibile aici. Exemple sunt generatoare de valori şi de criptare / decriptare text clar valori.

BogoAtalla pentru Linksys (<- real pentru a descărca fişierul)

Aceasta este Atalla portat pentru a construi şi de Linux pentru instalare pe un sistem de OpenWRT. Face pentru un foarte ieftine ($ 60 USD) / test de dispozitiv.

Fişiere locale

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc