Padrão de criptografia de dados - Data Encryption Standard

Padrão de criptografia de dados
Diagrama de fluxo padrão de criptografia de dados.svg
A função Feistel (função F) do DES
Em geral
Designers IBM
Publicado pela primeira vez 1975 (Federal Register) (padronizado em janeiro de 1977)
Derivado de Lúcifer
Sucessores DES triplo , G-DES , DES-X , LOKI89 , ICE
Detalhe de cifra
Tamanhos de chave 56 bits
Tamanhos de bloco 64 bits
Estrutura Rede Balanced Feistel
Rodadas 16
Melhor criptoanálise pública
O DES foi considerado inseguro desde o início devido à viabilidade dos ataques de força bruta. Esses ataques foram demonstrados na prática (consulte o cracker EFF DES ) e agora estão disponíveis no mercado como um serviço. Em 2008, o melhor ataque analítico é a criptoanálise linear , que requer 2 43 textos simples conhecidos e tem uma complexidade de tempo de 2 39–43 (Junod, 2001).

O Data Encryption Standard ( DES / ˌ d i ˌ i ɛ s , d ɛ z / ) é um algoritmo de chave simétrica para a encriptação de dados digitais. Embora seu pequeno comprimento de chave de 56 bits o torne muito inseguro para aplicativos, ele tem sido altamente influente no avanço da criptografia .

Desenvolvido no início dos anos 1970 na IBM e baseado em um projeto anterior de Horst Feistel , o algoritmo foi submetido ao National Bureau of Standards (NBS) após o convite da agência para propor um candidato para a proteção de dados governamentais eletrônicos confidenciais e não classificados. Em 1976, após consulta com a Agência de Segurança Nacional (NSA), o NBS selecionou uma versão ligeiramente modificada (reforçada contra criptoanálise diferencial , mas enfraquecida contra ataques de força bruta ), que foi publicada como um padrão oficial de processamento de informação federal (FIPS) para os Estados Unidos em 1977.

A publicação de um padrão de criptografia aprovado pela NSA levou à sua rápida adoção internacional e amplo escrutínio acadêmico. As controvérsias surgiram de elementos de design classificados , um comprimento de chave relativamente curto do design de cifra do bloco de chave simétrica e o envolvimento da NSA, levantando suspeitas sobre uma porta dos fundos . As S-boxes que provocaram essas suspeitas foram projetadas pela NSA para remover uma porta dos fundos que eles conheciam secretamente ( criptoanálise diferencial ). No entanto, a NSA também garantiu que o tamanho da chave fosse drasticamente reduzido para que eles pudessem quebrar a cifra por um ataque de força bruta. O intenso escrutínio acadêmico que o algoritmo recebeu ao longo do tempo levou ao entendimento moderno das cifras de bloco e sua criptoanálise .

DES é inseguro devido ao tamanho relativamente curto da chave de 56 bits . Em janeiro de 1999, Distribution.net e a Electronic Frontier Foundation colaboraram para quebrar publicamente uma chave DES em 22 horas e 15 minutos (veja a cronologia ). Existem também alguns resultados analíticos que demonstram fragilidades teóricas na cifra, embora sejam inviáveis ​​na prática. Acredita-se que o algoritmo seja praticamente seguro na forma de Triple DES , embora haja ataques teóricos. Esta cifra foi substituída pelo Advanced Encryption Standard (AES). DES foi retirado como um padrão pelo Instituto Nacional de Padrões e Tecnologia .

Alguns documentos fazem distinção entre o padrão DES e seu algoritmo, referindo-se ao algoritmo como DEA ( Data Encryption Algorithm ).

História

As origens do DES datam de 1972, quando um estudo do National Bureau of Standards sobre a segurança de computadores do governo dos Estados Unidos identificou a necessidade de um padrão governamental para criptografar informações confidenciais não classificadas.

Na mesma época, o engenheiro Mohamed Atalla em 1972 fundou a Atalla Corporation e desenvolveu o primeiro módulo de segurança de hardware (HSM), o chamado "Atalla Box", que foi comercializado em 1973. Ele protegia dispositivos off-line com uma chave geradora de PIN segura , e foi um sucesso comercial. Bancos e empresas de cartão de crédito temiam que Atalla dominasse o mercado, o que estimulou o desenvolvimento de um padrão internacional de criptografia. Atalla foi um dos primeiros concorrentes da IBM no mercado bancário e foi citado como uma influência pelos funcionários da IBM que trabalharam no padrão DES. O IBM 3624 posteriormente adotou um sistema de verificação de PIN semelhante ao sistema Atalla anterior.

Em 15 de maio de 1973, após consultar a NSA, a NBS solicitou propostas para uma cifra que atendesse a critérios rigorosos de design. Nenhuma das submissões foi adequada. Um segundo pedido foi emitido em 27 de agosto de 1974. Desta vez, a IBM apresentou um candidato que foi considerado aceitável-a cifra desenvolvido durante o período 1973-1974 com base em um algoritmo mais cedo, Horst Feistel de Lucifer cifra. A equipe da IBM envolvida no projeto e análise de cifras incluía Feistel, Walter Tuchman , Don Coppersmith , Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler , Edna Grossman , Bill Notz, Lynn Smith e Bryant Tuckerman .

Envolvimento da NSA no projeto

Em 17 de março de 1975, o DES proposto foi publicado no Federal Register . Foram solicitados comentários públicos e, no ano seguinte, foram realizados dois workshops abertos para discutir o padrão proposto. Houve críticas recebidas dos pioneiros da criptografia de chave pública Martin Hellman e Whitfield Diffie , citando um comprimento de chave encurtado e as misteriosas " caixas S " como evidência de interferência indevida da NSA. A suspeita era que o algoritmo havia sido secretamente enfraquecido pela agência de inteligência para que eles - mas ninguém mais - pudessem ler mensagens criptografadas com facilidade. Alan Konheim (um dos designers do DES) comentou: "Enviamos as caixas S para Washington. Elas voltaram e eram todas diferentes." O Comitê Selecionado de Inteligência do Senado dos Estados Unidos revisou as ações da NSA para determinar se havia algum envolvimento impróprio. No resumo não classificado de suas conclusões, publicado em 1978, o Comitê escreveu:

No desenvolvimento do DES, a NSA convenceu a IBM de que um tamanho de chave reduzido era suficiente; auxiliou indiretamente no desenvolvimento das estruturas S-box; e certificou que o algoritmo DES final estava, tanto quanto era do seu conhecimento, livre de qualquer fraqueza estatística ou matemática.

No entanto, também descobriu que

A NSA não alterou o design do algoritmo de forma alguma. A IBM inventou e projetou o algoritmo, tomou todas as decisões pertinentes a respeito dele e concordou que o tamanho de chave acordado era mais do que adequado para todos os aplicativos comerciais aos quais o DES foi projetado.

Outro membro da equipe DES, Walter Tuchman, declarou "Desenvolvemos o algoritmo DES inteiramente dentro da IBM usando IBMistas. A NSA não ditou um único fio!" Em contraste, um livro desclassificado da NSA sobre história criptológica afirma:

Em 1973, o NBS solicitou à indústria privada um padrão de criptografia de dados (DES). As primeiras ofertas foram decepcionantes, então a NSA começou a trabalhar em seu próprio algoritmo. Então Howard Rosenblum, vice-diretor de pesquisa e engenharia, descobriu que Walter Tuchman, da IBM, estava trabalhando em uma modificação do Lúcifer para uso geral. A NSA autorizou Tuchman e o trouxe para trabalhar em conjunto com a Agência na modificação de Lúcifer. "

e

A NSA trabalhou em estreita colaboração com a IBM para fortalecer o algoritmo contra todos, exceto ataques de força bruta e para fortalecer as tabelas de substituição, chamadas S-box. Por outro lado, a NSA tentou convencer a IBM a reduzir o comprimento da chave de 64 para 48 bits. No final das contas, eles se comprometeram com uma chave de 56 bits.

Algumas das suspeitas sobre fraquezas ocultas nas S-boxes foram dissipadas em 1990, com a descoberta independente e publicação aberta por Eli Biham e Adi Shamir da criptoanálise diferencial , um método geral para quebrar cifras de bloco. As S-boxes do DES eram muito mais resistentes ao ataque do que se tivessem sido escolhidas ao acaso, sugerindo fortemente que a IBM conhecia a técnica na década de 1970. Este foi realmente o caso; em 1994, Don Coppersmith publicou alguns dos critérios de design originais para as S-box. De acordo com Steven Levy , os pesquisadores do IBM Watson descobriram ataques criptanalíticos diferenciais em 1974 e foram solicitados pela NSA a manter a técnica em segredo. Coppersmith explica a decisão de sigilo da IBM dizendo, "isso porque [a criptoanálise diferencial] pode ser uma ferramenta muito poderosa, usada contra muitos esquemas, e havia a preocupação de que tais informações de domínio público pudessem afetar adversamente a segurança nacional." Levy cita Walter Tuchman: "[eles] pediram que carimbássemos todos os nossos documentos como confidenciais ... Na verdade, colocamos um número em cada um e os trancamos em cofres, porque eram considerados confidenciais do governo dos Estados Unidos. Eles disseram para fazê-lo. Então Eu fiz isso". Bruce Schneier observou que "a comunidade acadêmica levou duas décadas para descobrir que os 'ajustes' da NSA realmente melhoraram a segurança do DES."

O algoritmo como padrão

Apesar das críticas, o DES foi aprovado como um padrão federal em novembro de 1976 e publicado em 15 de janeiro de 1977 como FIPS PUB 46, autorizado para uso em todos os dados não classificados. Posteriormente, foi reafirmado como o padrão em 1983, 1988 (revisado como FIPS-46-1), 1993 (FIPS-46-2), e novamente em 1999 (FIPS-46-3), este último prescrevendo " Triple DES " ( Veja abaixo). Em 26 de maio de 2002, o DES foi finalmente substituído pelo Advanced Encryption Standard (AES), após uma competição pública . Em 19 de maio de 2005, o FIPS 46-3 foi oficialmente retirado, mas o NIST aprovou Triple DES até o ano de 2030 para informações confidenciais do governo.

O algoritmo também é especificado em ANSI X3.92 (Hoje X3 é conhecido como INCITS e ANSI X3.92 como ANSI INCITS 92), NIST SP 800-67 e ISO / IEC 18033-3 (como um componente de TDEA ).

Outro ataque teórico, criptoanálise linear, foi publicado em 1994, mas foi a Electronic Frontier Foundation 's DES biscoito em 1998 que demonstrou que DES poderia ser atacado muito praticamente, e destacou a necessidade de um algoritmo de substituição. Esses e outros métodos de criptanálise são discutidos com mais detalhes posteriormente neste artigo.

A introdução do DES é considerada um catalisador para o estudo acadêmico de criptografia, particularmente de métodos para quebrar cifras de blocos. De acordo com uma retrospectiva do NIST sobre DES,

Pode-se dizer que o DES "deu o salto inicial" no estudo não militar e no desenvolvimento de algoritmos de criptografia. Na década de 1970, havia muito poucos criptógrafos, exceto aqueles em organizações militares ou de inteligência, e pouco estudo acadêmico de criptografia. Existem agora muitos criptologistas acadêmicos ativos, departamentos de matemática com fortes programas em criptografia e empresas e consultores comerciais de segurança da informação. Uma geração de criptanalistas começou a analisar (ou seja, tentando "quebrar") o algoritmo DES. Nas palavras do criptógrafo Bruce Schneier , "DES fez mais para galvanizar o campo da criptoanálise do que qualquer outra coisa. Agora havia um algoritmo para estudar." Uma parte surpreendente da literatura aberta em criptografia nas décadas de 1970 e 1980 lidou com o DES, e o DES é o padrão com o qual todos os algoritmos de chave simétrica desde então foram comparados.

Cronologia

Encontro Ano Evento
15 de maio 1973 NBS publica uma primeira solicitação de um algoritmo de criptografia padrão
27 de agosto 1974 NBS publica uma segunda solicitação de algoritmos de criptografia
17 de março 1975 DES é publicado no Federal Register para comentários
agosto 1976 Primeiro workshop sobre DES
setembro 1976 Segundo workshop, discutindo os fundamentos matemáticos do DES
novembro 1976 DES é aprovado como padrão
15 de janeiro 1977 DES é publicado como um padrão FIPS FIPS PUB 46
Junho 1977 Diffie e Hellman argumentam que a cifra DES pode ser quebrada pela força bruta.
1983 DES é reafirmado pela primeira vez
1986 Videocipher II, um sistema de codificação de satélite de TV baseado em DES, começa a ser usado pela HBO
22 de janeiro 1988 DES é reafirmado pela segunda vez como FIPS 46-1, substituindo FIPS PUB 46
Julho 1991 Biham e Shamir redescobrem a criptoanálise diferencial e a aplicam a um criptosistema semelhante ao DES de 15 rodadas.
1992 Biham e Shamir relatam o primeiro ataque teórico com menos complexidade do que a força bruta: a criptoanálise diferencial . No entanto, requer 2 47 textos simples escolhidos não realistas .
30 de dezembro 1993 DES é reafirmado pela terceira vez como FIPS 46-2
1994 A primeira criptanálise experimental do DES é realizada usando criptoanálise linear (Matsui, 1994).
Junho 1997 O Projeto DESCHALL quebra uma mensagem criptografada com DES pela primeira vez em público.
Julho 1998 O FEP 's DES biscoito (Deep Fenda) interrompe uma chave DES em 56 horas.
Janeiro 1999 Juntos, o Deep Crack e o Distributed.net quebram uma chave DES em 22 horas e 15 minutos.
25 de outubro 1999 DES é reafirmado pela quarta vez como FIPS 46-3, que especifica o uso preferencial de DES triplo , com DES único permitido apenas em sistemas legados.
26 de novembro 2001 O Advanced Encryption Standard é publicado em FIPS 197
26 de maio 2002 O AES entra em vigor
26 de julho 2004 A retirada do FIPS 46-3 (e alguns padrões relacionados) é proposta no Federal Register
19 de maio 2005 NIST retira FIPS 46-3 (ver Federal Register vol 70, número 96 )
abril 2006 A máquina paralela baseada em FPGA COPACOBANA das Universidades de Bochum e Kiel, Alemanha, quebra o DES em 9 dias a um custo de hardware de $ 10.000. Em um ano, as melhorias de software reduziram o tempo médio para 6,4 dias.
11 de novembro 2008 A máquina RIVYERA, sucessora do COPACOBANA , reduziu o tempo médio para menos de um dia.
agosto 2016 O hashcat do software de quebra de senha Open Source adicionado na pesquisa de força bruta do DES em GPUs de uso geral. O benchmarking mostra uma única GPU Nvidia GeForce GTX 1080 Ti que custa $ 1000 USD recupera uma chave em uma média de 15 dias (pesquisa exaustiva completa levando 30 dias). Os sistemas foram construídos com oito GPUs GTX 1080 Ti que podem recuperar uma chave em uma média de menos de 2 dias.
Julho 2017 Um ataque de texto plano escolhido utilizando uma tabela arco - íris pode recuperar a chave DES para um único texto plano escolhido específico 1122334455667788 em 25 segundos. Uma nova tabela de arco-íris deve ser calculada por texto simples. Um conjunto limitado de rainbow tables foi disponibilizado para download.

Descrição

Initial permutation Feistel function Feistel function Feistel function Feistel function Final permutation XOR XOR XOR XOR
Figura 1 - A estrutura geral do Feistel do DES

DES é a cifra de bloco arquetípica - um algoritmo que pega uma string de comprimento fixo de bits de texto simples e a transforma por meio de uma série de operações complicadas em outra bitstring de texto cifrado do mesmo comprimento. No caso do DES, o tamanho do bloco é de 64 bits. O DES também usa uma chave para personalizar a transformação, de modo que a descriptografia pode supostamente ser realizada apenas por aqueles que conhecem a chave específica usada para criptografar. A chave consiste ostensivamente em 64 bits; no entanto, apenas 56 deles são realmente usados ​​pelo algoritmo. Oito bits são usados ​​exclusivamente para verificar a paridade e, a partir daí, são descartados. Portanto, o comprimento efetivo da chave é de 56 bits.

A chave é armazenada nominalmente ou transmitida como 8 bytes , cada um com paridade ímpar. De acordo com ANSI X3.92-1981 (agora, conhecido como ANSI INCITS 92-1981), seção 3.5:

Um bit em cada byte de 8 bits da KEY pode ser utilizado para detecção de erros na geração, distribuição e armazenamento de chaves. Os bits 8, 16, ..., 64 devem ser usados ​​para garantir que cada byte tenha paridade ímpar.

Como outras cifras de bloco, o DES por si só não é um meio seguro de criptografia, mas deve ser usado em um modo de operação . FIPS-81 especifica vários modos para uso com DES. Comentários adicionais sobre o uso do DES estão contidos no FIPS-74.

A descriptografia usa a mesma estrutura da criptografia, mas com as chaves usadas na ordem reversa. (Isso tem a vantagem de que o mesmo hardware ou software pode ser usado em ambas as direções.)

Estrutura geral

A estrutura geral do algoritmo é mostrada na Figura 1: há 16 estágios idênticos de processamento, chamados de rodadas . Há também uma permutação inicial e final , denominada IP e FP , que são inversas (IP "desfaz" a ação de FP e vice-versa). O IP e o FP não têm significado criptográfico, mas foram incluídos para facilitar o carregamento de blocos dentro e fora do hardware baseado em 8 bits de meados da década de 1970.

Antes das rodadas principais, o bloco é dividido em duas metades de 32 bits e processado alternadamente; este cruzamento é conhecido como esquema Feistel . A estrutura do Feistel garante que a descriptografia e a criptografia sejam processos muito semelhantes - a única diferença é que as subchaves são aplicadas na ordem inversa ao descriptografar. O resto do algoritmo é idêntico. Isso simplifica muito a implementação, principalmente em hardware, pois não há necessidade de algoritmos de criptografia e descriptografia separados.

O símbolo ⊕ denota a operação exclusiva-OR (XOR). A função F embaralha meio bloco junto com parte da chave. A saída da função F é então combinada com a outra metade do bloco e as metades são trocadas antes da próxima rodada. Após a rodada final, as metades são trocadas; este é um recurso da estrutura Feistel que torna os processos de criptografia e descriptografia semelhantes.

A função Feistel (F)

A função F, representada na Figura 2, opera em meio bloco (32 bits) por vez e consiste em quatro estágios:

Expansion function Substitution box 1 Substitution box 2 Substitution box 3 Substitution box 4 Substitution box 5 Substitution box 6 Substitution box 7 Substitution box 8 Permutation XOR
Figura 2 - A função Feistel (função F) do DES
  1. Expansão : o meio-bloco de 32 bits é expandido para 48 bits usando a permutação de expansão , denotada por E no diagrama, duplicando metade dos bits. A saída consiste em oito partes de 6 bits (8 × 6 = 48 bits), cada uma contendo uma cópia de 4 bits de entrada correspondentes, mais uma cópia do bit imediatamente adjacente de cada uma das partes de entrada para cada lado.
  2. Mistura de teclas : o resultado é combinado com uma subchave usando uma operação XOR. Dezesseis subchaves de 48 bits - uma para cada rodada - são derivadas da chave principal usando a programação de chave (descrita abaixo).
  3. Substituição : depois de misturar na subchave, o bloco é dividido em oito peças de 6 bits antes do processamento pelas S-boxes ou caixas de substituição . Cada uma das oito S-boxes substitui seus seis bits de entrada por quatro bits de saída de acordo com uma transformação não linear, fornecida na forma de uma tabela de consulta . As S-boxes fornecem o núcleo da segurança do DES - sem elas, a cifra seria linear e trivialmente quebrável.
  4. Permutação : finalmente, as 32 saídas das S-box são reorganizadas de acordo com uma permutação fixa , a P-box . Isso é projetado de forma que, após a permutação, os bits da saída de cada S-box nesta rodada sejam espalhados por quatro S-box diferentes na próxima rodada.

A alternância de substituição das caixas S e permutação de bits da caixa P e expansão E fornece a chamada " confusão e difusão ", respectivamente, um conceito identificado por Claude Shannon na década de 1940 como uma condição necessária para uma segurança ainda cifra prática.

Cronograma chave

Permuted choice 1 Permuted choice 2 Permuted choice 2 Permuted choice 2 Permuted choice 2 Left shift by 1 Left shift by 1 Left shift by 1 Left shift by 1 Left shift by 2 Left shift by 2 Left shift by 1 Left shift by 1
Figura 3 - O cronograma-chave do DES

A Figura 3 ilustra o cronograma de chaves para criptografia - o algoritmo que gera as subchaves. Inicialmente, 56 bits da chave são selecionados dos 64 iniciais pela Escolha Permutada 1 ( PC-1 ) - os oito bits restantes são descartados ou usados ​​como bits de verificação de paridade . Os 56 bits são então divididos em duas metades de 28 bits; cada metade é posteriormente tratada separadamente. Em rodadas sucessivas, ambas as metades são giradas para a esquerda em um ou dois bits (especificado para cada rodada) e, em seguida, 48 bits de subchave são selecionados pela Escolha permutada 2 ( PC-2 ) - 24 bits da metade esquerda e 24 da direita . As rotações (denotadas por "<<<" no diagrama) significam que um conjunto diferente de bits é usado em cada subchave; cada bit é usado em aproximadamente 14 das 16 subchaves.

O cronograma de chaves para descriptografia é semelhante - as subchaves estão em ordem reversa em comparação com a criptografia. Tirando essa mudança, o processo é o mesmo da criptografia. Os mesmos 28 bits são passados ​​para todas as caixas de rotação.

Segurança e criptanálise

Embora mais informações tenham sido publicadas sobre a criptoanálise do DES do que qualquer outra cifra de bloco, o ataque mais prático até o momento ainda é uma abordagem de força bruta. Várias propriedades criptanalíticas menores são conhecidas e três ataques teóricos são possíveis que, embora tenham uma complexidade teórica menor do que um ataque de força bruta, requerem um número irreal de textos simples conhecidos ou escolhidos para realizar e não são uma preocupação na prática.

Ataque de força bruta

Para qualquer cifra , o método mais básico de ataque é a força bruta - tentando cada chave possível por vez. O comprimento da chave determina o número de chaves possíveis e, portanto, a viabilidade dessa abordagem. Para DES, questões foram levantadas sobre a adequação de seu tamanho de chave desde o início, mesmo antes de ser adotado como um padrão, e foi o tamanho de chave pequeno, ao invés de criptanálise teórica, que ditou a necessidade de um algoritmo de substituição . Como resultado de discussões envolvendo consultores externos, incluindo a NSA, o tamanho da chave foi reduzido de 128 bits para 56 bits para caber em um único chip.

A máquina de craqueamento DES de US $ 250.000 da EFF continha 1.856 chips personalizados e poderia aplicar força bruta em uma chave DES em questão de dias - a foto mostra uma placa de circuito DES Cracker equipada com vários chips Deep Crack.

Na academia, várias propostas para uma máquina de cracking DES foram apresentadas. Em 1977, Diffie e Hellman propuseram uma máquina com um custo estimado de US $ 20 milhões, que poderia encontrar uma chave DES em um único dia. Em 1993, Wiener havia proposto uma máquina de busca de chaves que custava US $ 1 milhão e que encontraria uma chave em 7 horas. No entanto, nenhuma dessas propostas iniciais foi implementada - ou, pelo menos, nenhuma implementação foi reconhecida publicamente. A vulnerabilidade do DES foi praticamente demonstrada no final da década de 1990. Em 1997, a RSA Security patrocinou uma série de concursos, oferecendo um prêmio de US $ 10.000 para a primeira equipe que quebrou uma mensagem criptografada com DES para o concurso. Esse concurso foi vencido pelo Projeto DESCHALL , liderado por Rocke Verser, Matt Curtin e Justin Dolske, usando ciclos ociosos de milhares de computadores na Internet. A viabilidade de crackear DES rapidamente foi demonstrada em 1998, quando um cracker DES personalizado foi construído pela Electronic Frontier Foundation (EFF), um grupo de direitos civis no ciberespaço, ao custo de aproximadamente US $ 250.000 (ver cracker DES EFF ). A motivação deles era mostrar que o DES era quebrável tanto na prática quanto na teoria: " Muitas pessoas não acreditarão em uma verdade até que possam vê-la com seus próprios olhos. Mostrando-lhes uma máquina física que pode quebrar o DES em alguns dias é a única maneira de convencer algumas pessoas de que elas realmente não podem confiar sua segurança ao DES. "A máquina fez força bruta em uma chave em pouco mais de 2 dias de busca.

O próximo cracker DES confirmado foi a máquina COPACOBANA construída em 2006 por equipes das Universidades de Bochum e Kiel , ambas na Alemanha . Ao contrário da máquina EFF, o COPACOBANA consiste em circuitos integrados reconfiguráveis ​​disponíveis comercialmente. 120 dessas matrizes de portas programáveis ​​em campo (FPGAs) do tipo XILINX Spartan-3 1000 são executadas em paralelo. Eles são agrupados em 20 módulos DIMM, cada um contendo 6 FPGAs. O uso de hardware reconfigurável torna a máquina aplicável também a outras tarefas de quebra de código. Um dos aspectos mais interessantes do COPACOBANA é seu fator de custo. Uma máquina pode ser construída por aproximadamente US $ 10.000. A redução de custos em aproximadamente um fator de 25 em relação à máquina EFF é um exemplo da melhoria contínua do hardware digital - veja a lei de Moore . Ajustar a inflação ao longo de 8 anos produz uma melhoria ainda maior de cerca de 30x. Desde 2007, a SciEngines GmbH , uma empresa spin-off dos dois parceiros do projeto COPACOBANA, aprimorou e desenvolveu sucessores do COPACOBANA. Em 2008, o COPACOBANA RIVYERA reduziu o tempo para quebrar o DES para menos de um dia, usando 128 Spartan-3 5000. SciEngines RIVYERA detinha o recorde em DES de quebra de força bruta, tendo utilizado 128 Spartan-3 5000 FPGAs. Seu modelo 256 Spartan-6 LX150 baixou ainda mais desta vez.

Em 2012, David Hulton e Moxie Marlinspike anunciaram um sistema com 48 FPGAs Xilinx Virtex-6 LX240T, cada FPGA contendo 40 núcleos DES totalmente pipeline rodando a 400 MHz, para uma capacidade total de 768 gigakeys / s. O sistema pode pesquisar exaustivamente todo o espaço da chave DES de 56 bits em cerca de 26 horas e este serviço é oferecido on-line por uma taxa.

Ataques mais rápidos do que a força bruta

Existem três ataques conhecidos que podem quebrar as 16 rodadas completas de DES com menos complexidade do que uma busca de força bruta: criptoanálise diferencial (DC), criptoanálise linear (LC) e ataque de Davies . No entanto, os ataques são teóricos e geralmente considerados inviáveis ​​de montar na prática; esses tipos de ataque às vezes são chamados de deficiências de certificação.

  • A criptoanálise diferencial foi redescoberta no final dos anos 1980 por Eli Biham e Adi Shamir ; era conhecido antes pela IBM e pela NSA e mantido em segredo. Para quebrar as 16 rodadas completas, a criptoanálise diferencial requer 2 47 textos simples escolhidos . DES foi projetado para ser resistente a DC.
  • A criptoanálise linear foi descoberta por Mitsuru Matsui e precisa de 2 43 textos simples conhecidos (Matsui, 1993); o método foi implementado (Matsui, 1994), e foi a primeira criptoanálise experimental de DES a ser relatada. Não há evidências de que o DES foi adaptado para ser resistente a esse tipo de ataque. Uma generalização da LC - criptoanálise linear múltipla - foi sugerida em 1994 (Kaliski e Robshaw) e foi posteriormente refinada por Biryukov e outros. (2004); sua análise sugere que múltiplas aproximações lineares podem ser usadas para reduzir os requisitos de dados do ataque em pelo menos um fator de 4 (ou seja, 2 41 em vez de 2 43 ). Uma redução semelhante na complexidade dos dados pode ser obtida em uma variante de texto simples escolhido da criptoanálise linear (Knudsen e Mathiassen, 2000). Junod (2001) realizadas várias experiências para determinar a complexidade de tempo real de criptoanálises linear, e relataram que era um pouco mais rápida do que o previsto, o que requer tempo equivalente a 2 39 -2 41 avaliações DES.
  • Ataque de Davies aprimorado : enquanto a criptoanálise linear e diferencial são técnicas gerais e podem ser aplicadas a uma série de esquemas, o ataque de Davies é uma técnica especializada para DES, sugerida pela primeira vez por Donald Davies nos anos oitenta, e aprimorada por Biham e Biryukov (1997 ) A forma mais poderosa de ataque requer 2 50 textos simples conhecidos , tem uma complexidade computacional de 2 50 e uma taxa de sucesso de 51%.

Também houve ataques propostos contra versões de rodada reduzida da cifra, ou seja, versões do DES com menos de 16 rodadas. Essa análise dá uma ideia de quantas rodadas são necessárias para a segurança e quanto de uma "margem de segurança" a versão completa mantém.

A criptoanálise diferencial-linear foi proposta por Langford e Hellman em 1994 e combina a criptoanálise diferencial e linear em um único ataque. Uma versão aprimorada do ataque pode quebrar o DES de 9 rodadas com 2 15,8 textos simples escolhidos e tem uma complexidade de tempo 2 29,2 (Biham e outros, 2002).

Propriedades criptanalíticas menores

DES exibe a propriedade de complementação, ou seja, que

onde é o complemento bit a bit de denota criptografia com chave e denota blocos de texto simples e texto cifrado, respectivamente. A propriedade de complementação significa que o trabalho para um ataque de força bruta pode ser reduzido por um fator de 2 (ou um único bit) sob uma suposição de texto simples escolhido . Por definição, essa propriedade também se aplica à cifra TDES.

DES também possui quatro chamadas teclas fracas . A criptografia ( E ) e a descriptografia ( D ) sob uma chave fraca têm o mesmo efeito (ver involução ):

ou equivalente,

Existem também seis pares de chaves semi-fracas . A criptografia com uma das chaves semifracas , opera de forma idêntica à descriptografia com a outra :

ou equivalente,

É fácil evitar as chaves fracas e semifracas em uma implementação, seja testando-as explicitamente ou simplesmente escolhendo as chaves aleatoriamente; as chances de escolher uma chave fraca ou semifraca por acaso são insignificantes. As chaves não são realmente mais fracas do que quaisquer outras chaves de qualquer maneira, pois elas não oferecem nenhuma vantagem ao ataque.

DES também provou não ser um grupo , ou mais precisamente, o conjunto (para todas as chaves possíveis ) sob composição funcional não é um grupo, nem "perto" de ser um grupo. Essa era uma questão em aberto por algum tempo e, se fosse o caso, seria possível quebrar o DES, e vários modos de criptografia, como Triple DES , não aumentariam a segurança, porque criptografia repetida (e decriptografias) em chaves diferentes seria equivalente à criptografia em outra chave única.

DES simplificado

DES simplificado (SDES) foi projetado apenas para fins educacionais, para ajudar os alunos a aprender sobre as técnicas criptanalíticas modernas. O SDES tem estrutura e propriedades semelhantes ao DES, mas foi simplificado para tornar muito mais fácil realizar a criptografia e descriptografia à mão com lápis e papel. Algumas pessoas acham que aprender o SDES fornece uma visão sobre o DES e outras cifras de bloco, e uma visão sobre vários ataques criptanalíticos contra eles.

Algoritmos de substituição

As preocupações com a segurança e a operação relativamente lenta do DES no software motivaram os pesquisadores a propor uma variedade de designs de cifras de bloco alternativos , que começaram a aparecer no final dos anos 1980 e no início dos anos 1990: exemplos incluem RC5 , Blowfish , IDEA , NewDES , SAFER , CAST5 e FEAL . A maioria desses designs manteve o tamanho de bloco de 64 bits do DES e poderia atuar como uma substituição "drop-in", embora normalmente usassem uma chave de 64 ou 128 bits. Na União Soviética, o algoritmo GOST 28147-89 foi introduzido, com um tamanho de bloco de 64 bits e uma chave de 256 bits, que também foi usado na Rússia posteriormente.

O próprio DES pode ser adaptado e reutilizado em um esquema mais seguro. Muitos ex-usuários do DES agora usam Triple DES (TDES), que foi descrito e analisado por um dos patenteadores do DES (ver FIPS Pub 46-3); envolve a aplicação de DES três vezes com duas (2TDES) ou três (3TDES) chaves diferentes. O TDES é considerado adequadamente seguro, embora seja bastante lento. Uma alternativa menos dispendiosa do ponto de vista computacional é o DES-X , que aumenta o tamanho da chave aplicando um XOR no material da chave extra antes e depois do DES. O GDES foi uma variante do DES proposta como forma de acelerar a criptografia, mas se mostrou suscetível à criptoanálise diferencial.

Em 2 de janeiro de 1997, o NIST anunciou que desejava escolher um sucessor para o DES. Em 2001, após uma competição internacional, o NIST selecionou uma nova cifra, o Advanced Encryption Standard (AES), como substituto. O algoritmo que foi selecionado como AES foi submetido por seus projetistas sob o nome de Rijndael . Outros finalistas da competição NIST AES incluíram RC6 , Serpent , MARS e Twofish .

Veja também

Notas

Referências

links externos