Esta é a parte 2 de “Criptografia: o que muda com a computação quântica“, uma entrevista com Roberto Gallo, CEO da empresa Kryptus e atual presidente da Associação Brasileira das Indústrias de Materiais de Defesa e Segurança (Abimde). Na primeira parte, ele explicou os fundamentos da criptografia, os problemas nos quais ela se baseia e aqueles que o computador quântico já consegue resolver – exigindo portanto atualização da criptografia. Nesta parte, o CEO da Kryptus explica as soluções que a criptografia já tem para resistir à computação quântica.
Se preferir, ouça a entrevista clicando no link do podcast abaixo.
Como os criptólogos respondem a esse desafio?
[quote]Dos algoritmos criptográficos em uso, nem todos são afetados (ou são pouco afetados) pelos algoritmos quânticos como o AES, por exemplo, que é o simétrico. Há vários casos em que se usa só simétricos. Por exemplo aquele password do seu WiFi é simétrico. Isso não vai ser afetado. Serão afetados por exemplo os certificados digitais, que utilizam RSA ou curvas elípticas. São algoritmos baseados em logaritmo discreto e fatoração. Esses serão afetados. Em geral – não é regra – os simétricos mais usados não são afetados pela computação quântica. Mas em geral os assimétricos são afetados.
Mas existem outras famílias de algoritmos já conhecidos, embora não-padronizados, que até onde se sabe não são afetados pelo computador quântico. Exemplos de algoritmos que não são afetados: são aqueles baseados em códigos, que é um tipo diferente de problema. Os algoritmos chamados de Lattice e os algoritmos chamados LWE (de learn with errors). São coisas mais abstratas, mas são algoritmos nos quais não se conhece uma vantagem importante do computador quântico.[/quote]
Por que novos algoritmos ainda não são adotados
[quote]O problema é que demora muito tempo para se fazer a rolagem de um algoritmo. Uma vez padronizado, ele pode ser implementado. Por que não se usa então os pós-quânticos de uma vez? Porque o tamanho de chavesque se precisa é grande demais. Para dispositivos pequenos, às vezes isso é um problema. Dá overhead. Quando falamos das chaves de curvas elípticas, elas têm 32 bytes, 64 bytes, coisa pequena. Mas a chave de um algoritmo de código são quilobytes. Pode não ser um problema para um celular ou para um computador. Mas dependendo do dispositvo, pode ser um problema. Você onera o dispositivo. [/quote]
[quote]Então, não é que o computador quântico começou a quebrar a criptografia. É que alguém teve a ideia de fazer um algoritmo que poderia resolver o problema de fatoração. Em tese, resolver um problema de fatoração. Então, o entendimento do poder do computador quântico também evolui. Há uma notícia dizendo que o computador quântico não quebra o RSA como se pensava. O fato é que tem muito algoritmo para fins em geral, a serem criados para o computador quântico. Entender o poder do computador quântico não é trivial. Ele tem um outro paradigma e isso está no começo. Pode ser que apareçam outros breakthroughs, que levem à vantagem e à quebra de um algoritmo de códigos. Pode ser. É que hoje na computação quântica ainda não existe esse algoritmo.[/quote]
A questão do comprimento da chave é uma questão relevante inclusive para o computador quântico?
[quote]Sim, também. Seria só trocar as chaves? Em tese sim. Mas determinadas coisas que a gente faz o sigilo caduca muito à frente no tempo. Nos caso de documentos de governo por exemplo são décadas. Se você cifra uma coisa hoje, você precisa prever se lá no futuro aquele algoritmo vai continuar seguro . Então não adianta pensar o algoritmo com as ferramentas que podem quebrar ele agora. Precisa é pensar em quanto tempo a informação protegida permanecerá relevante. [/quote]
[quote]O fato de termos o computador quântico não é propriamente relevante. A pergunta é: haverá um viável daqui a dez, daqui vinte anos? Tudo indica que sim, haverá. E aí voltamos à questão do tamanho de chave: existe mais de um tipo de computador quântico. Existe o computador quântico de uso geral, que pode fazer qualquer tipo de coisa. A dificuldade dele é o número de bits que processa simultaneamente. Nos computadores normais falamos de 32 bits, 64 bits e nos quânticos falamos de Qbits. Os computadores são de poucas dezenas de Qbits – 15, 16 Qbits. O que se sabe é que para quebrar criptografia é preciso um número de Qbits do tamanho da chave.[/quote]
[quote]Então, ao se falar de curvas elípticas de 256 bits, precisariamos de um computador de 256 Qbits. Aparentemente é uma coisa que ainda não existe. E o problema de se manter vários Qbits funcionando simultaneamente parece que é muito difícil. Ao mesmo tempo que isso nos dá uma certa tranquilidade, é um problema na física.[/quote]
Há diferentes computadores quânticos
[quote]Existe também um outro tipo de computador, que alguns chamam de quântico e outros não, que é o Computador de Aleação. Ele não consegue fazer qualquer conta. Serve para alguns problemas de otimização. Por exemplo, otimizar processos químicos. Porque para que seja utilizado é preciso haver uma função matemática que ele calcula e vê, por exemplo, o melhor rendimento. Esses computadores chegam a ter 2 mil Qbits. O problema é que não se conhece um algoritmo para computadores de aleação que gerem vantagem na parte de criptografia.
Se alguém descobrir um algoritmo que sirva para cripto, aí já se tem um computador de 2 mil Qbits e aí será um problema. Resumindo: a criptografia se baseia em certas funções que são fáceis num sentido e dificeis no outro. O fácil ou difícil depende do paradigma computacional. Fazer de cabeça é uma coisa. Em computador convencional, outra. Em computador quântico de uso geral, outra. E no computador de aleação, outra ainda. ‘Difícil’ sempre depende do algoritmo que criou. Pode ser até que a criptografia convencional seja quebrada por um avanço em algoritmos, como os problemas convencionais. Só que não se tem a prova matemática ainda. Por outro lado, se vê que os computadores quânticos estão evoluindo em número de Qbits de forma progressiva e portanto deve-se ser precavido e ter uma infraestrutura de troca de algoritmos. Para os algoritmos que a gente chama de pós-quânticos.
Porque eles são pensados para um mundo que já tem computação quântica. Mesmo assim, existem algoritmos perfeitamente viáveis [para suportá-la].[/quote]