Cipher - Cipher


Da Wikipédia, a enciclopédia livre
Edward Larsson 's cifra runa semelhante a encontrada na Kensington Runestone . Também inclui runically alheios blackletter estilo de escrita e cifra chiqueiro .

Em criptografia , uma cifra (ou cifra ) é um algoritmo para efectuar encriptação ou desencriptação série -a de passos bem definidos, que podem ser seguidos como um procedimento. Uma alternativa, termo menos comum é encipherment . Para cifrar ou codificar é para converter as informações em texto cifrado ou código. Na linguagem comum, "cifra" é sinônimo de " código ", como ambos são um conjunto de passos que criptografar uma mensagem; No entanto, os conceitos são distintos em criptografia, especialmente criptografia clássica .

Códigos geralmente substituir diferentes cadeias de comprimento de caracteres na saída, enquanto cifras geralmente substituir o mesmo número de caracteres que são introduzidos. Existem excepções e alguns sistemas de cifra pode utilizar ligeiramente mais, ou menos, quando caracteres de saída versus o número que foram dados como entrada.

Códigos operado pela substituição de acordo com um grande livro de códigos que ligava uma seqüência aleatória de caracteres ou números para uma palavra ou frase. Por exemplo, "UQJHSE" poderia ser o código para "Avançar para as seguintes coordenadas." Quando se utiliza uma cifra a informação original é conhecido como texto simples , e a forma encriptada como texto cifrado . A mensagem de texto cifrado contém todas as informações da mensagem de texto simples, mas não é em um formato legível por um humano ou computador sem o mecanismo apropriado para decifrá-lo.

O funcionamento de uma cifra geralmente depende de um pedaço de informação auxiliar, chamada de chave (ou, no tradicional NSA linguagem, um cryptovariable ). O procedimento cifrar é variado dependendo da chave, o que altera o funcionamento detalhado do algoritmo. A chave deve ser selecionado antes de usar uma cifra para criptografar uma mensagem. Sem o conhecimento da chave, que deve ser extremamente difícil, se não impossível, para descriptografar o texto cifrado resultante em texto simples legível.

A maioria das cifras modernas podem ser classificados de diversas maneiras

  • Ao se trabalhar em blocos de símbolos geralmente de um tamanho fixo ( cifras de bloco ), ou em um fluxo contínuo de símbolos ( cifras de fluxo ).
  • Por se a mesma chave é utilizada tanto para a codificação e descodificação ( algoritmos de chave simétrica ), ou se uma chave diferente é usado para cada ( algoritmos de chave assimétrica ). Se o algoritmo é simétrica, a chave deve ser conhecida para o destinatário e do remetente e para ninguém mais. Se o algoritmo é um passo assimétrico, a chave de encriptação é diferente, mas intimamente relacionado com, a chave de descodificação. Se uma chave não pode ser deduzida a partir do outro, o algoritmo de chave assimétrica tem a propriedade de chave pública / privada e uma das chaves podem ser tornados públicos, sem perda de confidencialidade.

Etimologia

A palavra "cifra" (minoria ortografia "cifra") nos tempos antigos significava "zero" e teve a mesma origem: Francês Médio como cifre e latim Medieval como cifra, do árabe صفر sifr = zero (veja Zero-Etimologia ). "Cipher" foi usado mais tarde para qualquer dígito decimal, mesmo qualquer número. Há muitas teorias sobre como a palavra "cifra" pode ter chegado a significar "codificação". Na verdade, a mais antiga fonte de palavra "Cypher" é o hebraico antigo; existem mais de 100 versículos da Bíblia hebraica - Torah usando palavra "Cepher": meios (livro ou contar histórias), e em alguns deles a palavra "Cipher" significa literalmente (Contagem) - (descrição numérica) - Exemplo , Livro 2 Samuel 24:10, Isaías 33:18 e Jeremias 52:25.

  • Encoding frequentemente envolvidos números.
  • O sistema de numeração romana foi muito complicado porque não havia o conceito de zero (ou espaço vazio). O conceito de zero (que também foi chamado de "cifra"), que agora é do conhecimento comum, era estranho para a Europa medieval, tão confuso e ambíguo para os europeus comuns que nos argumentos das pessoas diria "falar claramente e não tão improvável como uma cifra ". Cipher passou a significar ocultação de mensagens claras ou criptografia.
    • Os franceses formaram a palavra " chiffre " e adotou a palavra italiana " nula ".
    • O Inglês usado "zero" para "0" e "cifra" da palavra "cifragem" como um meio de computação.
    • Os alemães usaram as palavras "Ziffer" (dois dígitos) e "Chiffre".
    • Os holandeses ainda usam a palavra "cijfer" para se referir a um dígito numérico.
    • O eslovacos, da mesma forma, também usam a palavra "cifra" para se referir a um dígito numérico.
    • Os sérvios usam a palavra "cifra", que refere-se a um dígito, ou em alguns casos, qualquer número. Além de "cifra", eles usam a palavra "broj" para um número.
    • Os italianos e os espanhóis também usam a palavra "cifra" para se referir a um número.
    • Os suecos utilizar a palavra "siffra", que se refere a um dígito e "Nummer" para se referir a uma combinação de "siffror".

Ibrahim Al-Kadi concluiu que a palavra árabe sifr , para o dígito zero, desenvolveu-se o termo técnico Europeia para a criptografia.

Como o decimal zero e seus novos matemática espalhou a partir do mundo árabe para a Europa na Idade Média , palavras derivadas de sifr e zephyrus veio referir cálculo, bem como ao conhecimento privilegiado e códigos secretos. De acordo com Ifrah "no século XIII Paris, um 'homem de Belial' foi chamado de '... cifre en algorisme' , ou seja, um 'nada aritmética'." Cipher foi a pronúncia Europeu de sifr, e cifra passou a significar uma mensagem ou comunicação não é facilmente compreendido.

Versus códigos

No uso não técnico, a "(secreto) de código " normalmente significa uma "cifra". Dentro de discussões técnicas, no entanto, as palavras "código" e "cifra" referem-se a dois conceitos diferentes. Códigos de trabalhar no nível de significado, isto é, palavras ou frases são convertidos em outra coisa e isso chunking geralmente encurta a mensagem.

Um exemplo disso é o Código Telegraph comercial que foi utilizada para encurtar mensagens telegráficas longos que resultou de celebrar contratos comerciais usando trocas de telegramas .

Outro exemplo é dado por cifras palavra inteira, que permitem ao usuário para substituir uma palavra inteira com um símbolo ou caráter, muito parecido com o modo japonês utilizam caracteres kanji (japonês) para complementar a sua língua. ex "A ligeira raposa marrom ataca o cão preguiçoso" se torna "A rápida marrom 狐 salta 过 o preguiçoso 狗".

Cifras, por outro lado, trabalhar em um nível inferior: o nível de letras individuais, pequenos grupos de letras, ou, em sistemas modernos, bits individuais e blocos de bits. Alguns sistemas utilizados ambos os códigos e cifras em um sistema, utilizando superencipherment para aumentar a segurança. Em alguns casos, os códigos de termos e cifras também são usados como sinônimos à substituição e transposição.

Historicamente, a criptografia foi dividida em uma dicotomia de códigos e cifras; e codificação teve sua própria terminologia, análoga à de cifras: " codificação , codetext , decodificação " e assim por diante.

No entanto, códigos tem uma variedade de desvantagens, incluindo a susceptibilidade a análise criptográfica e a dificuldade de administrar um incómodo da tabela de codificação . Devido a isso, os códigos caíram em desuso na criptografia moderna, e as cifras são a técnica dominante.

tipos

Há uma variedade de diferentes tipos de criptografia. Algoritmos usados no início da história da criptografia são substancialmente diferentes dos métodos modernos, e cifras modernas podem ser classificados de acordo com como eles funcionam e se eles usam uma ou duas teclas.

Histórico

Caneta e papel histórico cifras utilizados no passado são conhecidos como cifras clássicas . Eles incluem simples cifras de substituição (tais como Rot 13 ) e cifras de transposição (tal como um Cerca Cifra Rail ). Por exemplo, "bom cão" pode ser criptografada como "PLLX XLP", onde "L" substitutos de "O", "P" para "G", e "X" para "D" na mensagem. Transposição das letras "bom cão" pode resultar em "DGOGDOO". Estas cifras simples e exemplos são fáceis de quebrar, mesmo sem pares de texto simples-texto cifrado.

Simples cifras foram substituídos por substituição polialfabética cifras (como o Vigenère ) que mudaram o alfabeto substituição para cada letra. Por exemplo, "bom cão" pode ser criptografada como "PLSX TWF", onde "L", "S", e substituto de "W" para "S". Mesmo com uma pequena quantidade de texto simples conhecido ou estimado, cifras de substituição polialfabética simples e carta cifras de transposição projetado para criptografia de caneta e papel são fáceis de quebrar. É possível criar uma caneta e papel cifra segura, baseada em um one-time pad , porém, mas as desvantagens habituais de almofadas de uma só vez se aplicam.

Durante o início do século XX, máquinas de eletro-mecânicos foram inventados para fazer criptografia e descriptografia usando transposição, substituição polialfabética, e uma espécie de substituição "aditivo". Em máquinas de rotor , vários discos de rotor fornecida substituição polialfabética, enquanto as placas de encaixe fornecida outra substituição. Chaves foram facilmente alterado mudando os discos de rotor e os fios no quadro de tomadas. Embora estes métodos de encriptação eram mais complexos do que os sistemas anteriores e as máquinas requeridas para criptografar e descriptografar, outras máquinas tais como a britânica Bombe foram inventados para quebrar estes métodos de encriptação.

Moderno

modernos métodos de encriptação pode ser dividido por dois critérios: por tipo de chave usado, e por tipo de dados de entrada.

Por tipo de cifras usadas principais são divididas em:

Em um algoritmo de chave simétrica (por exemplo, DES e AES ), o emissor eo receptor deve ter uma chave compartilhada configurado com antecedência e mantidos em segredo de todas as outras partes; o remetente usa essa chave para a encriptação, e o receptor usa a mesma chave para descriptografia. O Feistel cifra utiliza uma combinação de técnicas de substituição e de transposição. A maioria dos algoritmos de blocos de cifras são baseadas nesta estrutura. Em um algoritmo de chave assimétrica (por exemplo, RSA ), existem duas chaves separadas: uma chave pública é publicada e permite que qualquer remetente para executar a criptografia, enquanto uma chave privada é mantida em segredo pelo receptor e permite somente a ele para executar descriptografia correta.

Codificações podem ser distinguidos em dois tipos pelo tipo de dados de entrada:

tamanho da chave e da vulnerabilidade

Em um ataque de matemática pura, (ou seja, sem qualquer outra informação para ajudar a quebrar uma cifra) dois fatores acima de tudo contagem:

  • Poder computacional disponível, ou seja, o poder de computação que pode ser exercida sobre o problema. É importante notar que a média de desempenho / capacidade de um único computador não é o único fator a considerar. Um adversário pode usar vários computadores de uma só vez, por exemplo, para aumentar a velocidade de busca exaustiva para uma chave (ou seja, "força bruta" ataque) substancialmente.
  • Tamanho da chave , ou seja, o tamanho da chave usada para criptografar uma mensagem. À medida que aumenta chave de tamanho, o mesmo acontece com a complexidade da busca exaustiva ao ponto em que se torna impraticável para quebrar a criptografia diretamente.

Desde o efeito desejado é a dificuldade computacional, em teoria, seria de escolher um algoritmo e desejado nível de dificuldade, assim, decidir o comprimento da chave em conformidade.

Um exemplo deste processo pode ser encontrada em Comprimento da chave que utiliza vários relatórios que sugerem que um código simétrico com 128 bits de , uma cifra assimétrica com 3072 teclas de bit, e uma cifra curva elíptica com 512 bits, todos têm dificuldade semelhante ao presente.

Claude Shannon provou, usando considerações da teoria da informação, que qualquer cifra teoricamente inquebrável deve ter chaves que são pelo menos tão longo como o texto simples, e usado apenas uma vez: one-time pad .

Veja também

Notas

Referências

links externos