728 Shares 953 views

RSA de criptografia. Descrição e implementação do algoritmo RSA

RSA de criptografia é um dos primeiros sistemas de criptografia de chave pública práticos que é amplamente utilizado para a transmissão segura de dados. Sua principal diferença em relação a serviços semelhantes é que a chave de criptografia é aberto e diferente da chave de decodificação, que é mantida em segredo. A tecnologia RSA , essa assimetria é baseado na dificuldade prática de factoring a reprodução de dois grandes números primos (o problema de factoring).

História da criação

RSA O nome é composto pelas iniciais dos sobrenomes Rivest, Shamir e Adleman – os cientistas que primeiro descreveu publicamente esses algoritmos de criptografia em 1977. Klifford Koks, um matemático Inglês, que trabalhava para os serviços de inteligência britânicos, a primeira a desenvolver um sistema equivalente em 1973, mas não foi desclassificado até 1997

user RSA cria e publica a chave pública baseada em dois grandes números primos juntamente com o valor auxiliar. Os números primos deve ser mantido em segredo. Qualquer pessoa pode usar a chave pública para criptografar uma mensagem, mas se for grande o suficiente, então só alguém com conhecimento de números primos pode decodificar a mensagem. RSA divulgação criptografia é conhecido como o problema principal hoje é uma discussão aberta sobre como um mecanismo confiável.

algoritmo RSA é relativamente lento, razão pela qual não é tão amplamente usado para diretamente criptografar o usuário. Na maioria dos casos, este método é usado para transmissão na chave compartilhada criptografada para uma chave de criptografia simétrica, que por sua vez pode executar operações de criptografia e descriptografia em massa a uma velocidade muito maior.

Quando havia um sistema de criptografia na sua forma actual?

A idéia de chave criptográfica assimétrica atribuída a Diffie e Hellman, que publicou o conceito em 1976, a introdução de assinaturas digitais, e tentar aplicar a teoria dos números. Sua formulação utiliza uma chave secreta compartilhada gerada a partir de um certo número de exponenciação módulo um número primo. No entanto, eles deixou em aberto a questão da realização desta função, uma vez que os princípios de factoring não foi bem compreendida na época.

Rivest, Adi Shamir e Adleman do MIT fizeram várias tentativas ao longo dos anos para criar uma função one-way que é difícil de descodificar. Rivest e Shamir (como cientistas da computação) propuseram muitas funções potenciais, enquanto Adleman (como a matemática) para procurar "pontos fracos" do algoritmo. Eles usaram uma série de abordagens e, eventualmente, desenvolver um sistema final, agora conhecido como RSA em abril de 1977.

assinatura eletrônica ea chave pública

assinatura digital ou assinatura eletrônica, é uma parte integrante dos tipos de documentos eletrônicos. Ele é formado numa certos alterações de dados criptográficos. Com este atributo possível verificar a integridade do documento, a sua confidencialidade, bem como para determinar quem é o dono. De fato, uma alternativa para a assinatura padrão comum.

Este sistema de criptografia (RSA-criptografadas) oferece a chave pública, ao contrário simétrica. Seu princípio de funcionamento é que as duas chaves diferentes são usadas – fechado (criptografados) e ao ar livre. O primeiro é usado para gerar a assinatura digital e, em seguida, ser capaz de decifrar o texto. Em segundo lugar – para a criptografia real e assinatura eletrônica.

Usando assinaturas para entender melhor a criptografia RSA, um exemplo de que pode ser reduzido como um segredo normal "fechada de olhos curiosos," o documento.

Qual é o algoritmo?

algoritmo RSA consiste em quatro etapas: geração de chaves, distribuição, criptografia e descriptografia. Como já mencionado, RSA de criptografia inclui uma chave pública e uma chave privada. Ao ar livre pode ser conhecido por todos e é usado para criptografar mensagens. Sua essência reside no fato de que as mensagens criptografadas com a chave pública só pode ser decifrada em um determinado período de tempo usando uma chave secreta.

Por razões de segurança, os inteiros a ser escolhido ao acaso e ser idênticos em tamanho, mas diferem em comprimento por alguns números para fazer factoring mais difícil. Mesmo mesmo número pode ser efetivamente encontrado por um teste em sua simplicidade, de modo a criptografia de informações deve necessariamente ser complicado.

A chave pública consiste no módulo e expoente público. Unidade interior e consiste de uma figura privada, que deve ser mantido em segredo.

criptografia RSA de arquivos e fracos

No entanto, há uma série de mecanismos RSA hackers simples. Ao criptografar com valores baixos e pequenas de números de código pode ser facilmente aberto, se o texto cifrado escolha raiz sobre os inteiros.

Desde o RSA de criptografia é um algoritmo determinista (ou seja, não tem nenhum componente aleatório), um atacante pode lançar com sucesso o ataque aberto texto selecionado contra o sistema de criptografia, criptografando plaintexts prováveis sob a chave pública e verifica se eles são iguais texto cifrado. Semanticamente sistema de criptografia seguro é chamado no caso em que um atacante não pode distinguir entre os dois criptografia do outro, mesmo que ele conhece os textos relevantes na forma expandida. Tal como descrito acima, RSA outros serviços sem estofo não é semanticamente seguro.

algoritmos adicionais para criptografia e proteção

Para evitar os problemas acima, na implementação prática da RSA são normalmente inseridos em alguma forma de estrutura, de enchimento aleatório antes de criptografia. Isso garante que o conteúdo não se enquadra no intervalo de textos inseguras, e que esta mensagem não pode ser resolvido por sorteio.

Segurança RSA cryptosystem e criptografia baseada em dois problemas matemáticos: o problema da fatoração de números grandes e o problema real RSA. A divulgação completa do texto cifrado e assinatura na RSA é considerado inadmissível no pressuposto de que esses dois problemas não podem ser resolvidos coletivamente.

No entanto, com a capacidade de recuperar fatores primos, um atacante pode calcular o expoente segredo da chave pública e, em seguida, descriptografar texto usando o procedimento padrão. Apesar do fato de que hoje nenhum método existente para fatorar grandes inteiros em um computador clássico não pode ser encontrado, não foi provado que ele não existe.

automação

A ferramenta, chamada Yafu, pode ser usado para otimizar o processo. Automação em YAFU é um recurso avançado que combina algoritmos de fatoração na metodologia intelectual e adaptável que minimiza o tempo para encontrar os fatores de números de entrada arbitrárias. A maioria das implementações de vários segmentos algoritmo permitindo Yafu uso completo de multi- ou vários processadores de núcleos múltiplos (incluindo SNFS, SIQS e ECM). Primeiro de tudo, ele é controlado pela ferramenta de linha de comando. O tempo gasto na procura de fator de criptografia Yafu usando um computador convencional, pode ser reduzida a segundos 103.1746. A ferramenta processa o binário capacidade de 320 bits ou mais. Este é um software muito complexo que exige uma certa quantidade de habilidades técnicas para instalar e configurar. Assim, a RSA-encriptação pode ser vulnerável C.

Hacking tentativas nos últimos tempos

Em 2009, Bendzhamin Mudi usando a chave RSA-512 bit estava trabalhando em decifrar kriptoteksta para 73 dias, usando apenas software bem conhecido (GGNFS) eo desktop média (dual-core Athlon 64 a 1900 MHz). Como mostra a experiência, necessário um pouco menos de 5 GB de disco e cerca de 2,5 gigabytes de memória para o processo de "peneirar".

A partir de 2010, o número maior foi consignado RSA 768 bits de comprimento (232 dígitos decimais, ou RSA-768). Sua divulgação durou dois anos em várias centenas de computadores ao mesmo tempo.

Na prática, as chaves RSA são longos – tipicamente de 1024 a 4096 bits. Alguns especialistas acreditam que as chaves de 1024 bits pode tornar-se não confiável em um futuro próximo ou até mais pode ser quebrada atacantes muito bem financiados. No entanto, alguns argumentam que as chaves de 4096 bits também podem ser divulgadas no futuro próximo.

perspectivas

Portanto, como regra geral, presume-se que RSA é seguro se os números são grandes o suficiente. Se o número base de 300 bits ou mais curtos, e a assinatura digital cifrado pode ser decomposto em poucas horas em um computador pessoal usando o software já disponíveis no domínio público. A chave 512 bits de comprimento, como mostrado, pode ser aberta, já em 1999, com o uso de algumas centenas de computadores. Hoje em dia é possível em poucas semanas usando um hardware disponíveis ao público. Assim, é possível que em buduschembudet facilmente divulgados RSA-criptografadas nos dedos, eo sistema irá tornar-se irremediavelmente ultrapassada.

Oficialmente em 2003, foi posta em causa a segurança das chaves de 1024 bits. Atualmente, recomenda-se ter um comprimento mínimo de 2048 bits.