Parabéns @paulangusbark! Por favor, vocês dois, compartilhem esses contratos! Seria bom padronizar, no longo prazo, esses contratos de verificação da mesma forma que a comunidade usa trechos de contrato OpenZeppelin um tanto padronizados para muitas tarefas padrão. Presumivelmente, a verificação da assinatura PQ será tão padrão quanto uma interface ERC20.



1 Curtir

Parabéns,

É ótimo ter outras implementações (visando um nível de segurança diferente).

Estamos muito interessados ​​nos contratos também (principalmente no que diz respeito às otimizações das principais operações da NTT).

Pode ter passado despercebido, falcon512 e Dilithium estão disponíveis aqui há alguns meses.
A verificação FALCON toma como entrada uma representação NTT pré-computada da chave pública conforme mencionado acima. As chaves FALCON são compactadas em uint256, as chaves de dilithium são armazenadas em um contrato externo.

Os NIST KATS foram aprovados com sucesso, proporcionando confiança na parte central do algoritmo.

Tanto para a versão baseada em keccak256 quanto para versões totalmente compatíveis com nist são fornecidas, juntamente com assinantes (e também um aplicativo de assinante de hardware para Dilithium44). O nível de segurança de 128 bits é escolhido, pois é o alvo comum para Ethereum.

O custo do gás para FALCON512 usando keccak256 é de 2M, 6,6M para Dilithium.

Isso pode ser usado para experimentos a partir de hoje, até que as pré-compilações sejam adotadas.

O EIP-8052 (DRAFT) diverge da proposta anterior por

  • dividindo os cálculos do FALCON em duas partes, permitindo que uma parte mais amigável do zk seja adotada para a parte hash2Point da assinatura, tendo em mente o final do jogo ZK.
  • tome como entrada a representação NTT do PK

Esta separação não é possível para DILITHIUM, então o EIP-8051 segue o padrão.

Fontesethresear

By victor

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *