Pergunta

Suponha que um grupo quer criptografar alguma informação, em seguida, compartilhar a chave de criptografia entre os membros do grupo de uma forma que requer o consenso do grupo para descriptografar as informações. Estou interessado em uma variedade de cenários onde a amplitude de consenso varia de unanimidade para a maioria absoluta. Uma técnica útil pode ser aplicado a chaves simétricas, chaves privadas, ou ambos.

Eu poderia tomar uma rachadura em rolando meu próprio método, como eu tenho certeza que muitos membros lo poderia. Mas, para os fins desta questão, estou interessado única em métodos que têm sido amplamente publicados e têm escrutínio resistiu por cryptanalysts especializados. citações de periódicos são bons, mas a interpretação de fontes acadêmicas são muito úteis também.

Foi útil?

Solução

Eu sempre fui fascinado por esta técnica partilha secreta. Eu vi código de implementá-lo na internet, mas nunca vi aplicações reais. compartilhamento de segredo de Shamir O artigo da Wikipedia links para alguns código real, bem como o artigo Acadêmico .

Outras dicas

O que você descreve soa muito como "divisão secreta" (Seção 12.1. Introdução ao Cyptography. Trappe & Washington 2nd ed.) A idéia básica é que você pode vir até com um polinômio que inclui o seu "segredo" (a chave) como um ponto sobre a linha. Você pode dar a "ações" por escolher outros pontos neste polinomial. Dois pontos definir uma linha de forma f (x) = ax + b, três pontos definem um polinomial da forma f (x) = ax ^ 2 + bx + c, e quatro pontos definir algo da forma f (x) = ax ^ 3 + bx ^ 2 + cx + d, e assim por diante. Você pode escolher um polinômio que inclui o seu segredo como um ponto, e um grau para o modo suficiente polinômio que qualquer n as pessoas possam reconstruí-lo.

Esta é a idéia básica de que é conhecido como o "esquema de limite Shamir."

Veja wikipedia sobre Splitting Segredo e Secret Sharing de Shamir A página da Wikipedia tem alguns links para implementações desta ideia, incluindo código GPL para o Windows e < a href = "http://point-at-infinity.org/ssss/index.html" rel = "nofollow noreferrer"> UNIX .

Esta é fácil de implementar com códigos de correção de erros . Você pode usar uma ferramenta de linha de comando como par2 (que não é adequado exatamente para esse fim específico btw, pois gera blocos de recuperação de tamanho variável). Vamos dizer que você tem eleitores (n + m), e quer um quorum de n votos. Você gerar chaves n privadas K1°, K2, ... Kn, e geram m blocos ECC additionnal P? do mesmo tamanho. Dessa forma, qualquer n blocos suficiente para reconstituir a cifra K1°K2° ... °Kn

Vá aqui para uma discussão sobre a base matemática para segredo partilha e breve discussão sobre o tipo de aplicações práticas que ele tem de Shamir. Role a página para as notas de aula sobre polinômios e Secret Sharing. É provavelmente uma v. Visão geral da área, mas deve ser bastante interessante para você. Matemática Discreta Notas

Lotus Notes fornece uma implementação practcal de 'silo' senhas qual o acesso a alguns recursos (dados / informações / documentos) está bloqueado para um '-id partilhada' - O ID (parte de um sistema PKI certificados da I pensar com base na RSA ) é configurado com 2 ou mais (acho até 16) senhas de usuários individuais. Os conjuntos certificadora / administrador até um regime no qual são necessárias para 'abrir' o ID para uma utilização activa qualquer número de senhas entre os disponíveis ou todas as senhas. Este processo é comumente usado para Org ou ou certificados de bloqueio para baixo a 2 de 5 ou 3 de 5 administradores / Acesso concessão diretor corporativo e assim garantir que o uso de certificado de alto nível / acesso pode ser controlado por equipe ausente de administração sejam evitados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top