EITC/IS/CCF Classical Cryptography Fundamentals é o programa europeu de certificação de TI sobre aspectos teóricos e práticos da criptografia clássica, incluindo a criptografia de chave privada e de chave pública, com uma introdução às cifras práticas amplamente utilizadas na Internet, como o RSA.
O currículo dos Fundamentos de Criptografia Clássica EITC/IS/CCF abrange a introdução à criptografia de chave privada, cifras aritméticas e históricas modulares, cifras de fluxo, números aleatórios, a cifra incondicionalmente segura One-Time Pad (OTP) (sob a suposição de fornecer uma solução para o problema de distribuição de chaves, como é dado, por exemplo, pelo Quantum Key Distribution, QKD), registradores de deslocamento de feedback linear, Data Encryption Standard (cifra DES, incluindo criptografia, programação de chave e descriptografia), Advanced Encryption Standard (AES, introduzindo campos Galois criptografia baseada), aplicações de cifras de bloco (incluindo modos de operação), consideração de criptografia múltipla e ataques de força bruta, introdução à criptografia de chave pública cobrindo teoria dos números, algoritmo euclidiano, função Phi de Euler e teorema de Euler, bem como o introdução ao criptossistema RSA e exponenciação eficiente, dentro da seguinte estrutura, englobando abrangente vídeo didático c conteúdo como referência para esta Certificação EITC.
A criptografia refere-se a formas de comunicação segura na presença de um adversário. A criptografia, em um sentido mais amplo, é o processo de criação e análise de protocolos que impedem que terceiros ou o público em geral acessem mensagens privadas (criptografadas). A criptografia clássica moderna é baseada em vários recursos principais de segurança da informação, como confidencialidade de dados, integridade de dados, autenticação e não repúdio. Em contraste com a criptografia quântica, que é baseada em regras da física quântica radicalmente diferentes que caracterizam a natureza, a criptografia clássica refere-se à criptografia baseada nas leis da física clássica. Os campos da matemática, ciência da computação, engenharia elétrica, ciência da comunicação e física se encontram na criptografia clássica. Comércio eletrônico, cartões de pagamento baseados em chip, moedas digitais, senhas de computador e comunicações militares são exemplos de aplicações de criptografia.
Antes da era atual, a criptografia era quase sinônimo de criptografia, transformando a informação de um absurdo legível em um absurdo ininteligível. Para evitar que invasores tenham acesso a uma mensagem criptografada, o remetente compartilha apenas o processo de decodificação com os destinatários pretendidos. Os nomes Alice (“A”) para o remetente, Bob (“B”) para o destinatário pretendido e Eve (“bispo”) para o adversário são frequentemente usados na literatura de criptografia.
Os métodos de criptografia tornaram-se cada vez mais complexos e suas aplicações mais diversificadas, desde o desenvolvimento das máquinas de cifragem de rotor na Primeira Guerra Mundial e a introdução dos computadores na Segunda Guerra Mundial.
A criptografia moderna depende fortemente da teoria matemática e da prática da ciência da computação; métodos criptográficos são construídos em torno de suposições de dureza computacional, tornando-os difíceis para qualquer oponente quebrar na prática. Embora a invasão de um sistema bem projetado seja teoricamente possível, fazê-lo na prática é impossível. Tais esquemas são chamados de “computacionalmente seguros” se forem construídos adequadamente; no entanto, avanços teóricos (por exemplo, melhorias nos métodos de fatoração de inteiros) e tecnologia de computação mais rápida exigem reavaliação constante e, se necessário, adaptação desses projetos. Existem sistemas de informação teoricamente seguros, como o one-time pad, que podem ser comprovados como inquebráveis mesmo com poder computacional infinito, mas são significativamente mais difíceis de empregar na prática do que os melhores esquemas teoricamente quebráveis, mas computacionalmente seguros.
Na Era da Informação, o avanço da tecnologia criptográfica produziu uma variedade de desafios legais. Muitas nações classificaram a criptografia como uma arma, limitando ou proibindo seu uso e exportação devido ao seu potencial de espionagem e sedição. Os investigadores podem obrigar a entrega de chaves de criptografia para documentos pertinentes a uma investigação em alguns lugares onde a criptografia é legal. No caso da mídia digital, a criptografia também desempenha um papel fundamental na gestão de direitos digitais e conflitos de violação de direitos autorais.
O termo “criptografia” (em oposição a “criptograma”) foi usado pela primeira vez no século XIX, no conto de Edgar Allan Poe “The Gold-Bug”.
Até recentemente, a criptografia se referia quase exclusivamente à “criptografia”, que é o ato de transformar dados comuns (conhecidos como texto simples) em um formato ilegível (chamado texto cifrado). A descriptografia é o oposto da criptografia, ou seja, passar de um texto cifrado ininteligível para um texto simples. Uma cifra (ou cifra) é um conjunto de técnicas que realizam criptografia e descriptografia na ordem inversa. O algoritmo e, em cada caso, uma “chave” são responsáveis pela execução detalhada da cifra. A chave é um segredo (de preferência conhecido apenas pelos comunicantes) que é usado para descriptografar o texto cifrado. Geralmente é uma sequência de caracteres (de preferência curta para que possa ser lembrada pelo usuário). Um “criptosistema” é a coleção ordenada de elementos de textos claros potenciais finitos, textos cifrados, chaves e os procedimentos de criptografia e descriptografia que correspondem a cada chave em termos matemáticos formais. As chaves são cruciais tanto formalmente quanto na prática, porque cifras com chaves fixas podem ser facilmente quebradas usando apenas as informações da cifra, tornando-as inúteis (ou mesmo contraproducentes) para a maioria dos propósitos.
Historicamente, as cifras eram frequentemente usadas sem nenhum procedimento adicional, como autenticação ou verificações de integridade para criptografia ou descriptografia. Os criptossistemas são divididos em duas categorias: simétricos e assimétricos. A mesma chave (a chave secreta) é usada para criptografar e descriptografar uma mensagem em sistemas simétricos, que eram os únicos conhecidos até a década de 1970. Como os sistemas simétricos usam comprimentos de chave mais curtos, a manipulação de dados em sistemas simétricos é mais rápida do que em sistemas assimétricos. Os sistemas assimétricos criptografam uma comunicação com uma “chave pública” e a descriptografam usando uma “chave privada” semelhante. A utilização de sistemas assimétricos melhora a segurança da comunicação, devido à dificuldade de determinar a relação entre as duas chaves. RSA (Rivest–Shamir–Adleman) e ECC são dois exemplos de sistemas assimétricos (Criptografia de Curva Elíptica). O amplamente utilizado AES (Advanced Encryption Standard), que substituiu o DES anterior, é um exemplo de algoritmo simétrico de alta qualidade (Data Encryption Standard). As várias técnicas de emaranhamento de linguagem infantil, como Pig Latin ou outros cantos, e de fato todos os esquemas criptográficos, por mais sérios que sejam, de qualquer fonte antes da introdução do one-time pad no início do século XX, são exemplos de baixa qualidade. algoritmos simétricos.
O termo “código” é frequentemente usado coloquialmente para se referir a qualquer técnica de criptografia ou ocultação de mensagens. No entanto, em criptografia, código refere-se à substituição de uma palavra de código por uma unidade de texto simples (ou seja, uma palavra ou frase significativa) (por exemplo, “wallaby” substitui “ataque ao amanhecer”). Em contraste, um texto cifrado é criado modificando ou substituindo um elemento abaixo de tal nível (uma letra, uma sílaba ou um par de letras, por exemplo) para formar um texto cifrado.
Criptanálise é o estudo de maneiras de descriptografar dados criptografados sem ter acesso à chave necessária para isso; em outras palavras, é o estudo de como “quebrar” esquemas de criptografia ou suas implementações.
Em inglês, algumas pessoas usam indistintamente os termos “criptografia” e “criptologia”, enquanto outros (incluindo a prática militar dos EUA em geral) usam “criptografia” para se referir ao uso e prática de técnicas criptográficas e “criptologia” para se referir à combinação estudo de criptografia e criptoanálise. O inglês é mais adaptável do que várias outras línguas, onde a “criptologia” (como praticada pelos criptologistas) é sempre usada no segundo sentido. A esteganografia às vezes é incluída na criptologia, de acordo com a RFC 2828.
Criptolinguística é o estudo das propriedades da linguagem que têm alguma relevância em criptografia ou criptologia (por exemplo, estatísticas de frequência, combinações de letras, padrões universais e assim por diante).
A criptografia e a criptoanálise têm uma longa história.
História da criptografia é o artigo principal.
Antes da era moderna, a criptografia estava preocupada principalmente com a confidencialidade da mensagem (ou seja, criptografia) - a conversão de mensagens de uma forma inteligível para uma forma incompreensível e novamente, tornando-as ilegíveis por interceptadores ou bisbilhoteiros sem conhecimento secreto (ou seja, a chave necessária para descriptografia dessa mensagem). A criptografia foi projetada para manter as conversas de espiões, líderes militares e diplomatas em sigilo. Nas últimas décadas, a disciplina cresceu para incorporar técnicas como verificação de integridade de mensagens, autenticação de identidade de remetente/receptor, assinaturas digitais, provas interativas e computação segura, entre outras coisas.
Os dois tipos de cifras clássicas mais comuns são as cifras de transposição, que sistematicamente substituem letras ou grupos de letras por outras letras ou grupos de letras (por exemplo, 'hello world' se torna 'ehlol owrdl' em um esquema de rearranjo trivialmente simples), e cifras de substituição, que sistematicamente substituem letras ou grupos de letras por outras letras ou grupos de letras (p. cada letra no texto simples foi substituída por uma letra em um certo número de posições abaixo do alfabeto. De acordo com Suetônio, Júlio César a usava com um turno de três homens para se comunicar com seus generais. Uma cifra hebraica antiga, Atbash, é um exemplo. O uso mais antigo conhecido de criptografia é um texto cifrado esculpido em pedra no Egito (cerca de 1900 aC), no entanto, é possível que isso tenha sido feito para o prazer de espectadores alfabetizados, em vez de um para ocultar informações.
Relata-se que as criptas eram conhecidas dos gregos clássicos (por exemplo, a cifra de transposição do scytale alegava ter sido usada pelos militares espartanos). A esteganografia (a prática de ocultar até mesmo a presença de uma comunicação para mantê-la privada) também foi inventada nos tempos antigos. Uma frase tatuada na cabeça raspada de um escravo e escondida sob o cabelo crescido, de acordo com Heródoto. O uso de tinta invisível, micropontos e marcas d'água digitais para ocultar informações são instâncias mais atuais de esteganografia.
Kautiliyam e Mulavediya são dois tipos de cifras mencionadas no Kamasutra de Vtsyyana de 2000 anos da Índia. As substituições de letras cifradas no Kautiliyam são baseadas em relações fonéticas, como vogais se tornando consoantes. O alfabeto cifrado no Mulavediya é composto por letras correspondentes e empregando letras recíprocas.
De acordo com o estudioso muçulmano Ibn al-Nadim, a Pérsia Sassânida tinha dois scripts secretos: o h-dabrya (literalmente “roteiro do rei”), que era usado para correspondência oficial, e o rz-saharya, que era usado para trocar mensagens secretas com outros países.
Em seu livro The Codebreakers, David Kahn escreve que a criptologia contemporânea começou com os árabes, que foram os primeiros a documentar cuidadosamente os procedimentos criptoanalíticos. O Livro de Mensagens Criptográficas foi escrito por Al-Khalil (717-786), e contém o primeiro uso de permutações e combinações para listar todas as palavras árabes concebíveis com e sem vogais.
Os textos cifrados gerados por uma cifra clássica (assim como algumas cifras modernas) revelam informações estatísticas sobre o texto simples, que podem ser utilizadas para quebrar a cifra. Quase todas essas cifras poderiam ser quebradas por um atacante inteligente após a descoberta da análise de frequência, possivelmente pelo matemático e polímata árabe Al-Kindi (também conhecido como Alkindus) no século IX. As cifras clássicas ainda são populares hoje, embora em grande parte como quebra-cabeças (ver criptograma). Risalah fi Istikhraj al-Mu'amma (Manuscrito para a Decifração de Mensagens Criptográficas) foi escrito por Al-Kindi e documentou o primeiro uso conhecido de técnicas de criptoanálise de análise de frequência.
Algumas abordagens de criptografia de histórico estendido, como a cifra homofônica, que tendem a achatar a distribuição de frequência, podem não se beneficiar das frequências de letras do idioma. Frequências de grupos de letras de idioma (ou n-gram) podem dar um ataque para essas cifras.
Até a descoberta da cifra polialfabética, mais notavelmente por Leon Battista Alberti por volta de 1467, praticamente todas as cifras eram acessíveis à criptoanálise usando a abordagem de análise de frequência, embora haja algumas evidências de que ela já era conhecida por Al-Kindi. Alberti teve a ideia de usar cifras separadas (ou alfabetos de substituição) para diferentes partes de uma comunicação (talvez para cada letra sucessiva de texto simples no limite). Ele também criou o que se acredita ser o primeiro dispositivo de criptografia automática, uma roda que executava uma parte de seu projeto. A criptografia na cifra de Vigenère, uma cifra polialfabética, é controlada por uma palavra-chave que governa a substituição de letras com base em qual letra da palavra-chave é utilizada. Charles Babbage demonstrou que a cifra de Vigenère era vulnerável à análise de Kasiski em meados do século XIX, mas Friedrich Kasiski publicou suas descobertas dez anos depois.
Apesar do fato de que a análise de frequência é uma técnica poderosa e ampla contra muitas cifras, a criptografia permaneceu eficaz na prática porque muitos aspirantes a criptoanalistas desconhecem a técnica. Quebrar uma mensagem sem utilizar a análise de frequência exigia o conhecimento da cifra empregada e possivelmente da chave envolvida, tornando a espionagem, suborno, roubo, deserção e outras táticas criptoanaliticamente desinformadas mais atraentes. O segredo do algoritmo de uma cifra foi finalmente reconhecido no século 19 como uma garantia razoável nem viável de segurança da mensagem; de fato, qualquer esquema criptográfico apropriado (incluindo cifras) deve permanecer seguro mesmo que o oponente entenda completamente o próprio algoritmo de cifra. A segurança da chave deve ser suficiente para que uma boa cifra mantenha a confidencialidade diante de um ataque. Auguste Kerckhoffs declarou este princípio fundamental pela primeira vez em 1883, e é conhecido como Princípio de Kerckhoffs; alternativamente, e de forma mais direta, Claude Shannon, o inventor da teoria da informação e dos fundamentos da criptografia teórica, reafirmou-a como a Máxima de Shannon — "o inimigo conhece o sistema".
Para ajudar com as cifras, muitos dispositivos físicos e assistência foram utilizados. O scytale da Grécia antiga, uma vara supostamente empregada pelos espartanos como ferramenta de cifra de transposição, pode ter sido uma das primeiras. Outros auxílios foram inventados na época medieval, como a grade de cifras, que também era usada para esteganografia. Com o desenvolvimento de cifras polialfabéticas, auxílios mais sofisticados, como o disco de cifra de Alberti, o esquema de tabula recta de Johannes Trithemius e a cifra de roda de Thomas Jefferson tornaram-se disponíveis (não conhecidos publicamente e reinventados independentemente por Bazeries por volta de 1900). Muitos sistemas mecânicos de criptografia/descriptografia foram concebidos e patenteados no início do século XX, incluindo máquinas de rotor, que foram notoriamente empregadas pelo governo e militares alemães desde o final da década de 1920 até a Segunda Guerra Mundial. Após a Primeira Guerra Mundial, as cifras implementadas por instâncias de alta qualidade desses projetos de máquina resultaram em um aumento significativo na dificuldade criptoanalítica.
A criptografia estava preocupada principalmente com os padrões linguísticos e lexicográficos anteriores ao início do século XX. Desde então, o foco evoluiu e a criptografia agora inclui aspectos da teoria da informação, complexidade computacional, estatística, combinatória, álgebra abstrata, teoria dos números e matemática finita em geral. A criptografia é um tipo de engenharia, mas é única porque lida com resistência ativa, inteligente e hostil, enquanto outros tipos de engenharia (como engenharia civil ou química) apenas lidam com forças naturais neutras. A ligação entre as dificuldades de criptografia e a física quântica também está sendo investigada.
O desenvolvimento de computadores digitais e eletrônicos auxiliou a criptoanálise, permitindo a criação de cifras consideravelmente mais sofisticadas. Além disso, diferentemente das cifras tradicionais, que criptografavam exclusivamente textos em linguagem escrita, os computadores permitiam a criptografia de qualquer tipo de dado que pudesse ser representado em qualquer formato binário; isso era novo e crucial. Tanto no projeto de cifras quanto na criptoanálise, os computadores suplantaram a criptografia de linguagem. Ao contrário dos métodos clássicos e mecânicos, que manipulam principalmente caracteres tradicionais (ou seja, letras e numerais) diretamente, muitas cifras de computador operam em sequências de bits binários (ocasionalmente em grupos ou blocos). Os computadores, por outro lado, ajudaram a criptoanálise, que compensou parcialmente o aumento da complexidade da cifra. Apesar disso, boas cifras modernas permaneceram à frente da criptoanálise; muitas vezes o uso de uma boa cifra é muito eficiente (ou seja, rápido e requer poucos recursos, como memória ou capacidade de CPU), enquanto quebrá-la requer um esforço muitas ordens de magnitude maior e muito maior do que o necessário para qualquer cifra clássica, efetivamente tornando a criptoanálise impossível.
A criptografia moderna faz sua estreia.
A criptoanálise dos novos dispositivos mecânicos provou ser desafiadora e demorada. Durante a Segunda Guerra Mundial, as atividades criptoanalíticas em Bletchley Park, no Reino Unido, promoveram a invenção de métodos mais eficientes para realizar tarefas repetitivas. O Colossus, o primeiro computador totalmente eletrônico, digital e programável do mundo, foi desenvolvido para auxiliar na decodificação de cifras criadas pela máquina Lorenz SZ40/42 do Exército Alemão.
A criptografia é um campo relativamente novo de pesquisa acadêmica aberta, tendo começado apenas em meados da década de 1970. Os funcionários da IBM criaram o algoritmo que se tornou o Padrão de Criptografia de Dados Federal (ou seja, dos EUA); Whitfield Diffie e Martin Hellman publicaram seu algoritmo de concordância chave; e a coluna Scientific American de Martin Gardner publicou o algoritmo RSA. Desde então, a criptografia cresceu em popularidade como técnica para comunicações, redes de computadores e segurança de computadores em geral.
Existem laços profundos com a matemática abstrata, uma vez que várias abordagens modernas de criptografia só podem manter suas chaves secretas se certos problemas matemáticos forem intratáveis, como fatoração de inteiros ou problemas de logaritmo discreto. Existem apenas alguns sistemas criptográficos que demonstraram ser 100% seguros. Claude Shannon provou que o one-time pad é um deles. Existem alguns algoritmos-chave que se mostraram seguros sob certas condições. A incapacidade de fatorar números inteiros extremamente grandes, por exemplo, é a base para acreditar que o RSA e outros sistemas são seguros, mas a prova de inquebrável é inatingível porque o problema matemático subjacente permanece sem solução. Na prática, estes são amplamente utilizados, e os observadores mais competentes acreditam que são inquebráveis na prática. Existem sistemas semelhantes ao RSA, como o desenvolvido por Michael O. Rabin, que são comprovadamente seguros se fatorar n = pq for impossível; no entanto, eles são praticamente inúteis. A questão do logaritmo discreto é a base para acreditar que alguns outros sistemas criptográficos são seguros, e existem sistemas semelhantes, menos práticos, que são comprovadamente seguros em termos de solubilidade ou insolvência do problema do logaritmo discreto.
Algoritmos criptográficos e projetistas de sistemas devem considerar possíveis avanços futuros ao trabalhar em suas ideias, além de conhecer a história criptográfica. Por exemplo, à medida que o poder de processamento do computador melhorou, a amplitude dos ataques de força bruta cresceu, portanto, os comprimentos de chave necessários também aumentaram. Alguns projetistas de sistemas criptográficos que exploram a criptografia pós-quântica já estão considerando as possíveis consequências da computação quântica; a anunciada iminência de implementações modestas dessas máquinas pode tornar a necessidade de cautela preventiva mais do que apenas especulativa.
Criptografia clássica nos dias modernos
A criptografia simétrica (ou de chave privada) é um tipo de criptografia em que o emissor e o receptor usam a mesma chave (ou, menos comumente, em que suas chaves são diferentes, mas relacionadas de maneira facilmente computável e mantidas em segredo, de forma privada). ). Até junho de 1976, esse era o único tipo de criptografia conhecido publicamente.
As cifras de bloco e as cifras de fluxo são usadas para implementar cifras de chave simétricas. Uma cifra de bloco criptografa a entrada em blocos de texto simples em vez de caracteres individuais, como faz uma cifra de fluxo.
O governo dos EUA designou o Data Encryption Standard (DES) e o Advanced Encryption Standard (AES) como padrões de criptografia (embora a certificação do DES tenha sido retirada depois que o AES foi estabelecido). DES (especialmente sua variação de DES triplo ainda aprovada e significativamente mais segura) continua popular apesar de sua depreciação como padrão oficial; ele é usado em uma ampla gama de aplicações, desde criptografia ATM até privacidade de e-mail e acesso remoto seguro. Houve uma série de diferentes cifras de bloco inventadas e lançadas, com vários graus de sucesso. Muitos, incluindo alguns projetados por profissionais qualificados, como o FEAL, foram amplamente quebrados.
As cifras de fluxo, ao contrário das cifras de bloco, geram um fluxo infinitamente longo de material de chave que é acoplado com texto simples bit a bit ou caractere por caractere, semelhante ao one-time pad. O fluxo de saída de uma cifra de fluxo é gerado a partir de um estado interno oculto que muda conforme a cifra funciona. O material da chave secreta é usado primeiro para configurar esse estado interno. A cifra de fluxo RC4 é amplamente utilizada. Ao criar blocos de um fluxo de chaves (em vez de um gerador de números pseudoaleatórios) e usando uma operação XOR para cada bit do texto simples com cada bit do fluxo de chaves, as cifras de bloco podem ser empregadas como cifras de fluxo.
Os códigos de autenticação de mensagem (MACs) são semelhantes às funções de hash criptográfico, com a exceção de que uma chave secreta pode ser usada para validar o valor de hash no recebimento; essa complexidade extra impede um ataque contra algoritmos de resumo simples e, portanto, é considerado valioso. Um terceiro tipo de técnica criptográfica são as funções hash criptográficas. Eles aceitam qualquer mensagem de tamanho como entrada e produzem um hash pequeno e de tamanho fixo que pode ser usado em assinaturas digitais, por exemplo. Um invasor não pode localizar duas mensagens que produzem o mesmo hash usando bons algoritmos de hash. MD4 é uma função de hash amplamente usada, mas agora com defeito; MD5, uma forma aprimorada de MD4, também é amplamente utilizado, mas quebrado na prática. A série Secure Hash Algorithm de algoritmos de hash semelhantes a MD5 foi desenvolvida pela Agência de Segurança Nacional dos EUA: a autoridade de padrões dos EUA decidiu que era “prudente” do ponto de vista da segurança desenvolver um novo padrão para “melhorar significativamente a robustez do algoritmo geral de hash do NIST conjunto de ferramentas." O SHA-1 é amplamente utilizado e mais seguro que o MD5, mas os criptoanalistas identificaram ataques contra ele; a família SHA-2 melhora a SHA-1, mas é vulnerável a confrontos a partir de 2011; e a família SHA-2 melhora o SHA-1, mas é vulnerável a conflitos Como resultado, em 2012, uma competição de design de função de hash deveria ser realizada para escolher um novo padrão nacional dos EUA, conhecido como SHA-3. A competição chegou ao fim em 2 de outubro de 2012, quando o Instituto Nacional de Padrões e Tecnologia (NIST) anunciou Keccak como o novo algoritmo de hash SHA-3. As funções de hash criptográfico, ao contrário das cifras de bloco e fluxo invertíveis, fornecem uma saída com hash que não pode ser usada para recuperar os dados de entrada originais. As funções de hash criptográfico são usadas para verificar a autenticidade dos dados adquiridos de uma fonte não confiável ou para adicionar um grau extra de proteção.
Embora uma mensagem ou conjunto de mensagens possa ter uma chave diferente de outras, os sistemas criptográficos de chave simétrica empregam a mesma chave para criptografia e descriptografia. O gerenciamento de chaves necessário para usar cifras simétricas com segurança é uma grande desvantagem. Cada par individual de partes comunicantes deve, idealmente, compartilhar uma chave diferente, bem como possivelmente um texto cifrado diferente para cada texto cifrado enviado. O número de chaves necessárias cresce em proporção direta ao número de participantes da rede, exigindo técnicas complicadas de gerenciamento de chaves para mantê-las consistentes e secretas.
Whitfield Diffie e Martin Hellman inventaram o conceito de criptografia de chave pública (também conhecida como chave assimétrica) em um trabalho seminal de 1976, no qual duas chaves distintas, mas matematicamente relacionadas – uma chave pública e uma chave privada – são empregadas. Mesmo que estejam inextricavelmente ligados, um sistema de chave pública é construído de tal forma que calcular uma chave (a 'chave privada') da outra (a 'chave pública') é computacionalmente inviável. Em vez disso, ambas as chaves são produzidas em segredo, como um par vinculado. A criptografia de chave pública, de acordo com o historiador David Kahn, é “a nova noção mais revolucionária no campo desde que a substituição polialfabética surgiu no Renascimento”.
A chave pública em um sistema criptográfico de chave pública pode ser transmitida livremente, mas a chave privada acoplada deve ser mantida oculta. A chave pública é usada para criptografia, enquanto a chave privada ou secreta é utilizada para descriptografia em um esquema de criptografia de chave pública. Embora Diffie e Hellman não tenham conseguido criar tal sistema, eles demonstraram que a criptografia de chave pública era concebível ao fornecer o protocolo de troca de chaves Diffie–Hellman, uma solução que permite que duas pessoas concordem secretamente com uma chave de criptografia compartilhada. O formato mais usado para certificados de chave pública é definido pelo padrão X.509.
A publicação de Diffie e Hellman despertou amplo interesse acadêmico no desenvolvimento de um sistema prático de criptografia de chave pública. Ronald Rivest, Adi Shamir e Len Adleman acabaram vencendo o concurso em 1978, e sua resposta ficou conhecida como algoritmo RSA.
Além de serem as primeiras instâncias conhecidas publicamente de algoritmos de chave pública de alta qualidade, os algoritmos Diffie–Hellman e RSA estão entre os mais comumente utilizados. O sistema criptográfico Cramer-Shoup, criptografia ElGamal e várias abordagens de curva elíptica são exemplos de algoritmos de chave assimétrica.
Os criptógrafos do GCHQ previram vários avanços acadêmicos, de acordo com um documento emitido em 1997 pela Sede de Comunicações do Governo (GCHQ), uma organização de inteligência britânica. Segundo a lenda, a criptografia de chave assimétrica foi inventada por James H. Ellis por volta de 1970. Clifford Cocks inventou uma solução em 1973 que era extremamente semelhante ao RSA em termos de design. Malcolm J. Williamson é creditado com a invenção da troca de chaves Diffie-Hellman em 1974.
Os sistemas de assinatura digital também são implementados usando criptografia de chave pública. Uma assinatura digital é semelhante a uma assinatura tradicional, pois é simples para o usuário criar, mas difícil para outros falsificarem. As assinaturas digitais também podem ser permanentemente vinculadas ao conteúdo da comunicação que está sendo assinada; isso significa que eles não podem ser 'movidos' de um documento para outro sem serem detectados. Existem dois algoritmos em esquemas de assinatura digital: um para assinatura, que usa uma chave secreta para processar a mensagem (ou um hash da mensagem, ou ambos) e outro para verificação, que usa a chave pública correspondente à mensagem para validar a autenticidade da assinatura. Dois dos métodos de assinatura digital mais usados são RSA e DSA. Infraestruturas de chave pública e muitos sistemas de segurança de rede (por exemplo, SSL/TLS, muitas VPNs) dependem de assinaturas digitais para funcionar.
A complexidade computacional de problemas “difíceis”, como os decorrentes da teoria dos números, é frequentemente utilizada para desenvolver métodos de chave pública. O problema da fatoração inteira está relacionado à dureza do RSA, enquanto o problema do logaritmo discreto está relacionado ao Diffie–Hellman e ao DSA. A segurança da criptografia de curva elíptica é baseada em problemas teóricos de número de curva elíptica. A maioria dos algoritmos de chave pública inclui operações como multiplicação modular e exponenciação, que são substancialmente mais caras computacionalmente do que as técnicas usadas na maioria das cifras de bloco, especialmente com tamanhos de chave normais, devido à dificuldade dos problemas subjacentes. Como resultado, os criptossistemas de chave pública são frequentemente criptossistemas híbridos, nos quais a mensagem é criptografada com um algoritmo de chave simétrica rápido e de alta qualidade, enquanto a chave simétrica relevante é enviada com a mensagem, mas criptografada com um algoritmo de chave pública. Esquemas de assinatura híbrida, nos quais uma função hash criptográfica é computada e apenas o hash resultante é assinado digitalmente, também são comumente usados.
Funções de hash em criptografia
As funções de hash criptográfico são algoritmos criptográficos que produzem e usam chaves específicas para criptografar dados para criptografia simétrica ou assimétrica, e podem ser consideradas como chaves. Eles aceitam qualquer mensagem de tamanho como entrada e produzem um hash pequeno e de tamanho fixo que pode ser usado em assinaturas digitais, por exemplo. Um invasor não pode localizar duas mensagens que produzem o mesmo hash usando bons algoritmos de hash. MD4 é uma função de hash amplamente usada, mas agora com defeito; MD5, uma forma aprimorada de MD4, também é amplamente utilizado, mas quebrado na prática. A série Secure Hash Algorithm de algoritmos de hash semelhantes a MD5 foi desenvolvida pela Agência de Segurança Nacional dos EUA: a autoridade de padrões dos EUA decidiu que era “prudente” do ponto de vista da segurança desenvolver um novo padrão para “melhorar significativamente a robustez do algoritmo geral de hash do NIST conjunto de ferramentas." O SHA-1 é amplamente utilizado e mais seguro que o MD5, mas os criptoanalistas identificaram ataques contra ele; a família SHA-2 melhora a SHA-1, mas é vulnerável a confrontos a partir de 2011; e a família SHA-2 melhora o SHA-1, mas é vulnerável a conflitos Como resultado, em 2012, uma competição de design de função de hash deveria ser realizada para escolher um novo padrão nacional dos EUA, conhecido como SHA-3. A competição chegou ao fim em 2 de outubro de 2012, quando o Instituto Nacional de Padrões e Tecnologia (NIST) anunciou Keccak como o novo algoritmo de hash SHA-3. As funções de hash criptográfico, ao contrário das cifras de bloco e fluxo invertíveis, fornecem uma saída com hash que não pode ser usada para recuperar os dados de entrada originais. As funções de hash criptográfico são usadas para verificar a autenticidade dos dados adquiridos de uma fonte não confiável ou para adicionar um grau extra de proteção.
Primitivas criptográficas e sistemas criptográficos
Muito do trabalho teórico da criptografia se concentra em primitivos criptográficos – algoritmos com propriedades criptográficas básicas – e como eles se relacionam com outros desafios criptográficos. Essas primitivas básicas são então usadas para criar ferramentas criptográficas mais complexas. Essas primitivas fornecem qualidades fundamentais que são utilizadas para criar ferramentas mais complexas conhecidas como sistemas criptográficos ou protocolos criptográficos que garantem uma ou mais propriedades de segurança de alto nível. A fronteira entre primitivas criptográficas e sistemas criptográficos, por outro lado, é arbitrária; o algoritmo RSA, por exemplo, às vezes é considerado um sistema criptográfico e às vezes um primitivo. Funções pseudo-aleatórias, funções unidirecionais e outras primitivas criptográficas são exemplos comuns.
Um sistema criptográfico, ou criptosistema, é criado pela combinação de uma ou mais primitivas criptográficas para criar um algoritmo mais complicado. Criptosistemas (por exemplo, criptografia El-Gamal) destinam-se a fornecer funcionalidades específicas (por exemplo, criptografia de chave pública) enquanto garantem certas qualidades de segurança (por exemplo, segurança CPA de ataque de texto simples escolhido por modelo de oráculo aleatório). Para suportar as qualidades de segurança do sistema, os sistemas criptográficos utilizam as propriedades das primitivas criptográficas subjacentes. Um criptossistema sofisticado pode ser gerado a partir de uma combinação de vários criptossistemas mais rudimentares, pois a distinção entre primitivos e criptossistemas é um tanto arbitrária. Em muitas circunstâncias, a estrutura do criptosistema compreende a comunicação entre duas ou mais partes no espaço (por exemplo, entre o remetente e o destinatário de uma mensagem segura) ou ao longo do tempo (por exemplo, entre o remetente e o destinatário de uma mensagem segura). (por exemplo, dados de backup protegidos por criptografia).
Para se familiarizar em detalhes com o currículo de certificação, você pode expandir e analisar a tabela abaixo.
O EITC/IS/CCF Classical Cryptography Fundamentals Certification Curriculum faz referência a materiais didáticos de acesso aberto em formato de vídeo. O processo de aprendizagem é dividido em uma estrutura passo a passo (programas -> aulas -> tópicos) que cobre partes curriculares relevantes. Consultoria ilimitada com especialistas de domínio também são fornecidos.
Para obter detalhes sobre o procedimento de Certificação, verifique Como funciona.
Principais notas de aula
Entendendo a Criptografia por Christof Paar e Jan Pelzl, Curso Online na forma de Slides PDF
https://www.crypto-textbook.com/slides.php
Entendendo a Criptografia por Christof Paar e Jan Pelzl, Curso Online na forma de Vídeos
https://www.crypto-textbook.com/movies.php
Referência do livro de criptografia clássica principal
Entendendo a Criptografia por Christof Paar e Jan Pelzl
https://www.crypto-textbook.com/index.php
Referência adicional do livro de criptografia clássica aplicada
Handbook of Applied Cryptography por A. Menezes, P. van Oorschot e S. Vanstone:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
Baixe os materiais preparatórios completos de autoaprendizagem off-line para o programa EITC/IS/CCF Classical Cryptography Fundamentals em um arquivo PDF
Materiais preparatórios EITC/IS/CCF – versão padrão
Materiais preparatórios do EITC/IS/CCF – versão estendida com perguntas de revisão