Am citit recent despre conceptul de rețele Feistel și rețele de permisiune de substituție, dar care este exact diferența dintre cele două?

Răspuns

În rețelele Feistel (de la criptograful IBM german Horst Feistel ), intrarea este împărțită în două blocuri ($ L_0 $ și $ R_0 $) care interacționează între ele. Exemplul principal este DES.

construcție de bază:

introduceți descrierea imaginii aici


Într-un SPN (Rețea de permisiune de substituție), intrarea este împărțit în mai multe blocuri mici, aplicate unui S-box ( substituție ), atunci pozițiile biților sunt amestecate ( permutare ). Adăugarea cheii poate apărea înainte sau după aceste două operații.

Cifrare bloc prezentă:

introduceți descrierea imaginii aici

Comentarii

  • Funfact: de obicei începeți și terminați cu o operație cheie într-un SPN, altfel această rundă este reversibilă în mod banal.
  • Da, știu. 😉 Dar ' nu se potrivea cu diagrama Prezent din iacr.org/authors/tikz
  • mulțumesc! acest lucru m-a ajutat cu adevărat, vedeți că am urmărit un videoclip în ultima vreme în care mi-au explicat DES cu rețeaua feistel, dar apoi au arătat cum funcționa funcția din rețeaua feistel (care chiar arăta ca o rețea spn), astfel încât de ce am fost confundat cu diferență între ele, oricum mulțumesc pentru ajutor!
  • Am o întrebare OT: în descriptarea comună a cifrelor Feistel există schimburi de L și R pe etapele succesive. Dar acest lucru ar putea fi evitat aparent printr-o reformulare adecvată a algoritmului pe care IMHO ar fi mai bine pentru înțelegere. Aș putea avea dreptate în acest sens?
  • @ Mok-KongShen Adică ceva de genul asta sau asta ? Deși pare mai ușor de implementat (deoarece considerați o funcție rotundă mare ca iterație 2 a funcției rotunde obișnuite : L – > R; R – > L). Reprezentarea obișnuită este mai bună într-un sens tradițional, deoarece este cea pe care probabil o veți găsi în cărți, explicații etc. Deci da, mai ușor de implementat, dar nu o reprezentare standard .

Răspuns

Din Wikipedia :

Deși o rețea Feistel care folosește casete S (cum ar fi DES) este destul de similară cu rețelele SP, există unele diferențe care fac ca acest lucru sau altul să fie mai aplicabil în anumite situații . Pentru o anumită cantitate de confuzie și difuziune, o rețea SP are mai mult " paralelism inerent " 1 și așa – având în vedere un procesor cu multe unități de execuție – poate fi calculat mai repede decât o rețea Feistel. [2] CPU-urile cu puține unități de execuție – cum ar fi majoritatea cardurilor inteligente – nu pot profita de acest paralelism inerent. De asemenea, cifrele SP necesită căsuțe S pentru a fi inversabile (pentru a efectua decriptarea); Funcțiile interioare Feistel nu au o astfel de restricție și pot fi construite ca funcții unidirecționale.

Comentarii

  • Care sunt " [1] " și " [2] ", ați uitat să citați referințe?
  • Ce rost are ' să faceți o copie textuală a Wikipedia și alte wiki-uri dacă mulți oameni le-ar putea accesa deja?
  • Bună ziua, se pare că ați copiat acest răspuns din Wikipedia . ' folosiți o altă persoană ' fără a acorda autorului credit. Acest lucru echivalează cu plagiat și nu este binevenit pe Cryptography Stack Exchange. Nu uitați să adăugați întotdeauna atribuții proeminente atunci când utilizați alte surse. Mulțumiri! (acest comentariu se referă la o revizuire anterioară a acestui răspuns)
  • Pentru cei care îmi urmăreau activitățile recente , nu am făcut nu vizitați Wikipedia pentru a ști de unde provine textul, motorul meu de căutare a afișat conținutul site-urilor sale de oglindire.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *