implementing-zero-knowledge-proof-for-authentication
Faz seu agente implementar autenticação segura que não revela segredos do usuário ao servidor.
O que ela faz
Essa ferramenta permite que você prove que sabe uma senha ou segredo sem realmente mostrá-la. É como usar uma chave secreta para provar quem você é, sem nunca entregar a chave.
Quando usar
- ✓Ao criar sistemas de login que não usam senhas.
- ✓Quando um servidor precisa confirmar sua identidade sem saber seu segredo.
- ✓Ao construir sistemas de segurança mais avançados.
Exemplo do que pedir para a IA
“Quero fazer login usando prova de conhecimento zero.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você fornece um segredo (como uma senha) que a ferramenta usa para criar uma prova. Essa prova é enviada para o servidor, que a verifica sem nunca ver seu segredo original.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-zero-knowledge-proof-for-authenticationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-zero-knowledge-proof-for-authentication/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Implementando Prova de Conhecimento Zero para Autenticação
Visão Geral
Provas de Conhecimento Zero (ZKPs) permitem que um provador demonstre o conhecimento de um segredo (como uma senha ou chave privada) sem revelar o segredo em si. Esta habilidade implementa o protocolo de identificação de Schnorr e um ZKPP (Prova de Conhecimento Zero de Senha) simplificado usando o problema do logaritmo discreto, permitindo a autenticação onde o servidor nunca aprende a senha do usuário.
Quando Usar
- Ao implantar ou configurar a implementação de prova de conhecimento zero para capacidades de autenticação em seu ambiente
- Ao estabelecer controles de segurança alinhados com requisitos de conformidade
- Ao construir ou melhorar a arquitetura de segurança para este domínio
- Ao conduzir avaliações de segurança que exigem esta implementação
Pré-requisitos
- Familiaridade com conceitos e ferramentas de criptografia
- Acesso a um ambiente de teste ou laboratório para execução segura
- Python 3.8+ com as dependências necessárias instaladas
- Autorização apropriada para quaisquer atividades de teste
Objetivos
- Implementar o protocolo de identificação de Schnorr para autenticação ZKP
- Construir um ZKP não interativo usando a heurística Fiat-Shamir
- Implementar prova de conhecimento zero de senha (ZKPP)
- Demonstrar as propriedades de completude, solidez e conhecimento zero
- Comparar a autenticação ZKP com a verificação tradicional de senhas
Conceitos Chave
Propriedades ZKP
| Propriedade | Descrição |
|---|---|
| Completude | Provador honesto sempre convence o verificador honesto |
| Solidez | Provador desonesto não pode convencer o verificador (exceto probabilidade negligenciável) |
| Conhecimento Zero | Verificador não aprende nada além da veracidade da declaração |
Protocolo de Schnorr
- Configuração: Gerador público g, primo p, q (ordem de g)
- Registro: Provador calcula y = g^x mod p (chave pública a partir do segredo x)
- Compromisso: Provador envia t = g^r mod p (r aleatório)
- Desafio: Verificador envia c aleatório
- Resposta: Provador envia s = r + c*x mod q
- Verificar: Checar g^s == t * y^c mod p
Considerações de Segurança
- Use geradores de números aleatórios criptograficamente seguros
- O desafio deve ser imprevisível (da perspectiva do verificador)
- Para provas não interativas, use Fiat-Shamir com hash resistente a colisões
- ZKP por si só não fornece confidencialidade futura; combine com TLS
Critérios de Validação
- Provador honesto sempre verifica com sucesso (completude)
- Resposta aleatória sem o segredo não verifica (solidez)
- Servidor nunca recebe o valor secreto
- Prova não interativa é verificável offline
- Múltiplas autenticações produzem transcrições diferentes
- Protocolo resiste a ataques de repetição
Perguntas frequentes
O que é uma Prova de Conhecimento Zero?
É uma forma de provar que você sabe algo (como uma senha) sem revelar essa informação para quem está verificando.
Quais são as vantagens?
A principal vantagem é a segurança: seu segredo nunca é exposto, mesmo que o servidor seja invadido.
Preciso de conhecimentos avançados para usar?
A ferramenta simplifica o processo, mas uma compreensão básica de criptografia ajuda a entender como funciona.
Detalhes
Descrição original do autor
Implements the Schnorr identification protocol and a simplified Zero-Knowledge Password Proof (ZKPP) over the discrete logarithm problem, letting a prover authenticate by demonstrating knowledge of a secret without ever revealing it to the server. Use when designing or building password-less or password-secret-free authentication, or when a server must verify a user's credential without learning o
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5977
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC