Whatsapp Telegram
 



Sobre algoritmos de criptografia usados

1. GOST 28147-89 - soviético e Padrão russo para criptografia simétrica, introduzido em 1990. Completo título - GOST 28147-89 Sistemas de processamento de informações. Proteção criptográfica. Algoritmo de transformação criptográfica . Algoritmo de cifra de bloco. Quando usando o método de criptografia gama, pode executar as funções algoritmo de codificação de fluxo.

Por alguns Segundo informações, a história dessa cifra é muito mais antiga. O algoritmo estabelecido mais tarde, na base do padrão, nasceu, presumivelmente, nas entranhas da Oitava Do Diretório Principal do KGB da URSS, agora transformado no FSB, muito provavelmente em um dos institutos de pesquisa fechados sob sua jurisdição, provavelmente na década de 1970 em no âmbito de projetos para criar implementações de software e hardware da cifra para diferentes plataformas de computador.

A partir do momento a publicação do GOST, tinha um selo restritivo “Para oficial use , e formalmente o código foi declarado totalmente aberto apenas em maio de 1994 Do ano. Infelizmente, a história da criação da cifra e os critérios dos desenvolvedores ainda são não publicado.

As vantagens do GOST
a futilidade de um ataque de força (ataques XSL não são levados em consideração, uma vez que seus eficácia no momento não está totalmente comprovada);
eficiência de implementação e, consequentemente, alto desempenho em computadores.

Criptoanálise

Existem ataques e para o GOST 28147-89 completo sem quaisquer modificações. Um dos primeiros trabalhos abertos em que uma análise do algoritmo foi realizada usando os pontos fracos procedimentos de expansão de chave para vários algoritmos de criptografia conhecidos. Em particular, o algoritmo full-round do GOST 28147-89 pode ser quebrado usando criptoanálise diferencial em chaves vinculadas, mas apenas no caso usando tabelas de substituição fracas. Variante de 24 rodadas do algoritmo (em que faltam as primeiras 8 rodadas) é revelado da mesma forma para qualquer tabelas de substituição, no entanto, tabelas de substituição fortes tornam tal ataque absolutamente impraticável.

Doméstico cientistas A.G. Rostovtsev e E.B. Makhovenko em 2001 propôs um fundamentalmente novo método de criptanálise (de acordo com os autores, é significativamente mais eficaz do que criptanálise linear e diferencial) formando uma função objetivo a partir de texto simples conhecido, seu texto cifrado correspondente e o desejado valor-chave e encontrando seu extremo correspondente ao valor verdadeiro chave. Eles também encontraram uma grande classe de chaves fracas para o algoritmo GOST 28147-89, que permitem quebrar o algoritmo usando apenas 4 abertos selecionados textos e textos cifrados correspondentes com uma complexidade bastante baixa. A criptoanálise do algoritmo continua.

Em 2004, o grupo especialistas da Coreia propuseram um ataque com a ajuda do qual, usando criptanálise diferencial em chaves ligadas, pode ser obtida com probabilidade 91,7% 12 bits da chave secreta. Requer 235 Escolhidos para Atacar texto simples e 236 operações de criptografia. Como você pode ver, este ataque praticamente inútil para um ataque real ao algoritmo.

Críticas ao GOST

Básico Os problemas de GOST estão relacionados à incompletude do padrão em termos de geração de chave e Blocos em S. É trivialmente provado que GOST é `` fraco '' chaves e S-boxes, mas o padrão não descreve os critérios de seleção e eliminação o fraco. Além disso, o padrão não especifica um algoritmo para gerar S-boxes. (tabelas de substituição). Por um lado, pode ser um segredo adicional informações (além da chave) e, por outro lado, levanta uma série de problemas:
é impossível determinar a força criptográfica de um algoritmo sem conhecer a tabela de substituição com antecedência;
implementações de algoritmos de diferentes fabricantes podem usar diferentes tabelas de substituição e podem ser incompatíveis entre si;
a capacidade de fornecer tabelas de substituição fracas contendo \u0026 quot; preto mover \u0026 quot ;;
potencial (sem proibição no padrão) de usar tabelas substituições em que as caixas S não são permutações, o que pode levar a uma diminuição extrema na força da cifra.

2. DES (Inglês Data Encryption Standard) - algoritmo simétrico criptografia, em que uma chave é usada para criptografia e descriptografia de mensagens. Também conhecido como algoritmo de criptografia de dados DEA (Algoritmo de criptografia de dados em inglês). Projetado pela IBM e aprovado pelo governo dos EUA em 1977 como um padrão oficial (FIPS-46-3). DES tem blocos de 64 bits e uma estrutura de rede Feistel de 16 ciclos, para criptografia usa uma chave de 56 bits. O algoritmo usa uma combinação de não lineares (S-box) e transformações lineares (permutações E, P, IP, FP). Para DES vários modos recomendados, como Electronic Code Book (ECB) e Cipher Encadeamento de blocos (CBC).

História

Em 1972, depois conduzindo um estudo das necessidades de computador do governo dos EUA Segurança, US NBS (National Bureau of Standards) - agora renomeado NIST (Instituto Nacional de Padrões e Tecnologia) - definido necessidade de um padrão de criptografia para todo o governo para os não críticos em formação. 15 de maio de 1973, após consulta com a NSA (Agência Nacional segurança), o NBS anunciou uma competição por uma cifra que satisfará estritamente critérios do projeto, mas nenhum dos concorrentes garantiu que todos requisitos. Uma segunda competição foi iniciada em 27 de agosto de 1974. Desta vez, cifra Lúcifer, apresentado pela IBM e desenvolvido durante o período de 1973-1974 considerado aceitável, foi baseado no algoritmo Horst Feistel anterior.

17 de março de 1975 o algoritmo DES proposto foi publicado no Federal Register. Próximo ano 2 simpósios abertos foram realizados para discutir este padrão, onde as mudanças da NSA no algoritmo foram fortemente criticadas: comprimento original da chave e misteriosas S-boxes. NSA era suspeito de enfraquecendo deliberadamente o algoritmo para que a NSA possa ver facilmente mensagens criptografadas. Depois disso, o Senado dos Estados Unidos realizou uma auditoria das ações A NSA, que resultou em uma declaração emitida em 1978 em que foi dito que durante o desenvolvimento do DES, a NSA convenceu a IBM de que o comprimento reduzido da chave é mais do que suficiente para todas as aplicações comerciais, usando DES indiretamente ajudou no desenvolvimento de S-permutações, e também que o DES final era o melhor algoritmo de criptografia na opinião deles e era desprovido de fraqueza estatística ou matemática. Também foi encontrado que a NSA nunca interferiu no desenvolvimento deste algoritmo.

Parte da suspeita a fraqueza oculta das permutações S foi eliminada em 1990, quando pesquisa independente de Eli Biham e Adi Shamir Shamir) na criptoanálise diferencial - o principal método de quebra de blocos algoritmos de criptografia de chave simétrica. As S-boxes do algoritmo DES acabaram por ser muito mais resistente a ataques do que se fossem escolhidos aleatoriamente. isto significa que esta técnica de análise era conhecida pela NSA nos anos 70 do século XX.

3. Avançado Padrão de criptografia (AES) , também conhecido como Rijndael - algoritmo simétrico criptografia de bloco (tamanho do bloco de 128 bits, chave 128/192/256 bits), finalista Competição AES e adotada como padrão de criptografia americano pelo governo dos EUA. A escolha foi feita com a expectativa de ampla utilização e análise ativa do algoritmo, como foi o caso de seu predecessor, DES. Instituto Estadual de Padrões e Tecnologia (eng.National Institute of Standards and Technology, NIST) EUA publicou especificações preliminares AES em 26 de novembro de 2001, após cinco anos de treinamento. Em 26 de maio de 2002, a AES era declarou um padrão de criptografia. Em 2006, a AES é uma das os algoritmos de criptografia simétrica mais comuns.

História

A necessidade de a adoção do novo padrão foi causada pelo pequeno comprimento da chave DES (56 bits), que tornou possível aplicar força bruta (força bruta) contra este algoritmo. Além disso, a arquitetura DES foi focada em hardware implementação e implementação de software do algoritmo em plataformas com recursos não deram desempenho suficiente. A modificação 3-DES teve um comprimento de chave suficiente, mas era ainda mais lento.

Início da competição

2 de janeiro de 1997 O NIST anuncia sua intenção de selecionar um sucessor para DES, que foi Padrão americano desde 1977. No entanto, em vez de publicar o algoritmo, O NIST aceitou várias propostas das partes interessadas sobre como o algoritmo deve ser escolhido. Resposta tempestuosa do aberto a comunidade criptográfica levou ao anúncio de um concurso (12 de setembro de 1997). Qualquer organização ou grupo de pesquisadores pode oferecer seu algoritmo. Os requisitos para o novo padrão eram os seguintes:
cifra de bloco
comprimento do bloco igual a 128 bits
chaves de 128, 192 e 256 bits.

Cifras semelhantes eram bastante raros no momento do anúncio da competição; talvez o melhor fosse Square. Além disso, os candidatos foram recomendados:
usam operações que são facilmente implementadas em hardware (em microchips) e software (em computadores pessoais e servidores)
processadores de 32 bits de destino
não complica desnecessariamente a estrutura da cifra para que tudo as partes interessadas foram capazes de conduzir de forma independente uma criptanálise do algoritmo e certifique-se de que ele não contém nenhum recursos não documentados.

Além disso, um algoritmo que afirma se tornar um padrão deve ser distribuído em todo o mundo em termos não exclusivos e sem taxa de patente.

1ª e 2ª rodadas

20 de agosto de 1998 uma lista de 15 candidatos foi anunciada na 1ª conferência AES: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, Rijndael, SAFER +, Serpent, Twofish. Em discussões subsequentes, esses algoritmos foram submetidos a análise abrangente, e não apenas criptográfica propriedades como resistência a ataques conhecidos, sem chaves fracas, mas e aspectos práticos da implementação: otimizar a velocidade de execução do código em várias arquiteturas (de PCs a cartões inteligentes e implementações de hardware), a capacidade de otimizar o tamanho do código, a capacidade de paralelizar. Em março 1999, a 2ª conferência AES foi realizada, e em agosto de 1999, 5 finalistas: MARS, RC6, Rijndael, Serpent e Twofish. Todos esses algoritmos foram desenvolvido por criptógrafos de renome mundial. Na 3ª conferência AES em abril de 2000, os autores fizeram apresentações sobre seus algoritmos.

Terceiro Conferência AES

Terceiro a conferência AES foi realizada em Nova York em 13 e 14 de abril de 2000, pouco antes conclusão da segunda etapa. Estiveram presentes 250 participantes, muitos dos que veio do exterior. A conferência de dois dias foi dividida em oito sessões, quatro por dia, mais um adicional informal sessão resumindo os resultados do primeiro dia. As sessões do primeiro dia discutidas questões relacionadas a matrizes programáveis ​​(FPGA) foram avaliadas implementação de algoritmos em várias plataformas, incluindo PA-RISC, IA-64, Alpha, cartões inteligentes de última geração e processadores de sinal, comparados o desempenho dos candidatos ao padrão, o número de rodadas em candidatos a algoritmos. Nas sessões do segundo dia, Rijndael foi analisado com número reduzido de rodadas e mostra sua fraqueza neste caso, discutido a questão de integrar todos os cinco de algoritmos candidatos, todos os algoritmos foram testados novamente. No final do segundo do dia, foi realizada uma apresentação na qual os candidatos falaram sobre seus algoritmos, suas vantagens e desvantagens. Vincent contou sobre Rijndael Ridgeman, que declarou a confiabilidade da proteção, alto desempenho geral e a simplicidade da arquitetura do seu candidato.

4. Algoritmo Internacional de Criptografia de Dados (IDEA) - algoritmo de criptografia de bloco dados, patenteado pela empresa suíça Ascom. Originalmente chamado IPES (PES melhorado), pois é uma evolução do PES (Encriptação Proposta Padrão). A licença permite que você use livremente o algoritmo em aplicações não comerciais formulários.

O algoritmo é descrito em 1991 por Xuejia Lai e James Massey da ETH Zurique (sob contrato com a Fundação Hasler, que mais tarde se fundiu com a Ascom-Tech AG.) Como um substituto para o Data Encryption Standard.

Usos Chave de 128 bits e tamanho de bloco de 64 bits.

Algoritmo usado no PGP v2.0 e (opcional) no OpenPGP.

5. RC4 é uma cifra de fluxo, amplamente utilizado em vários sistemas de segurança da informação em informática redes (por exemplo, no protocolo SSL e para criptografar senhas no Windows NT). Cifra desenvolvido pela RSA Security Inc. e para usá-lo requer licença. RC4 é de autoria de Ronald Rivest. RC significa Código de Ron ou Cifra de Rivest. Até 1995, software O código RC4 não foi publicado em nenhum lugar.

Algoritmo RC4 é construído como qualquer cifra de fluxo com base em uma chave parametrizada um gerador de bits pseudo-aleatório com distribuição uniforme. O principal as vantagens da cifra são a alta velocidade de operação e o tamanho variável da chave. Uma implementação típica executa 19 instruções de máquina para cada byte de texto.

Comprimento nos EUA a chave para uso doméstico é recomendada como 128 bits, mas um contrato entre a Software Publishers Association (SPA) e o governo dos EUA concede ao RC4 um status especial, o que significa que é permitido exportar cifras de chave de até 40 bits. Chaves de 56 bits são permitidas escritórios no exterior de empresas americanas.

Em 1995 em O grupo de notícias sci.crypt publicou anonimamente o código-fonte do algoritmo RC4. Aparentemente, este texto foi obtido como resultado da análise do código executável. A cifra publicada é compatível com produtos existentes que usam RC4 e alguns dos participantes da teleconferência que disseram ter acesso ao original código RC4, confirmou a identidade dos algoritmos com diferenças nas designações e estrutura do programa.

O núcleo do algoritmo consiste em uma função de geração de keystream. Esta função gera uma sequência de bits, que é então concatenada com a texto somando o módulo dois. A descriptografia consiste em regenerando este keystream e somando-o com o módulo cipher dois, restaurando o texto original. Outra parte importante do algoritmo é a função inicialização que usa uma chave de comprimento variável para criar um os estados do gerador de keystream.

RC4 - na verdade uma classe de algoritmos determinada pelo tamanho de seu bloco. Este parâmetro n é o tamanho da palavra para o algoritmo. Normalmente, n=8, mas para fins de análise, você pode reduzir seu. Porém, para melhorar a segurança, é necessário aumentar esse valor. O estado interno do RC4 consiste em uma matriz de 2n palavras e dois contadores, cada palavra em tamanho. A matriz é conhecida como S-box e será denotado como S. Ele sempre contém uma permutação de 2n valores possíveis as palavras. Os dois contadores são rotulados i e j.

Algoritmo a inicialização do RC4 é mostrada abaixo. Este algoritmo usa a chave armazenada em Key e tem l bytes de comprimento. A inicialização começa preenchendo a matriz S, então, esse array é embaralhado por permutações definidas pela chave. Então assim que uma ação é realizada em S, a instrução deve ser executada, que S sempre contém todos os valores da palavra-código.

6. RC5 (Código 5 de Ron ou Rivest Cipher 5) é uma cifra de bloco desenvolvida por Ron Rivest da pela RSA Security Inc ..

Algoritmo RC5 tem comprimento de bloco variável, número de voltas e comprimento de chave. Pra especificação do algoritmo com parâmetros específicos, a designação RC5-W/R/K é adotada, onde W é igual a metade do comprimento do bloco em bits, R é o número de rodadas, K é o comprimento da chave em bytes.

Para efetivo recomenda-se que a implementação do valor de W seja considerada igual à palavra de máquina. Por exemplo, para Para plataformas de 32 bits, a escolha ideal é W=32, que corresponde ao tamanho bloquear 64 bits.

Para estimulação estudo e aplicação da cifra RC5 RSA Security Inc. 28 de janeiro de 1997 proposto quebrar uma série de mensagens criptografadas com o algoritmo RC5 com parâmetros diferentes, atribuindo um prêmio de $10.000 por quebrar cada mensagem. Cifra com o mais fraco parâmetros RC5-32/12/5 foi quebrado dentro de algumas horas. Apesar disso, A última cifra RC5-32/12/8 quebrada levou 5 anos. Invadir RC5-32/12/8 foi implementado no âmbito do projeto de computação distribuída RC5-64 (aqui 64=K * 8, comprimento da chave em bits) fornecido por Distribution.net. RC5-32/12/K para K=9..16 ainda estão inacessíveis. Distribution.net lançou o projeto RC5-72 para hackear RC5-32/12/9.

7. RC6 - simétrico algoritmo criptográfico de bloco derivado do algoritmo RC5. Foi criado Ron Rivest, Matt Robshaw e Ray Sydney para atender aos requisitos da competição Padrão de criptografia avançado. O algoritmo foi um dos cinco finalistas da competição, NESSIE e CRYPTREC também foram introduzidos. É proprietário algoritmo (proprietário) patenteado pela RSA Security.

Suporta RC6 blocos de 128 bits e chaves de 128, 192 e 256 bits, mas ao contrário de RC5, pode ser configurado para suportar uma ampla gama de comprimentos, como blocos e chaves. RC6 é muito semelhante ao RC5 em estrutura. É um finalista do AES

8. Algoritmo de criptografia minúscula (TEA) - algoritmo de criptografia de bloco do tipo rede Feistel, apresentado em 1994 Por David Wheeler e Roger Needham.
XTEA e XXTEA são versões modificadas do algoritmo TEA projetado para corrigir suas vulnerabilidades e fortalecer o algoritmo. Além disso, XXTEA é o mais complexo das opções. Também existe um algoritmo RTEA baseado no conceito XTEA, bastante aprimorado e simplificado. Algoritmos XTEA-tw e XXTEA-tw são implementações simplificadas de XTEA e XXTEA otimizadas para Bloco de 64 bits, com um número maior de rodadas, mudanças ideais shl/shr (6 e 9 em vez de 4 e 5)

9. Twofish - algoritmo de criptografia de bloco simétrico com tamanho de bloco de 128 bits e comprimento chave de até 256 bits. Número de rodadas 16. Desenvolvido por uma equipe de especialistas liderada por Bruce Schneier. Foi um dos 5 finalistas da segunda fase do concurso AES (mas não foi escolhido como tal, principalmente devido à execução bastante lenta em comparação com AES na maioria das plataformas). O algoritmo é desenvolvido com base em Algoritmos Blowfish, Safer e Square.

Distinto características do algoritmo são o uso de pré-calculados e S-boxes dependentes de chave e um esquema de implantação de subchave de criptografia complexo. Metade da chave de criptografia de n bits é usada como a chave real criptografia, a outra para modificar o algoritmo (as caixas S dependem disso). Twofish herda alguns dos princípios de construção de outras cifras, então usa a mesma rede Feistel que DES, uma transformação como Pseudo Hadamard transform, a partir de algoritmos da família Mais seguro etc.

Algoritmo Twofish não patenteado e pode ser usado por qualquer pessoa sem qualquer taxa ou deduções. É usado em muitos programas de criptografia, embora tenha recebido menos propagado do que o Blowfish.

10. Serpente cobra, alguns dos projetos anteriores dos autores também receberam nomes de animais, por exemplo, Tiger, Bear) é um algoritmo de criptografia de bloco simétrico desenvolvido por Ross Anderson, Eli Biham e Lars Knudsen. O algoritmo era um dos finalistas da 2ª fase do concurso AES. Como outros algoritmos envolvidos em Competição AES, a Serpent tem um tamanho de bloco de 128 bits e possíveis comprimentos de chave de 128, 192 ou 256 bits. O algoritmo é uma rede Feistel de 32 rodadas funcionando com um bloco de 4 palavras de 32 bits. A serpente foi projetada para que todas as operações pode ser executado em paralelo usando 32 fluxos de 1 bit.

Durante o desenvolvimento A Serpent teve uma abordagem mais conservadora à segurança do que outros finalistas do AES, os designers de cifras consideraram 16 rodadas suficientes, para combater os tipos conhecidos de criptoanálise, mas aumentou o número de rodadas até 32 para que o algoritmo possa suportar melhor métodos ainda não conhecidos criptanálise.

A cifra da serpente não é patenteado e de domínio público.

11. Blowfish (pronuncia-se [peixe golpe]) é um algoritmo criptográfico que implementa criptografia simétrica.

Desenvolvido Bruce Schneier em 1993. É uma rede Feistel. Função realizado em operações simples e rápidas: XOR, substituição, adição.

Recursos:
Tamanho do bloco: 64 bits.
Comprimento da chave: variável, até 448 bits.
Número de rodadas: 16.

Por aplicação Os critérios de design do autor para o Blowfish foram:
velocidade;
simplicidade;
compacidade;
durabilidade personalizável.

12. 3-DES - algoritmo criptográfico de bloco simétrico baseado no algoritmo DES, a fim de eliminar a principal desvantagem deste último - o pequeno comprimento da chave (56 bit), que pode ser quebrado por ataques de força bruta.

3-DES tinha uma maneira simples de aumentar o comprimento da chave foi escolhida sem a necessidade de mudar para um novo algoritmo - nele, sobre um bloco de dados de 64 bits várias vezes criptografia usando o algoritmo DES (claro, com uma chave diferente), em sua forma mais simples é se parece com: DES (k3; DES (k2; DES (k1; M))), onde M é um bloco de dados iniciais, k1, k2 e k3 - teclas DES. Esta variante é conhecida como EEE - uma vez que as três operações DES são criptografia, EDE (padrão FIPS-46-3) é mais comum, onde a criptografia DES do meio com a chave k2 é substituída pela operação descriptografar com a mesma chave (k2). Em geral, o comprimento da chave do algoritmo 3-DES é 168 bits (3x chave DES)

13. Camélia - algoritmo de criptografia de bloco simétrico (tamanho do bloco de 128 bits, chave 128/192/256 bit), um dos finalistas do concurso europeu NESSIE (juntamente com AES e Shacal-2), desenvolvido pelas empresas japonesas Nippon Telegraph and Telephone Corporation e Mitsubishi Electric Corporation (apresentada em 10 de março de 2000). Camellia é um novo desenvolvimento do algoritmo de criptografia E2, um dos algoritmos apresentados na competição AES.
A estrutura do algoritmo é baseada na clássica cadeia Feistel com preliminares e clareamento final. A função de loop usa uma transformação não linear (S-boxes), bloco de espalhamento linear (operação de byte XOR) e byte permutação.

14. LOKI97 é Cifra de bloco simétrico de 16 ciclos de 128 bits com 128 - 256 bits uma chave personalizada usada para criptografia e descriptografia de mensagens. Desenvolvido por Lawrie Brown em colaboração com J.Pieprzyk e J.Seberry. Tem uma estrutura de loop de rede Feistel balanceada usando 16 loops e uma função complexa f que combina duas camadas S-P.
No momento não é amplamente utilizado, uma vez que tem velocidade de criptografia relativamente baixa, maior do que outros participantes do AES requisitos de recursos, algumas vulnerabilidades potenciais.
Ao desenvolver o LOKI97, as características do existente naquele momento foram levadas em consideração algoritmos simétricos, suas vulnerabilidades e vantagens são levadas em consideração. Em particular, em seu artigo Esboços preliminares para a finalização do LOKI, 15 de dezembro de 1997 o autor do algoritmo L. Brown explora Blowfish, CAST, IDEA, TEA, ICE, SAFER e vários outros algoritmos. Este artigo cobriu as vulnerabilidades do original algoritmo - LOKI91, o predecessor do LOKI97, que não possui o mecanismo geração de chaves, o que permitia, teoricamente, utilizar o mecanismo de força para atacar.
O código LOKI97 não é patenteado, gratuito para uso, posicionado pelo autor como um substituto para DES e outros algoritmos de bloco. LOKI97 foi publicado pela primeira vez candidato na competição Advanced Encryption Standard, estava em um linha do tempo analisada e atacada. Análise de alguns problemas do mecanismo LOKI97, o que levou à negação de ser selecionado pela AES contida na obra Weaknesses in LOKI97 (Rijmen \u0026 amp; Knudsen, 1999) - verificou-se que a criptanálise diferencial pode ser bastante eficaz.
Os predecessores são algoritmos LOKI89 e LOKI91

15. Bass-O-Matic - criptoalgoritmo de bloco simétrico desenvolvido por Phil Zimmermann para seu programa de criptografia de e-mail, PGP, foi usado exclusivamente em seu a primeira versão pública é 1.0. De acordo com os textos de origem e declarações do autor, o algoritmo foi criado em 1988, publicado pela primeira vez em 1991. Depois o criptógrafo Eli Biham apontou uma série de vulnerabilidades no algoritmo BassOmatic, o autor substituiu-o pelo algoritmo IDEA mais robusto na próxima versão do PGP.
O algoritmo baseia-se no trabalho com blocos de 256 bytes (2048 bits). Tamanho da chave pode ser de 8 a 2048 bits, com os 6 bits menos significativos da chave sendo bits de controle, que são selecionados de acordo com as várias variações. O número de rodadas na versão original é de 1 a 8, dependendo de 3 bits de controle menos significativos, 4 bits define uma das programações de chave: uma usado para definir o valor inicial do gerador pseudo-aleatório números, o outro usa seu próprio mecanismo do algoritmo BassOmatic. O uso dessas variações complica significativamente o mecanismo de criptografia do algoritmo, ao mesmo tempo leva ao fato de que, dependendo da ordem dos bits, a criptografia a força da chave varia muito. Como uma solução para isso problemas DarkCryptTC ​​usa uma versão modificada do algoritmo Bassomatic com um intervalo de rodadas de 8 a 16 e um conjunto de tabelas de permutação aumentou para 16.
A programação principal usa tabelas de permutação, cada permutação contém valores de 0 a 255. Cada ciclo de criptografia consiste em 4 operações: Operações XOR com uma tabela de permutação, marcando ou permutando bits individuais em um bloco, difusão e difusão sem chave, conhecidas como eng. ajuntando, e uma etapa de pesquisa usando tabelas de pesquisa chamadas S-boxes. Etapa a fragmentação também pode permutar todas as matrizes de 8 bits de forma independente, ou em grupo de quatro dependendo do terceiro bit de controle. Tabelas de permutação pode permanecer inalterado durante todo o processo de criptografia, ou se verifique se o bit 5 está definido, as tabelas de permutação são geradas separadamente para cada bloco.

16. KolchCrypt III - um protótipo de um novo algoritmo doméstico de criptografia simétrica de 512 bits (criptoalgoritmo). Tamanho do bloco - 64 bytes (512 bits), comprimento da chave - 512 bits, número de ciclos - 8, funciona no modo CBC. Implementado com base na geração de fluxo números aleatórios psved e tabela de substituição mutante usando algoritmos de hash SHA512 e HAVAL256, mutação de chave implementada. No momento não é mais do que uma ideia de trabalho ou como algoritmos experimentais são às vezes chamados cifra de brinquedo (cifra de brinquedo). Código-fonte disponível gratuitamente, não proprietário, uso e modificação para melhorias são bem-vindos.

17. VigerePlus TEA II - outro protótipo um novo algoritmo doméstico de criptografia simétrica de 512 bits. O tamanho bloco - 64 bytes (512 bits), comprimento da chave - 512 bits, opera no modo CBC. É implementado com base na geração de um fluxo de números aleatórios psved e mutantes tabelas de substituição usando os algoritmos de hash SHA512 e HAVAL256. Implementado: mutação de chave, permutação de byte (shuffle), rotação de bits, tabela substituições, elementos da cifra de Vigenère, uma série de transformações adicionais e alguns elementos dos algoritmos RTEA, EnRUPT e XTEA. No momento o mesmo nada mais é do que uma ideia funcional. Código-fonte disponível gratuitamente, não proprietário, uso e modificação para melhorias são bem-vindos.

18. Cartman é uma família de cifras de bloco. O tamanho do bloco é de 128 bits, o comprimento da chave é de 256-2048 bits. O original os textos disponíveis são gratuitos, não proprietários, de uso e modificação para melhorias são bem-vindos.

Sobre a confiabilidade de alguns dos algoritmos usados ​​

LUCIFER
No final dos anos 60, a IBM lançou um programa de pesquisa de criptografia de computador, chamado Lúcifer e liderado primeiro por Horst Feistel (Horst Feistel, e depois por Walt Tuchman. O mesmo nome - Lúcifer - obteve o algoritmo de bloco que apareceu como resultado deste programa no início 70s. Na verdade, existem pelo menos dois algoritmos diferentes com por esse nome. Tudo isso levou a uma confusão perceptível. Baseado em Lúcifer mais tarde DES foi criado. Atualmente, existem métodos de criptoanálise eficazes Lúcifer, portanto, é obviamente inseguro e tem apenas significado histórico.

DES
DES (Data Encryption Standard) é um algoritmo de criptografia simétrica. Além disso conhecido como DEA (Data Encryption Algorithm). Projetado pela IBM e aprovado pelo governo dos Estados Unidos em 1977 como padrão oficial (FIPS-46-3). DES tem blocos de 64 bits e 16 rodadas Estrutura de rede Feistel, usa uma chave de 56 bits para criptografia. Para DES vários modos são recomendados, por exemplo, ECB e CBC. Devido à chave curta, em atualmente é relativamente fácil hackear com força bruta.

NovoDES
NewDES (Novo DES) foi projetado em 1985 por Robert Scott Scott) como uma possível substituição do DES. O algoritmo não é uma modificação do DES como pode parecer de seu nome. Ele opera com blocos de texto cifrado de 64 bits, mas usa uma chave de 120 bits. NewDES é mais simples do que DES, não tem inicial e permutações finais. Todas as operações são realizadas em bytes inteiros. Sobre na verdade, NewDES não é de forma alguma uma nova versão do DES, o nome era selecionado sem sucesso. A criptoanálise por uma série de cripnoanalistas mostrou que o NewDES mais fraco do que o DES.

AES
Advanced Encryption Standard (AES), também conhecido como Rijndael - algoritmo de criptografia de bloco simétrico (tamanho do bloco 128 bits, chave 128/192/256 bit), finalista do concurso AES e atualmente aceito como Padrão de criptografia do governo dos EUA. A escolha foi feita com esperando uso generalizado e análise ativa de um algoritmo como este foi com seu predecessor, DES. Instituto Estadual de Padrões e tecnologias (eng. Instituto Nacional de Padrões e Tecnologia, NIST) EUA publicou a especificação preliminar da AES em 26 de novembro de 2001, após cinco anos de treinamento. Em 26 de maio de 2002, o AES foi declarado um padrão de criptografia. A partir de 2006, AES é um dos mais comuns algoritmos de criptografia simétrica.

FEAL
FEAL foi proposto por Akihiro Shimizu a Shoji Miyaguchi Miyaguchi) da NTT Japan. Ele usa um bloco de 64 bits e uma chave de 64 bits. Sua ideia é criar um algoritmo semelhante ao DES, mas com mais função de palco forte. Usando menos etapas, este algoritmo pode funcionar mais rápido. Infelizmente, a realidade acabou ficando longe dos objetivos do projeto. Criptanálise algoritmo mostrou que pode ser facilmente hackeado, o que estimulou os desenvolvedores FEAL cria suas modificações: FEAL-8, então FEAL-N (algoritmo com variável número de estágios, mais de 8), mas também se revelaram instáveis. Portanto Os desenvolvedores do FEAL também definiram a modificação do FEAL - FEAL-NX, em que uma chave de 128 bits é usada. No entanto, os criptoanalistas Biham e Shamir mostraram que para qualquer valor de N FEAL-NX com uma chave de 128 bits não é mais difícil de quebrar, do que FEAL-N com uma chave de 64 bits. De todos os itens acima, apenas uma conclusão é que esse algoritmo não é confiável.

REDOC
REDOC II é um algoritmo de bloco desenvolvido por Michael Wood (Michael Wood) para Cryptech, Inc. Ele usa 20 bytes (160 bits) chave e bloco de 80 bits. Desde que o meio mais eficaz de abertura este algoritmo é de força bruta, REDOC II é muito confiável, para abertura a chave requer 2 ^ 160 operações.

REDOC III é uma versão simplificada do REDOC II, também desenvolvido por Michael Wood. Funciona com um bloco de 80 bits. O comprimento da chave pode variar e alcance 2560 bytes (20480 bits). O algoritmo consiste apenas em operações XOR para bytes de chave e de texto simples, sem permutação ou substituição são usados. Este algoritmo é descomplicado e rápido e ... não é seguro. Ele é sensivel à criptoanálise diferencial. Leva apenas cerca de 223 para hackear textos simples selecionados.

RC5
Esta é uma cifra de bloco desenvolvida por Ron Rivest da RSA Security Inc. O algoritmo RC5 tem comprimento de bloco variável, número de rodadas e comprimento de chave. Para a especificação de um algoritmo com parâmetros específicos, a designação RC5-W/R/K, onde W é igual a metade do comprimento do bloco em bits, R é o número de rodadas, K é comprimento da chave em bytes. Para uma implementação eficaz, o valor de W é recomendado para ser tomado igual à palavra da máquina. Por exemplo, para plataformas de 32 bits, o ideal seria escolha de W=32, que corresponde a um tamanho de bloco de 64 bits. Para estimular a aprendizagem e usando cifra RC5 RSA Security Inc. 28 de janeiro de 1997 ofereceu-se para hackear uma série de mensagens criptografadas com o algoritmo RC5 com diferentes parâmetros, atribuindo por quebrar cada mensagem um prêmio de $10.000. A cifra com os parâmetros mais fracos RC5-32/12/5 foi hackeado em algumas horas. No entanto, o último a quebra da cifra RC5-32/12/8 demorou 5 anos. Hackear RC5-32/12/8 era implementado como parte do projeto de computação distribuída RC5-64 (aqui 64=K * 8, comprimento da chave em bits) sob a orientação de Distributed.net. Ainda RC5-32/12/K permanecem inacessíveis para K=9..16. distribuído.net começou Projeto RC5-72 para hacking RC5-32/12/9.

IDEIA
A primeira versão da cifra IDEA, proposta por Xuejia Lai e James Massey (James Massey), apareceu em 1990. Chamava-se PES (Proposta Padrão de criptografia, um padrão de criptografia proposto). No próximo ano, depois demonstrações de Biham e Shamir das possibilidades de criptanálise diferencial, os autores reforçaram sua cifra contra tal ataque e nomearam o novo algoritmo IPES (Padrão de criptografia proposto aprimorado, um padrão de criptografia proposto aprimorado). Em 1992, o nome IPES foi alterado para IDEA (International Data Encryption Algoritmo, um algoritmo de criptografia de dados internacional). patenteado pela suíça pela Ascom, mas a licença permite que você use livremente o algoritmo em aplicações não comerciais. IDEA baseia-se em algumas posições teóricas e, embora a criptoanálise tenha feito algum progresso em em relação às variantes com um número reduzido de etapas, o algoritmo ainda parece Forte. É um dos melhores e mais seguros algoritmos de bloco, publicado atualmente. Com comprimento de chave IDEA de 128 bits ataque de força bruta, requer 2 ^ 128 operações. Mesmo se você verificar um bilhão chaves por segundo para abrir levarão mais tempo do que a idade do universo. Os desenvolvedores fizeram todo o possível para tornar o algoritmo resistente a criptanálise diferencial. Embora tenha havido tentativas de criptanalisar IDEA muitos, nem um único bem sucedido é conhecido. Sua fama atual também é em parte porque é usado no PGP e (opcionalmente) no OpenPGP.

MMB
A insatisfação com o uso da unidade de criptografia de 64 bits no IDEA levou a criação por John Damon de um algoritmo chamado MMB (Modular Cifra de bloco baseada em multiplicação, uma cifra de bloco modular usando multiplicação). MMB é baseado na teoria usada em IDEA: mistura operações de vários grupos. MMB é um algoritmo iterativo principalmente consistindo em ações lineares (XOR e uso de chave) e paralelas uso de quatro grandes mudanças de ordem não lineares substituições. Essas substituições são determinadas multiplicando o módulo 232-1 s fatores constantes. O resultado da aplicação dessas ações é um algoritmo que usa uma chave de 128 bits e um bloco de 128 bits. Desculpe MMB - é um algoritmo morto. Esta afirmação é verdadeira por muitas razões, ele foi projetado sem levar em consideração os requisitos de resistência à criptanálise linear. No segundo, Eli Biham implementou um ataque eficiente de chave escolhida usando o fato de que todas as etapas são idênticas e a chave quando usada é apenas um ciclo é deslocado para 32 bits.

GOST
GOST 28147-89 - no início o padrão soviético e agora o padrão russo criptografia simétrica. Nome completo - GOST 28147-89 Processing Systems em formação. Proteção criptográfica. Algoritmo criptográfico transformação . É um algoritmo de codificação de bloco. De acordo com alguns relatórios, a história dessa cifra é muito mais antiga. O algoritmo posteriormente estabelecido em a base do padrão, nasceu, presumivelmente, nas entranhas do Oitavo Chefe gestão da KGB da URSS, agora transformada em FSB, muito provavelmente em um dos fechou institutos de pesquisa sob sua jurisdição, provavelmente na década de 1970 dentro projetos para a criação de implementações de software e hardware da cifra para vários plataformas de computador. Desde a publicação do GOST, tem sido carimbo restritivo Para uso oficial, e formalmente o código era declarado totalmente aberto apenas em maio de 1994. Infelizmente a história a criação da cifra e os critérios para os desenvolvedores ainda não foram publicados. Se o melhor força bruta é a maneira de abrir GOST, este é um algoritmo muito seguro. GOST usa uma chave de 256 bits, e se levarmos em consideração as S-boxes secretas, então o comprimento a chave aumenta. É verdade que o padrão GOST não define o método para gerar blocos S, diz apenas que os blocos devem ser fornecidos de alguma forma. isto deu origem a especulações de que o soviético, e agora o fabricante russo, podem fornecer blocos s bons \u0026 quot; bons \u0026 quot; organizações e S-box ruins aquelas organizações que o fabricante vai inflar. Pode muito bem seja assim. Resumindo, um algoritmo de criptografia bastante opaco. Além disso existem ataques a GOST 28147-89.

CAST
CAST foi desenvolvido no Canadá por Carlisle Adams e Stafford Tavares (Stafford Tavares). Eles afirmam que o nome é devido à mudança desenvolvimento e deve lembrar a natureza probabilística do processo, e não de as iniciais dos autores. O algoritmo CAST descrito usa um bloco de 64 bits e Chave de 64 bits. CAST é resistente à criptoanálise diferencial e linear. Não há outra maneira conhecida além da força bruta de quebrar o CAST. No entanto, a situação com ele é um pouco semelhante ao GOST. A força do algoritmo CAST está em suas S-boxes. Ter CAST não há S-box fixos e são reprojetados para cada aplicação. Projetado para uma implementação específica, os blocos CAST S nunca mais serão está mudando. Em outras palavras, as caixas S são específicas da implementação, não essenciais. Northern Telecom usa CAST em seu pacote de desktop Entrust Estações de trabalho Macintosh, PC e UNIX. As S-boxes selecionadas não são publicadas, o que, no entanto, não é surpreendente.

BLOWFISH
Blowfish é um algoritmo desenvolvido por B. Schneier para implementação em grandes microprocessadores. O algoritmo não é patenteado. Ao projetar Blowfish os seguintes critérios foram usados: velocidade, baixos requisitos de memória (Blowfish pode ser executado em menos de 5 KB de memória), simplicidade (Blowfish usa apenas operações simples: adição, XOR e seleção de uma tabela por Operando de 32 bits), segurança configurável, variável de comprimento de chave e pode atingir 448 bits. Blowfish é otimizado para aplicações onde sem mudanças frequentes de chave, como linhas de comunicação ou programa automático criptografia de arquivo.
Blowfish é uma cifra de bloco de chave variável de 64 bits. Nenhuma criptoanálise de Blowfish bem sucedida é conhecida neste momento.

MAIS SEGURO
SAFER K-64 significa Secure And Fast Encryption Routine com uma chave de 64 bits - Procedimento de criptografia seguro e rápido com chave de 64 bits. Isso não é um algoritmo proprietário desenvolvido por James Massey (James Massey) para Cylink Corp., usado em alguns dos produtos deste empresas. O governo de Cingapura vai usar este algoritmo - com Chave de 128 bits para uma ampla gama de aplicações. Seu uso não é limitado por patente, direitos autorais ou outras restrições.
O algoritmo funciona com um bloco de 64 bits e uma chave de 64 bits. Ao contrário do DES, não é uma rede Feistel, mas uma cifra de bloco iterativo. O algoritmo opera bytes apenas.

SAFER K-128
Esta é uma modificação do algoritmo SAFER com uma forma alternativa de usar a chave desenvolvido pelo Ministério do Interior de Cingapura e, em seguida, incorporado Massagem no SAFER.

A segurança do SAFER K-64 permanece questionável. Definitivamente vale a pena esperar vários anos (aguardando os resultados da criptoanálise da comunidade criptanalista) antes de usar o SAFER de qualquer forma. Embora seja bem possível que ele seja bastante seguro.

3 VIAS
3-Way é uma cifra de bloco desenvolvida por Joan Daemen. Ele usa um bloco e uma chave de 96 bits, e seu design assume uma implementação de hardware eficiente. 3-Way não é uma rede Feistel, mas uma cifra de bloco iterativo. Um 3-Way pode ter n estágios, Damen recomenda 11. Não se sabe sobre o sucesso da criptoanálise de 3 vias. O algoritmo não é patenteado.

LOKI97
LOKI97 é uma cifra de bloco simétrico de 128 bits e 16 ciclos com 128-256 - bit chave do usuário. Desenvolvido por Lawrie Brown em colaboração com J.Pieprzyk e J. Seberry. No momento, não é amplamente utilizado, uma vez que tem uma velocidade de criptografia relativamente baixa, maior do que outras Requisitos de recursos dos participantes do AES, algumas vulnerabilidades potenciais. Cifra LOKI97 não é proprietário, de uso gratuito. Com base nos resultados contidos em em Weaknesses in LOKI97 (Rijmen \u0026 amp; Knudsen, 1999), verificou-se que a criptanálise diferencial pode ser bastante eficaz contra ela. PARA além disso, seus predecessores LOKI89 e LOKI91 já se desacreditaram.

SELO
SEAL é uma cifra de fluxo de software eficiente desenvolvida na IBM por Phil Rogaway (Phil Roga-way) e Don Coppersmith (Don Coppersmith). Algoritmo otimizado para processadores de 32 bits. Para evitar a influência de usar operações lentas SEAL executa uma série de ações preliminares com a chave, armazenar resultados em várias tabelas. Essas tabelas são usadas para acelerar a criptografia e descriptografia. SEAL é um algoritmo bastante novo, ainda tem passar pelo cadinho da criptoanálise aberta. Causa um certo estado de alerta. No entanto SEAL parece ser bem pensado algoritmo. Em última análise, seus recursos são significativos. Além de don Coppersmith é considerado o melhor criptanalista do mundo.

SKIPJACK
Skipjack é desenvolvido pela NSA como um algoritmo de criptografia para chips Clipper e Capstone. Inicialmente, o algoritmo foi declarado secreto, seus detalhes não foram a princípio Publicados. Skipjack é seguro? Se a NSA deseja criar um ambiente seguro algoritmo, provavelmente o fará. Por outro lado, se a NSA quiser criar um algoritmo com uma lacuna, ele pode fazer isso também. Tamanho do bloco em O Skipjack tem 64 bits. O algoritmo usa uma chave de 80 bits. Operação a criptografia ou descriptografia consiste em 32 etapas. NSA começou a trabalhar nisso em 1985 e verificação concluída em 1990.
A criptoanálise em grande escala de Skipjack começou após sua publicação especificações em 1998. No mesmo ano, saiu o trabalho de vários especialistas de Israel, em que, em particular, a propriedade de assimetria da chave foi observada Criptografia Skipjack, que reduz ligeiramente a complexidade da força bruta chaves. No mesmo artigo, vários ataques a versões truncadas foram apresentados algoritmo com um número incompleto de rodadas e outras mudanças. Vale a pena notar um publicou ataques contra uma variante do Skipjack que não havia apenas três XORs em comparação com a versão padrão - em 4 rodadas, 16 e 17. Esta versão do algoritmo é chamada Skipjack-3XOR; eu imagino o que remover apenas três operações XOR de 320 dessas operações resulta em um completo fraquezas do algoritmo - neste caso, a chave é revelada na presença de 29 pares de blocos texto simples e texto cifrado, realizando apenas cerca de 1 milhão de operações criptografia.

  No mesmo ano, os autores do trabalho anterior apresentou um novo tipo de criptanálise diferencial com base na pesquisa chave `` por contradição '': se uma tentativa de descriptografar dois textos cifrados em qualquer chave leva a tal relação entre os resultados de seus descriptografar, o que é impossível em princípio, esta chave está incorreta. Esta a tecnologia de criptanálise pode ser útil, em particular, para essenciais estreitando o intervalo de enumeração completa de chaves. No entanto, o ataque acabou sendo apenas versões truncadas do algoritmo. Houve tentativas mais recentes de criptanálise algoritmo Skipjack, mas todos eles foram incapazes de quebrar o completo e uma versão completa do algoritmo. Ao mesmo tempo, muitos criptanalistas expressaram a opinião de que o sucesso de ataques a versões truncadas do algoritmo fala de sua fraqueza potencial, que, no entanto, não foi comprovada.

SQUARE
O algoritmo de Square é interessante principalmente por duas razões. Primeiro dado o algoritmo foi desenvolvido pelos mesmos especialistas que posteriormente criaram Algoritmo AES. Além disso, foi a estrutura do algoritmo Square que formou a base o algoritmo de Rijndael. A estrutura do algoritmo não é convencional para os modernos algoritmos de criptografia de dados simétricos - isso é verdade para 1997, quando o algoritmo Square foi desenvolvido, e para 2000, quando, ao somar os resultados da competição AES, os especialistas observaram que `` no coração do Rijndael encontra-se um paradigma não convencional, então o algoritmo pode conter vulnerabilidades. ” Isso não impediu que o Rijndael se tornasse o novo padrão de criptografia. EUA, e essa estrutura muito pouco convencional é agora chamada de quadrada (quadrado) - pelo nome do algoritmo no qual foi aplicado pela primeira vez.

ENRUPT
Um algoritmo desenvolvido pelo talentoso cientista Marcos el Ruptor. É um TEA melhorado, mais precisamente XXTEA. Simplificado, fortificado e acelerado. Um sucesso não há ataque ao algoritmo ainda, e a experiência do autor em criptanálise permite que você conte com a impossibilidade de ataques eficazes e no futuro perspectiva.

KHUFU
Khufu é uma cifra de bloco de 64 bits. O teste aberto de 64 bits é dividido primeiro em duas metades de 32 bits (L e R). Nas duas metades e certo partes da chave são XORed. Então, semelhante ao DES, os resultados passe por uma sequência de rodadas. Em cada rodada, o menos significativo o byte L é usado como entrada para a S-box. Cada S-box tem 8 bits de entrada e 32 saídas mordeu. Em seguida, o elemento de 32 bits selecionado na S-box é submetido a XOR com R. Então L é ciclicamente deslocado por um múltiplo de oito bits, L e R trocam lugares, e a rodada termina. O S-box em si não é estático, ele muda a cada oito rodadas. Finalmente, no final da última rodada, sobre L e R são executados Operação XOR com outras partes da chave, e as metades são combinadas para formar um bloco texto cifrado. Embora partes da chave sejam usadas para executar XOR no bloco de criptografia no início e no final da execução do algoritmo, o objetivo principal da chave é gerar S- blocos. Essas caixas S são secretas, essencialmente parte da chave. Tamanho completo da chave O algoritmo Khufu tem 512 bits (64 bytes), o algoritmo fornece uma maneira geração de blocos S por chave. A questão de um número suficiente de rodadas permanece abrir. Como Merkle aponta, o algoritmo de Khufu de 8 rodadas é vulnerável a ataques com texto simples selecionado. Ele recomenda usar 16, 24 ou 32 rodadas. (Merkle limita o número de rodadas a múltiplos de oito, DarkCryptTC usa 64 rodadas). Uma vez que as S-boxes de Khufu são dependentes de chave e secretas, o algoritmo é resistente à criptoanálise diferencial. O diferencial ataque em 16 rounds Khufu que recupera a chave com 231 textos simples selecionados, mas este método não poderia ser estendido a mais número de rodadas. Supondo que o melhor método de hackear Khufu seja de frente, a robustez do algoritmo é impressionante. A chave de 512 bits fornece o necessário a complexidade da autópsia.