Li recentemente sobre o conceito de Redes Feistel e Redes de Permutação de Substituição, mas qual é exatamente a diferença entre as duas?
Resposta
Em redes Feistel (do criptógrafo alemão IBM Horst Feistel ), a entrada é dividida em dois blocos ($ L_0 $ e $ R_0 $) que interagem entre si. O principal exemplo é DES.
construção básica:
Em um SPN (Rede de Permutação de Substituição), a entrada é dividido em vários pequenos blocos, aplicados a uma S-box ( substituição ), então as posições dos bits são misturadas ( permutação ). A adição de chave pode ocorrer antes ou depois dessas duas operações.
Cifra de bloco atual:
Comentários
- Funfact: você geralmente começa e termina com uma operação chave em um SPN, caso contrário, esta rodada é trivialmente reversível.
- Sim, eu sei. 😉 Mas não ' não correspondia ao diagrama Presente de iacr.org/authors/tikz
- obrigado! isso realmente me ajudou, você vê, eu assisti um vídeo recentemente onde eles explicaram DES com a rede feistel, mas depois eles mostraram como a função na rede feistel funcionava (que realmente parecia uma rede spn), então porque eu estava confuso com a diffrence entre eles, de qualquer maneira obrigado por ajudar!
- Eu tenho uma pergunta OT: Na descrição comum de cifras de Feistel existem trocas de L e R nas etapas sucessivas. Mas isso poderia aparentemente ser evitado por uma reformulação adequada do algoritmo que IMHO seria melhor para entender. Posso estar certo nisso?
- @ Mok-KongShen Você quer dizer algo como isto ou this ? Embora pareça mais fácil de implementar (porque você considera uma função de rodada big como 2 iterações da função de rodada usual : L – > R; R – > L). A representação usual é melhor no sentido tradicional, pois é aquela que você provavelmente encontrará em livros, explicações etc. Portanto, sim, mais fácil de implementar, mas não uma representação padrão .
Resposta
Da Wikipedia :
Embora uma rede Feistel que usa S-box (como DES) seja bastante semelhante a redes SP, existem algumas diferenças que tornam isso ou aquilo mais aplicável em certas situações . Para uma determinada quantidade de confusão e difusão, uma rede SP tem mais " paralelismo inerente " 1 e assim – dada uma CPU com muitas unidades de execução – pode ser calculado mais rápido do que uma rede Feistel. [2] CPUs com poucas unidades de execução – como a maioria dos cartões inteligentes – não podem tirar vantagem desse paralelismo inerente. Além disso, as cifras SP requerem que as S-boxes sejam invertíveis (para realizar a descriptografia); As funções internas do Feistel não têm essa restrição e podem ser construídas como funções unilaterais.
Comentários
- Quais são seus " [1] " e " [2] ", você se esqueceu de citar as referências?
- Qual ' é o ponto de você fazer uma cópia literal da Wikipedia e outros wikis se muitas pessoas já pudessem acessá-los?
- Olá, parece que você copiou esta resposta da Wikipedia . Você ' está usando o trabalho de outra pessoa ' sem dar crédito ao autor. Isso equivale a plágio e não é bem-vindo no Cryptography Stack Exchange. Lembre-se de sempre adicionar atribuição proeminente ao usar outras fontes. Obrigado! (este comentário está relacionado a uma revisão anterior desta resposta)
- Para aqueles que perseguem minhas atividades recentes , eu não ' Para visitar a Wikipedia para saber de onde vem o texto, meu mecanismo de pesquisa pesquisou o conteúdo de seus sites de espelhamento.