in input richiede un plaintext di 64 bit
il plaintext viene diviso in due gruppi entrambi da 32 bit e successivamente applica 16 round per cifrare il tutto.
Di seguito lo schema generale (si noti bene che in L2 finisce il contenuto di R)
Algoritmo riceve in input dei bit
Algoritmo esegue una permutazione di espansione da 32 a 48 bit del plaintext. (Queste permutazioni sono state definite da IBM e quindi standardizzate)
Il plaintext espanso viene Xorato con la chiave Kn
Si dividono i bit in 8 blocchi da 6 bit che finiscono dentro 8 scatole nere chiamate S-Box che restituiscono 32 bit
Ora bisogna riflettere in parallelo sulla chiave:
La chiave viene xorata con il testo e produce quindi 48 bit in uscita
il testo viene fatto passare in 8 SBOX. Una SBOX funziona nel seguente modo:
per ogni SBOX devo fare uscire 4 bit quando in input ne ho 6
Ogni riga della SBOX ha celle piene di numeri tra 0 e 15 attentamente definiti da IBM ed NSA
entra una sequenza di bit tipo 110011 di cui primo e ultimo sono utilizzati per indirizzare il valore nella tabella