Criptografiapós-quântica
Segurança clássica na presença de computadores quânticos
Paulo S.L.M. Barreto, PhD
Resumo
Nesta palestra, serão abordados: o estado da arte na construção de processadores
quânticos; os principais esquemas pós-quânticos propostos com
suas vantagens, limitações e desafios para uma eventual migração;
o estágio atual do processo de padronização (processo PQC do NIST e a futura atualização da suíte B da NSA), com ênfase em cenários potenciais de utilização das principais propostas.
Motivação
A maioria esmagadora dos criptossistemas efetivamente adotados na atualidade baseiam-se em apenas duas hipóteses de segurança computacional: o problema da fatoração inteira (IFP); o problema do logaritmo discreto (DLP).
Não se conhece algoritmo clássico que resolva esses problemas eficientemente (complexidade polinomial).
O algoritmo quântico de Shor [1994] resolve eficiente-mente tanto o IFP quanto o DLP.
( = )
�̂�𝑯=�̂�𝑯
Motivação
O algoritmo de Shor exige computadores quânticos razoavelmente grandes.
[Roetteler-Naehrig-Svore-Lauter 2017] DLP sobre um corpo primo de bits: não mais que qubits; não mais que portas quânticas.
Exemplos: : qubits, bilhões de portas; : qubits, trilhão de portas.
Processadores quânticos atuais?
Motivação
Progresso inicialmente lento, mas acelerando.o 1998: 2 qubits (Oxford;
IBM-Berkeley-Stanford-MIT).o 2000: 5 qubits (TU München),
7 qubits (LANL).o 2006: 12 qubits (IQC-PI-MIT).o 2017: 17 qubits (IBM),
49 qubits (Intel), 50 qubits (IBM).
o 2018: 72 qubits (Google), 128(?) qubits
(Rigetti).o 2019: 53 qubits + “quantum
non-uselessness” (Google).
Soluções?
Criptossistemas quânticos. tecnologia ainda largamente não existente; tende a ser enormemente cara; depende de hipóteses adicionais clássicas; número muito limitado de aplicações de fato; algumas funcionalidades criptográficas parecem
impossíveis de obter num cenário quântico.
Criptossistemas pós-quânticos. tecnologia puramente clássica; hipóteses de segurança aparentemente excedem as
habilidades de um computador quântico.
Classe intrigante de criptossistemas baseados em problemas computacionais pouco comuns: reticulados (lattices); códigos corretores de erros; primitivas simétricas; isogenias supersingulares; sistemas multivariados (quadráticos); famílias menores (e.g. grupos não abelianos, núcleos
permutados, percéptrons permutados, mochilas densas, -SAT...).
Criptografia pós-quântica
PQC: Vantagens
Funcionalidades principais da criptografia convencional, além de características únicas. e.g. encriptação totalmente homomórfica.
Processamento potencialmente eficiente. Simplicidade de implementação e
disponibilidade imediata em tecnologia corrente.
Nem todas as funcionalidades convencionais têm um análogo pós-quântico eficiente. e.g. assinaturas cegas.
Dificuldades operacionais (tamanho de chaves, ocupação de banda, análise detalhada de segurança).
Custo de migração em larga escala.
PQC: Obstáculos
Hipóteses de segurança
Via de regra (mas nem sempre), a segurança das propostas pós-quânticas relaciona-se com algum problema computacional conjecturado NP-difícil.
Significado duvidoso ou vazio: problemas NP-difíceis só garantem dificuldade no pior caso, mas criptossistemas exigem dificuldade no caso médio (chaves arbitrárias).
Não se sabe com certeza qual é a dificuldade desses problemas num computador quântico…
… mas também não se sabe com certeza qual é a dificuldade do IFP, do DLP e outros problemas num computador clássico. em última análise, não se sabe com certeza se P ≠ NP.
Contra-exemplo
Grupos não abelianos (e.g. grupos de tranças). Problemas computacionais subjacentes tendem a
ser solúveis em complexidade polinomial mesmo em computadores clássicos.
Exemplo: WalnutDSA™. introduzido, quebrado, modificado, quebrado,
modificado novamente… vulnerabilidades estruturais, não contornáveis por ajuste
de parâmetros; melhor ataque conhecido capaz de quebrar a versão de
256 bits em menos de 1 minuto.
Códigos
Uma das famílias mais tradicionais. decodificação de Prange [1962]; encriptação McEliece [1978]; progresso em criptanálise (decodificação de síndromes):
complexidade assintótica inalterada (exponencial).
Dificuldades contornáveis(?) aplicações principais: acordo de chaves e encriptação
(assinaturas possíveis, mas difíceis de obter e ineficientes comparadas às alternativas);
impacto substancial em ocupação de banda; evidência de resistência quântica disponível.
Assinaturas simétricas
Popularmente baseadas em hash em árvore (construção Merkle-Lamport ou Merkle-Winternitz).
Esquemas recentes baseados em outras primitivas simétricas e provas de conhecimento zero (e.g. Picnic).
Contras apenas assinaturas (não oferece encriptação, acordo de
chaves, ou funcionalidades mais avançadas). assinaturas grandes, geração de chaves computacionalmente
pesada. Prós:
chaves públicas pequenas; efetivas em certas aplicações dedicadas (e.g. assinatura de
firmware).
Sistemas multivariados
Família recente (mais antiga apenas que isogenies supersingulares).
Aplicações basicamente restritas a assinaturas digitais. quase(?) todas as tentativas de definer esquemas de
encriptação falharam; apenas assinaturas convencionais (vs. assinaturas cegas
e outras); por outro lado, muitos esquemas como UOV são simples
e aparentemente robustos.
Reticulados
Famílias pós-quântica mais flexível(?) quase todas as funcionalidades convencionais; inclui propriedades interessantes como cifração baseada
em identidades, e outras únicas como cifração totalmente homomórfica.
Dificuldades contornáveis(?) amostragem gaussiana de alta qualidade (mitigada em
esquemas recentes); esquemas práticos tendem a estender as hipóteses de
segurança (e.g. reticulados ideais); evidência de resistência quântica disponível; segurança concreta: ainda assunto de pesquisa.
Isogenias supersingulares
Família mais recente: formulação não publicada de Couveignes [1997]; redescoberta por Rostovtsev e Stolbunov [2006]; refinada à forma atual (SIDH) por Jao e De Feo [2011].
Dificuldades contornáveis(?) escrutínio limitado; aplicações limitadas (acordo de chaves; novas variantes
com características mais variadas: CSIDH & similares); elevado custo computacional; menor ocupação de banda entre todas as propostas pós-
quânticas (balanceia a latência de comunicação).
Font
e: W
. Cas
tryck
<ht
tps:/
/ww
w.e
sat.k
uleu
ven.
be/c
osic
/?p=
7404
>
Experiências industriais
Google CECPQ1 (2016): experimentos com NewHope (e investigação preliminar
de Frodo e NTRU Prime); acordo de chaves baseado em reticulados é viável (ou:
não inviável) para adoção prática.
Google CECPQ2 (2018): experimentos com NTRU (variante HRSS-SXY). resultados preliminares positivos (pequenas vantagens
sobre NewHope: segurança CCA2 em vez de apenas CPA, ausência de erros de decriptação, velocidade ligeiramente maior, história mais longa de escrutínio).
Experiências industriais
Cloudflare (2019): acordo de chaves: aplicação arguivelmente mais maciça
de algoritmos criptográficos; NTRU (com parâmetros adequados) mais simples e
robusto que muitas alternativas baseadas em LWE; Estatísticas para o 95° percentil: ocupação de banda
observada como mais crucial para viabilidade prática que tempos de processamento (latência de comunicação supera latência de cálculo);
SIDH/SIKE competitivo por ter as menores chaves dentre (≈200 bytes) todas as propostas pós-quânticas para acordo de chaves (NTRU: ≈700 bytes), a despeito de tempos consideráveis de cálculo.
Experiências industriais
Várias propostas submetidas ao NIST para padronização contam com apoio ou coautoria industrial.
Amazon, Google, Intel, EvolutionQ, Infosec Global, Isara, LinkedIn, Microsoft, NXP Semiconductors , PQSecure, Texas Instruments…
Padronização
Suíte B da NSA foco em algoritmos elípticos (e simétricos); atualização pós-quântica prevista para ≈2024; “[...] we recommend not making a significant
expenditure to [elliptic curve algorithms] at this point but instead to prepare for the upcoming quantum resistant algorithm transition.”
Padronização
Processo PQC do NIST Três funcionalidades (assinaturas digitais,
encriptação assimétrica, acordo de chaves); Cinco níveis de segurança (I, II, V:
equivalentes a AES128, AES192, AES256 para busca exaustiva de chave; II, IV: equivalentes a SHA256, SHA384 para colisões);
Início: novembro de 2017; previsão de encerramento: 2022-2024, sujeita a revisão.
Padronização
Processo PQC do NIST Primeira rodada: 82 propostas recebidas, 69
aceitas como completas, 5 retiradas; Hipóteses de segurança: reticulados (26
propostas), códigos (19 propostas), sistemas multivariados (9 propostas), primitivas simétricas (3 propostas), isogenias (1 proposta), outras (6 propostas);
16 propostas quebradas ou seriamente comprometidas.
Padronização
Processo PQC do NIST Segunda rodada: várias fusões de propostas
similares; Hipóteses de segurança: reticulados (12
propostas), códigos (7 propostas), sistemas multivariados (4 propostas), primitivas simétricas (2 propostas), isogenias (1 proposta);
Progresso mais lento em criptanálise, foco em prós e contras.
Padronização
Fonte:<https://csrc.nist.gov/Projects/post-quantum-cryptography/presentations>
Padronização
Fonte:<https://csrc.nist.gov/Projects/post-quantum-cryptography/presentations>
PERGUNTAS?
APÊNDICE
Assinaturas digitais [SPOILER] Embora seja difícil prever a escolha do NIST para acordo de
chaves e cifração assimétrica, antever parcialmente a escolha de assinaturas digitais é no mínimo plausível.
Constatação: certas aplicações dedicadas beneficiam-se de assinaturas baseadas em hash. exemplo: legitimidade de firmware. motivos: envolvem apenas um número limitado de signatários, um
número limitado de assinaturas, e apenas algoritmos simétricos (eficientes em hardware).
Por isso, assinaturas desse tipo provavelmente constarão da seleção final de algoritmos do NIST.
Prévia: NIST incluirá assinaturas com estado (XMSS e LMS).
Curiosidades e barbaridades
Post-quantum RSA semi-hoax(?); ideia: aumentar tanto os parâmetros que um
ataque quântico se tornaria inviável praticamente;
obstáculo óbvio: igualmente inviável para usuários legítimos (chaves de terabytes, tempos de processamento de semanas).
Curiosidades e barbaridades
WalnutDSA tentativa de salvar investimentos(?); ideia: insistir no uso de grupos de tranças
(braids) extremamente complexas; obstáculo óbvio: evidências de que qualquer
trança complexa o bastante para resistir a ataques exige tempos e espaços inviáveis para usuários legítimos (ou, equivalentemente, que tempos e espaços plausíveis atingem níveis inadmissivelmente baixos de segurança).
Curiosidades e barbaridades
Mersenne-() proposta extremamente recente (aceita para
publicação com escrutínio insuficiente); quebra da proposta original exigiu aumentar as
chaves de bits para bits (quase 600× maiores).