Motivul de proiectare pentru S-box este prezentat în secțiunea 4.3 a lucrării. Voi încerca să extind raționamentul.
Cel mai rău tip de S-box ar fi o funcție liniară, adică una în care fiecare bit de ieșire este doar XOR-ul anumitor biți de intrare. Deoarece restul funcției PRESENT round implică doar mutarea biților și XORing-ul cheii rotunde, o cutie S liniară ar duce la un cifr în care fiecare bit de ieșire este un XOR al anumitor biți de intrare și biți rotunji.Colectarea unui număr de intrări și ieșiri potrivite ar permite apoi să spargă cifrul foarte simplu, folosind algebra liniară.
Criptanaliza cifrului bloc se concentrează adesea pe proprietățile unui cifru care sunt aproape de a se comporta ca o funcție liniară o proporție detectabilă a timpului.
Criptanaliza liniară
Ar fi totuși rău dacă XOR o anumită colecție de biți de intrare și biți de cheie ar fi egală cu XOR a unei anumite colecții de biți de ieșire semnificativ mai mult de jumătate din timp. Detaliile exacte despre cum să transformați acest lucru într-un atac sunt lungi, dar ar implica colectarea unui număr mare de perechi de intrare/ieșire a potrivirilor, calcularea XOR-urilor relevante și vedea dacă de cele mai multe ori s-au potrivit sau nu. Acest lucru ar oferi informații despre biții cheie rotunde. Pentru a evita această situație, criptografii caută casete S în care pentru orice subset de biți de intrare și orice subset de biți de ieșire, XOR-urile sunt egale doar aproximativ jumătate din timp (sau cât mai aproape posibil). Criteriul 3 al lucrării spune că pentru S-box PREZENT, XOR-urile vor fi egale de cel puțin 4 ori din 16 și de cel mult 12 ori din 16. Lucrurile ar putea fi mai rău dacă subsetul pe care l-am ales în fiecare caz ar fi un singur bit. caz în care am putea corela un singur bit de intrare cu un singur bit de ieșire prin urmărirea printr-o singură S-box în fiecare rundă. Acest lucru motivează criteriul 4, care specifică că, atunci când subseturile constau dintr-un singur bit, atunci se potrivesc fie de exact 6 ori din 16, fie exact de 10 ori din 16.
Criptanaliza diferențială
O altă modalitate de a exprima proprietatea liniară a unui cifr este să spunem că pentru toate intrările $a$ și $b$ avem $\mathrm{Enc}(a\oplus b)=\mathrm{Enc}(a)\oplus\mathrm{Enc}(b)$. Din nou, dacă proprietăți similare apar în cifra noastră o proporție semnificativă din timp, atunci acest lucru poate fi exploatat. Prin urmare, criptografii încearcă, de asemenea, să proiecteze cifruri astfel încât pentru orice diferență fixă de intrări $\Delta x$ și orice diferență fixă de ieșiri $\Delta y$ ecuația $\mathrm{Enc}(x\oplus\Delta x)=\mathrm{Enc}(x)\oplus\Delta y$ doar aproximativ o soluție $x$ (aproximativ două soluții jumătate din timp și nicio soluție jumătate din timp). Din nou, deoarece S-box-ul este singura parte neliniară a cifrului, aceasta devine o cerință ca diferențele de intrare și ieșire din S-box să se coreleze cât mai puțin posibil. Criteriul 1 spune apoi că dintre toate diferențele posibile de intrare și ieșire corelația maximă este de a găsi o diferență de intrare care să producă aceeași diferență de ieșire pentru 4 din cele 16 intrări posibile (adică două perechi). Din nou, proprietatea single bit este mai periculoasă, deoarece diferența s-ar propaga prin runde, trecând printr-o singură S-box în fiecare rundă. În consecință, se adaugă criteriul 2 care spune că pentru orice intrări care diferă doar cu un singur bit, ieșirile lor nu diferă doar cu un singur bit.
Pentru ca sunt doar 16! posibile S-box-uri pe 4 biți și o mare simetrie între anumite clase de S-box, este posibil să se testeze exhaustiv toate posibilele S-box-uri pentru proprietățile descrise mai sus. Această analiză a fost făcută, permițând criptografilor să aleagă cutii S de această dimensiune știind că sunt în esență optime din punct de vedere al proprietăților liniare și diferențiale. Există încă mai multe S-box-uri care îndeplinesc aceste cerințe și echipa PRESENT susține că a ales una deosebit de potrivită pentru implementarea hardware. Consider că acest lucru înseamnă că funcția reprezentată de S-box poate fi evaluată cu un număr mic de porți sau cu o adâncime mică a circuitului (nu am detalii despre acest punct anume).