E ai galera, hoje vamos entrar na parte atual da criptografia e por isso vamos nos aprofundar mais do que nas técnicas antigas, então vou fazer posts menores para facilitar o entendimento.
O princípio de Kerckoff diz que a segurança de um sistema criptográfico não deve se manter no sigilo do algoritmo. A segurança se da realmente por manter a chave em segredo.
O algoritmo pode e deve ser publico. Se você for pesquisar vai ver que os grandes algoritmos como DES e AES são públicos e pode ser encontrado uma implementação para praticamente qualquer linguagem de programação.
Um dos benefícios de ter o algoritmo público é o fato de que ele vai ser intensamente testado, resolvendo possivelmente todos ou a maioria dos problemas e bugs do algoritmo. O oposto, manter tudo secreto e torcer para que ninguém encontre, conhecido como segurança por obscuridade, não funciona muito bem, porque a partir do momento que o algoritmo é descoberto tudo é perdido.
Este conjunto de regras foi publicado por Auguste Kerckhoffs em 1883 no La Cryptographie Militaire.
Outro motivo para ser público é o fato de o algoritmo cair em mãos inimigas. Se ele já for público não tem problema se o inimigo pegar, a chave ainda vai manter sua segurança.
Além disso, o princípio de Kerckoff também contém outras métricas, por exemplo, o sistema tem que ser praticamente, se não matematicamente, indecifrável sem a chave, classificados como já vimos em textos anteriores em computacionalmente seguro ou incondicionalmente seguro.
Desenvolvida por Horst Feistel, a estrutura é uma referência nos algoritmos atuais. Esta estrutura ficou conhecida como Rede de Feistel. Alguns elementos da rede de Feistel:
Princípio de Kerckoff
O princípio de Kerckoff diz que a segurança de um sistema criptográfico não deve se manter no sigilo do algoritmo. A segurança se da realmente por manter a chave em segredo.
O algoritmo pode e deve ser publico. Se você for pesquisar vai ver que os grandes algoritmos como DES e AES são públicos e pode ser encontrado uma implementação para praticamente qualquer linguagem de programação.
Um dos benefícios de ter o algoritmo público é o fato de que ele vai ser intensamente testado, resolvendo possivelmente todos ou a maioria dos problemas e bugs do algoritmo. O oposto, manter tudo secreto e torcer para que ninguém encontre, conhecido como segurança por obscuridade, não funciona muito bem, porque a partir do momento que o algoritmo é descoberto tudo é perdido.
Este conjunto de regras foi publicado por Auguste Kerckhoffs em 1883 no La Cryptographie Militaire.
Outro motivo para ser público é o fato de o algoritmo cair em mãos inimigas. Se ele já for público não tem problema se o inimigo pegar, a chave ainda vai manter sua segurança.
Além disso, o princípio de Kerckoff também contém outras métricas, por exemplo, o sistema tem que ser praticamente, se não matematicamente, indecifrável sem a chave, classificados como já vimos em textos anteriores em computacionalmente seguro ou incondicionalmente seguro.
Cifra de Feistel
Desenvolvida por Horst Feistel, a estrutura é uma referência nos algoritmos atuais. Esta estrutura ficou conhecida como Rede de Feistel. Alguns elementos da rede de Feistel:
- Tamanho do bloco: Os blocos tem que ter um tamanho mínimo e tamanho fixo
- Tamanho da chave: Do mesmo modo que os blocos, a chave tem de ter um tamanho mínimo.
- Operações: Alterna entre operações de substituição e permutação
- Número de rodadas: É exigido um número mínimo de rodadas
- Subchaves: Sistema de geração de subchaves
- Software Rápido
- Fácil Análise
Veja abaixo um exemplo da estrutura desenvolvida por Feistel.
Neste exemplo é possível ver que um bloco de texto claro é quebrado em duas partes e metade é enviada para cada lado da entrada da operação, após a primeira rodada as entradas são invertidas e aplicadas a operação e assim por diante até completar todas as rodadas. Após isso ser feito, é adicionado outro bloco até o fim do texto claro. Assim que todos os blocos passam pelo algoritmo, todas as partes são concatenadas e daí temos nosso texto cifrado.