Recentemente ho letto del concetto di Feistel Networks e Substitution Permutation Networks, ma qual è esattamente la differenza tra i due?
Risposta
In una rete Feistel (dal crittografo tedesco IBM Horst Feistel ), lingresso è diviso in due blocchi ($ L_0 $ e $ R_0 $) che interagiscono tra loro. Lesempio principale è DES.
costruzione di base:
In un SPN (Substitution Permutation Network), linput è diviso in più piccoli blocchi, applicati a una S-box ( sostituzione ), quindi le posizioni dei bit sono miste ( permutazione ). Laggiunta della chiave può avvenire prima o dopo queste due operazioni.
Presente codice a blocchi:
Commenti
- Funfact: Di solito inizi e finisci con unoperazione chiave in un SPN, altrimenti questo round è banalmente reversibile.
- Sì, lo so. 😉 Ma ' t corrispondeva al diagramma Presente da iacr.org/authors/tikz
- grazie! questo mi ha davvero aiutato, vedete di recente ho guardato un video in cui spiegavano DES con la rete feistel, ma poi hanno mostrato come funzionava la funzione nella rete feistel (che sembrava davvero una rete spn), quindi perché ero confuso con il differenza tra loro, comunque grazie per laiuto!
- Ho una domanda OT: nella comune descrizione dei cifrari Feistel ci sono scambi di L e R nei passaggi successivi. Ma ciò potrebbe apparentemente essere evitato da unadeguata riformulazione dellalgoritmo che IMHO sarebbe meglio comprendere. Potrei avere ragione?
- @ Mok-KongShen Vuoi dire qualcosa come questo o questo ? Anche se sembra più facile da implementare (perché consideri una funzione di arrotondamento grande come 2 iterazioni della normale funzione di arrotondamento: L – > R; R – > L). La rappresentazione abituale è migliore in senso tradizionale poiché è quella che probabilmente troverai nei libri, nelle spiegazioni ecc. Quindi sì, più facile da implementare, ma non una rappresentazione standard .
Risposta
Da Wikipedia :
Sebbene una rete Feistel che utilizza S-box (come DES) sia abbastanza simile alle reti SP, ci sono alcune differenze che rendono questa o quella più applicabile in determinate situazioni . Per una data quantità di confusione e diffusione, una rete SP ha più " parallelismo intrinseco " 1 e quindi, data una CPU con molte unità di esecuzione, può essere calcolato più velocemente di una rete Feistel. [2] Le CPU con poche unità di esecuzione, come la maggior parte delle smart card, non possono trarre vantaggio da questo parallelismo intrinseco. Anche i cifrari SP richiedono che le S-box siano invertibili (per eseguire la decrittazione); Le funzioni interne di Feistel non hanno tali restrizioni e possono essere costruite come funzioni unidirezionali.
Commenti
- Quali sono i tuoi " [1] " e " [2] ", hai dimenticato di citare i riferimenti?
- A che ' hai intenzione di fare una copia letterale di Wikipedia e altri wiki se molte persone potessero già accedervi?
- Salve, sembra che tu abbia copiato questa risposta da Wikipedia . ' stai utilizzando il lavoro di qualcun altro ' senza dare credito allautore. Ciò equivale a plagio e non è il benvenuto su Cryptography Stack Exchange. Ricorda di aggiungere sempre unattribuzione prominente quando utilizzi altre fonti. Grazie! (questo commento si riferisce a una precedente revisione di questa risposta)
- Per coloro che perseguitano le mie attività recenti , non ho ' t visitare Wikipedia per sapere da dove proviene il testo, il mio motore di ricerca ha attivato il contenuto dei suoi siti di mirroring.