como funciona a encriptação? – Gary explica

como funciona a encriptação? – Gary explica

você provavelmente usa criptografia, de uma forma ou de outra, todos os dias. Podes não saber que és, mas és. E o meu palpite é que não pensas duas vezes. Tem um serviço de televisão por cabo ou por satélite? Adivinha, algum desse conteúdo será encriptado. Você se conecta a sites usando https://? Isso é mais encriptação. Já criou um .ficheiro zip com uma senha? É para já, que usa encriptação.,

eu poderia Continuar e uma lista de dezenas de outros exemplos de criptografia todos os dias, mas não vou. quanto ao Android, ele também suporta criptografia, não só para a web com https://, mas também para seus arquivos e dados. O Android 6.0 Marshmallow usou criptografia em disco completo, enquanto o Android 7.0 Nougat adicionou a opção para criptografia por arquivo. A idéia é que se o seu telefone deve cair nas mãos de hostis, então seus dados privados são seguros.

então o que é a encriptação? É o processo de tomar dados simples, incluindo texto, e convertê-lo em uma forma ilegível (por humanos ou computadores)., O processo de criptografia é baseado em uma chave, sendo a analogia aqui um bloqueio que precisa de uma chave, e apenas as pessoas com a chave podem desbloquear (descriptografar) os dados e colocá-lo de volta em sua forma original. Isto significa que qualquer um que tenha acesso aos seus dados criptografados não pode lê-lo a menos que tenha a chave.como o personagem Tom Jericho no excelente filme Enigma colocou, ” ele transforma mensagens de texto simples em gobbledygook. Na outra extremidade está outra máquina, que traduz a mensagem de volta ao texto original.”Encryption and decryption!,

tudo começou com César

A arte da escrita secreta, o que poderíamos chamar de criptografia, tem sido em torno de pelo menos 2500 anos, no entanto, o exemplo mais famoso da antiguidade é de que a cifra de substituição usado por Júlio César para enviar mensagens para Cícero., Uma cifra de substituição funciona assim, você começa com o alfabeto em uma linha e, em seguida, adicione uma segunda linha com o alfabeto deslocado ao longo de um bit:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZX Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Se você deseja criptografar a palavra “HELLO”, em seguida, pegue a primeira letra, H, e olhar para a letra abaixo, que lhe dá E. em Seguida, o E dá-B e assim por diante. A forma encriptada de HELLO é EBIIL. Para descriptografá-lo você procura E na linha inferior e vê o H acima dele, em seguida, o B na parte inferior para obter o E acima dele e assim por diante. Complete o processo para obter Olá.,

neste caso ,a “chave” é 3, porque o alfabeto foi deslocado três para a direita (você também pode mudar para a esquerda em vez disso). Se você mudar para a chave para dizer 5, então você terá este:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZV W X Y Z A B C D E F G H I J K L M N O P Q R S T U

Agora a versão criptografada de HELLO seria CZGJ. Muito diferente de EBIIL. Neste caso, a chave é 5. Magia!

no entanto, existem alguns problemas importantes com esta forma de encriptação. Em primeiro lugar, só há 26 chaves. Você pode ter ouvido falar de pessoas falando sobre chaves de 128 bits ou chaves de 256 bits, bem, esta é uma chave de 5 bits (ou seja, 26 em binário é 11010)., Assim, não levaria muito tempo para tentar todas as 26 variações e ver qual começa a produzir texto compreensível.em segundo lugar, o inglês (e outras línguas) tem certas características. Por exemplo, E é a letra mais popular em inglês, então se você tivesse um bom pedaço de texto você poderia ver qual letra aparece mais frequentemente e, em seguida, adivinhar que é E. mude o alfabeto inferior para corresponder E com o personagem mais comum e você provavelmente quebrou o código. Também há apenas algumas letras que podem dobrar em inglês, como OO, LL, SS, EE e assim por diante., Sempre que você ver um duplo como o II ou GG (a partir dos exemplos acima), então você deve tentar corresponder aqueles nos alfabetos primeiro.

a combinação da chave pequena e o facto de a mesma letra cifrar sempre para a mesma letra correspondente no alfabeto cifra significa que esta é uma cifra muito fraca. E hoje com os computadores a fazer o trabalho duro, isto é mais do que fraco!,

mais alfabetos e encriptação inquebrável

As fraquezas da cifra de substituição de César podem ser ligeiramente atenuadas usando mais de um alfabeto deslocado. O exemplo abaixo pode ser expandido para 26 alfabetos deslocados dos quais vários são usados ao mesmo tempo, mas não todos eles.

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZZ A B C D E F G H I J K L M N O P Q R S T U V W X YY Z A B C D E F G H I J K L M N O P Q R S T U V W XX Y Z A B C D E F G H I J K L M N O P Q R S T U V WW X Y Z A B C D E F G H I J K L M N O P Q R S T U VV W X Y Z A B C D E F G H I J K L M N O P Q R S T U

Então, se definir a chave para WVY que significa que use o alfabeto, começando com o primeiro W, e, em seguida, a um, a começar com V e, finalmente, a um, a começar com Y. Este é, então, repetido para codificar a mensagem inteira. Então, olá se tornaria DZJHJ., Observe que agora a dupla L no OLÁ não é codificado como o mesmo personagem, agora é J e, em seguida, H., Também, o primeiro J no texto criptografado é o código para L, enquanto o segundo é o código para O. Então J agora nem sempre representam o mesmo texto simples carta.

uma versão desta ideia, com 26 alfabetos, é a base da cifra de Vigenère que foi publicada no século XVI por Blaise de Vigenère. Uma ideia similar também foi descrita por Giovan Battista Bellaso em 1553., A cifra de Vigenère permaneceu inquebrável por 300 anos até ser decifrada por Charles Babbage e depois por Friedrich Kasiski. O segredo para quebrar a cifra de Vigenère é compreender que, em última análise, as mesmas palavras podem ser codificadas usando as mesmas letras Porque os mesmos alfabetos são usados de novo e de novo. Então a palavra ” e ” pode ser codificada diferente nas primeiras vezes que aparece, mas, em última análise, será codificada usando as mesmas letras novamente. A repetição é geralmente a queda de uma cifra.,

a Repetição é a fraqueza na codificação César, o Vigenère e todas as variantes, mas há uma maneira de usar um alfabeto de codificação para criar uma inquebrável código secreto, sem repetições, ele é chamado de one-time pad. A idéia é que ao invés de usar um alfabeto deslocado, então uma sequência aleatória de letras são usadas. Esta sequência deve ser realmente aleatória e deve ter o mesmo comprimento que a mensagem.

I S T H I S U N B R E A K A B L EP S O V Y V U B M W S P A H Q T D

ao invés de fazer uma substituição direta desta vez usamos adição, com uma torção., A cada letra do alfabeto é atribuído um número, A é 0, B é 1, C é 2 e assim por diante. I é a 9ª letra do alfabeto, o que significa que tem um valor de 8. P (a letra abaixo na nossa cifra única) 15. 8 + 15 = 25 O que significa X. A segunda letra da nossa mensagem é S, que tem o valor 18. Acontece que S é também a letra em nosso bloco de uma vez (o que não é um problema de todo). 18 + 18 = 36. Agora aqui está a reviravolta, não há 36ª letra do alfabeto. Então realizamos o que se chama uma operação de Módulo., O que isso basicamente significa é que dividimos o resultado por 26 (o número de letras no alfabeto) e usamos o restante. 36 / 26 = 1 restante 10. A letra com o valor de 10 é K. Se continuar a fazer isto, a mensagem cifrada final é:

a razão pela qual este código é inquebrável é que você só usa a chave (a cadeia Aleatória) uma vez. Isto significa que qualquer pessoa que tente descodificar a mensagem não tem ponto de referência e não há repetição. A próxima mensagem a ser enviada irá usar uma chave aleatória completamente diferente e assim por diante.,

O maior problema com o one-time pads, é obter as chaves para a outra parte para que eles possam descriptografar a mensagem. Tradicionalmente, isso foi feito usando um livro na forma de um bloco de notas, com os diferentes códigos em cada página. Que páginas estavam em uso mudariam todos os dias e uma vez que um código fosse usado ele poderia ser arrancado do bloco e descartado. No entanto, estas almofadas precisam ser transportadas em um método seguro. Porque se alguém conseguir os códigos, a encriptação pode ser decifrada., Isso basicamente significava que você precisava se encontrar com a outra parte antes da mão e chegar a acordo sobre quais códigos seriam usados e quando. É o método mais seguro, mas também o mais pesado, e certamente não é uma solução viável para o mundo digital moderno de hoje.

a era digital

durante o século XX a encriptação tornou-se mecanizada, sendo o exemplo mais famoso A Máquina Enigma usada pelos nazis durante a Segunda Guerra Mundial. , Existem três grandes benefícios para a criptografia computadorizada: os computadores são flexíveis, ao contrário das caixas mecânicas, os computadores podem ser programados para realizar muitas operações diferentes em uma mensagem e o número e complexidade dessas operações podem ser alterados relativamente rapidamente.velocidade.

  • os computadores lidam com números binários não apenas letras.os pontos 1 e 2 são muito importantes, especialmente quando se comparam computadores com métodos de cifragem mecânica. No entanto, a mudança de paradigma é que os computadores lidam com números e não Letras., Isto significa que a encriptação pode ser aplicada a qualquer tipo de dados. Uma mensagem de texto, uma imagem, um ficheiro de áudio, um filme, uma base de dados, ficheiros num smartphone e assim por diante.

    com a mudança de letras para binário veio uma mudança na forma como a encriptação é executada. Letras inteiras não precisam mais ser criptografadas, mas em vez disso os uns e zeros podem ser manipulados para produzir novas sequências. A palavra “Olá”em ASCII de 8 bits é 01001000010001010011000100110011. Daqui o binário pode ser manipulado de várias maneiras diferentes. Pode ser dividido, deslocado, adicionado, multiplicado, o que for.,

    O método usado para processar os uns e os zeros é conhecido como um algoritmo criptográfico e há muitos tipos diferentes de algoritmos. As principais características de um algoritmo de encriptação são a sua segurança (pode ser decifrado) e o seu desempenho (quanto tempo demora para codificar ou descodificar dados).

    existem dois tipos principais de cifras de criptografia digital, cifras de fluxo e cifras de bloco. Com uma cifra de fluxo, os dados são criptografados por byte de cada vez. Os dados são processados do início ao fim e são transmitidos através do algoritmo de criptografia., RC4 é um exemplo famoso de uma cifra de fluxo. Foi usado no WEP e foi um método de criptografia opcional para vários outros protocolos e produtos.as cifras de fluxo são como blocos de uma só vez em que os dados não são apenas criptografados contra uma única chave, mas sim uma sequência de números pseudo-aleatórios que é baseada na chave. A diferença entre um bloco único e uma cifra de fluxo é que com um bloco único a chave deve ser realmente aleatória. Com cifras de fluxo usando a mesma chave significa que você obtém a mesma sequência de Números, isso é o que torna possível descodificar a mensagem., No entanto, sem a chave, a sequência parece aleatória e é, portanto, difícil de quebrar.

    a fraqueza do RC4 foi que em algumas circunstâncias e sob algumas condições (principalmente quando os mesmos dados foram repetidamente criptografados), então é possível adivinhar quais números podem vir a seguir na sequência. Este palpite reduz o número de combinações possíveis e permite que um ataque de Força bruta (onde cada combinação é tentada) seja usado. Para que o ataque funcione, muitos dados são necessários. O RC4 NO MORE attack precisa coletar 75 horas de dados criptografados, com base em 4450 pedidos por segundo.,

    o outro tipo maior de cifra é a cifra em bloco. Isso funciona dividindo os dados em blocos mais gerenciáveis, digamos 64 bits. Cada bloco é processado várias vezes, conhecido como rounds (como no boxe). Para cada rodada o bloco é dividido em duas partes iguais, a esquerda e a direita. A parte direita permanece intocada enquanto a parte esquerda é criptografada usando uma função especial, chamada de função redonda. A função redonda leva duas entradas, a chave e a parte direita (a parte que não foi tocada). O resultado da função redonda é então “adicionado” à parte esquerda usando XOR.,

    Este modelo é conhecido como uma cifra de Feistel, nomeada em homenagem ao seu inventor Horst Feistel, que trabalhou em criptografia na IBM. Seu trabalho finalmente levou ao desenvolvimento do Data Encryption Standard (DES). Em 1977 DES tornou-se o padrão oficial de criptografia para os Estados Unidos e viu adoção mundial. O DES usa 16 cartuchos a trabalhar em blocos de 64 bits. O problema com o DES é que a NSA limitou o tamanho da chave a 56 bits. Enquanto em 1977 isso era suficiente, no final da década de 1990 tornou-se possível para as organizações não-governamentais quebrar mensagens criptografadas DES.,


    JARGON BUSTER
    Exclusive OR (XOR) – this is a bit level logical operation that is applied to 2 input bits a And B. The Exclusive OR returns true or false (1 or 0) to the question, “A or B, but not, a and B”. Você pode pensar nisso como,”um ou outro, mas não ambos”. Então, se A é 1 e B é 0 então que é um ou outro, então o resultado é 1 (verdadeiro). O mesmo resultado se aplica a A é 0 e B é 1. Mas se A é 0 e B é 0 então o resultado é 0 (falso), pois ambos têm o mesmo valor. Falso também é dado para A é 1 e B é 1.,mas a verdadeira magia de XOR é que é reversível. Se UM XOR B = C, então B XOR C = A, e UM XOR C = B. Isso é muito importante para a criptografia, pois significa que os dados podem ser criptografados (onde a é a dados), utilizando uma chave (B) para obter os dados criptografados (C). Mais tarde, os dados criptografados podem ser decifrados pelo XOR com a chave novamente para obter os dados originais. A razão pela qual XOR é usado em conjunto com funções redondas complicadas e operações de deslocamento de bits é porque em seu próprio XOR pode ser quebrado usando a análise de frequência (por causa da tecla constantemente repetindo).,

    em resposta às fraquezas do DES, foi proposto um novo padrão chamado Triple DES (3DES). Que basicamente encriptou os dados três vezes com DES, mas com três chaves diferentes. 3DES ofereceu uma maneira de aumentar o tamanho da chave de 56-bits para 168-bits sem a necessidade de projetar um algoritmo de cifra de bloco completamente novo. Devido a alguns detalhes técnicos, a chave eficaz é 112 bits, mas se você tivesse uma máquina que poderia quebrar DES em 1 minuto, levaria a mesma máquina cerca de 260.658 anos para quebrar uma chave tripla DES.,apesar de DES ter servido seu propósito por quase 25 anos, o tamanho limitado da chave significava que era hora de outro padrão de criptografia. Em 2001, o Instituto Nacional de padrões e Tecnologia dos Estados Unidos (NIST) publicou o Advanced Encryption Standard (AES). Não é uma cifra de Feistel, mas sim uma rede de permutação de substituição. Ele ainda usa blocos e rodadas apenas como DES, no entanto, durante cada rodada, a ordem dos bits no bloco são trocados, e o resultado é combinado com a chave usando XOR.

    AES usa 128, 192 ou 256 bits chaves e trabalha em blocos de 128-bits., O número de rodadas utilizadas depende do tamanho da chave. O mínimo é 10, que é usado para chaves de 128 bits e o máximo é 14, que é usado para chaves de 256 bits.

    AES, Android and the ARMv8 architecture

    AES is at the heart of the encryption subsistemas in Android. Para Android 5.0 e Android 6.0, o Google ordenou o uso de AES com pelo menos uma chave de 128 bits para dispositivos de suporte a criptografia em disco completo., Com o Android 7, O Google passou para a criptografia baseada em arquivos (FBE), que permite que diferentes arquivos sejam criptografados com chaves diferentes, permitindo que os arquivos sejam decifrados de forma independente. Parece que o FBE no Android 7 usa AES de 256 bits.

    Quando ARM fez a mudança de 32-bit para 64-bit, ele definiu uma nova revisão de sua arquitetura de conjunto de instruções chamado ARMv8. Além de definir o conjunto de instruções para chips ARM 64-bit, ele também adicionou novas instruções para implementar partes do algoritmo AES em hardware. Durante cada rodada vários bits são trocados e substituídos., Como os bits são manipulados é bem definido (e parte do padrão) de modo que as extensões AES no ARMv8 permitem que essas partes da criptografia para acontecer em hardware ao invés de software.

    o resultado é uma criptografia rápida relâmpago, que deve ter um impacto negligenciável no desempenho global do sistema. O AOSP implementação de criptografia baseada em arquivo utiliza o AES-256 e requer um desempenho de pelo menos 50MB/s.

    criptografia de chave Pública e wrap-up

    a Maioria do que temos discutido até agora é conhecido como criptografia simétrica., Para encriptar e descriptografar uma mensagem tanto o remetente quanto o destinatário precisam saber a chave secreta. Há uma forma de criptografia chamada criptografia assimétrica onde existem duas chaves, uma para criptografar mensagens e outra para descriptografá-las. A chave de criptografia pode ser publicada livremente para todos os que querem enviar uma mensagem ao destinatário, no entanto, a chave de decriptação precisa permanecer secreta, mas só precisa ser conhecida pelo destinatário. Isto significa que existe uma chave pública e uma chave privada. Este sistema é a base de como a segurança na Internet funciona, como o https:// protocolo funciona., No entanto, isso é uma história para outro dia!

    ao fechar quero adicionar uma advertência. Criptografia é um tópico complexo e há muito mais para criptografia do que eu escrevi aqui.

  • Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *