Pular para o conteúdo
Skillpedia
Diversos35 mil · #5977

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-zero-knowledge-proof-for-authentication/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-zero-knowledge-proof-for-authentication/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-authentication

Ou 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.md
Conteú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

  1. Configuração: Gerador público g, primo p, q (ordem de g)
  2. Registro: Provador calcula y = g^x mod p (chave pública a partir do segredo x)
  3. Compromisso: Provador envia t = g^r mod p (r aleatório)
  4. Desafio: Verificador envia c aleatório
  5. Resposta: Provador envia s = r + c*x mod q
  6. 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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5977
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas