Você está na página 1de 9

Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.

868-74

Cifras de bloco,
fluxo e chaves
de criptografia
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Passos, Ubiratan Roberte Cardoso


SST Cifras de Bloco, Fluxo e Chaves de Criptografia /
Ubiratan Roberte Cardoso Passos
Ano: 2020
nº de p.: 9

Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.


Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Cifras de bloco, fluxo e


chaves de criptografia

Apresentação
Veremos nesta unidade os algoritmos de criptografia: cifras de bloco e cifras de
fluxo. Esta é uma classificação que considera o tratamento dos dados e como as
informações são processadas pelos algoritmos de criptografia.

Em um segundo momento, veremos alguns conceitos relacionados às chaves de


criptografia, considerando sua importância dentro do processo de segurança das
informações.

Finalizaremos com a análise dos conceitos centrais a respeito da geração de


chaves de criptografia.

Cifras de bloco
Cifras de blocos operam sobre blocos de dados, ou seja, antes do texto ser cifrado,
ele é dividido em diversos blocos, cujos tamanhos normalmente variam entre 8 e 16
bytes. Após dividir a informação em blocos, elas poderão ser cifradas ou decifradas,
de acordo com o que estiver sendo realizado no momento.

Caso uma das partes não complete o tamanho mínimo exigido para o bloco, serão
adicionados bits conhecidos (geralmente o bit 0) até que o tamanho do bloco em
bytes esteja completo. (STALLINGS, 2015)

Um dos principais problemas encontrados nessa técnica é que, se um mesmo bloco


de texto simples ocorrer mais de uma única vez, então, a cifra gerada para aquele
bloco também se repetirá, e isso pode facilitar o ataque ao texto cifrado. Como
solução para o problema, foram propostos os modos de retaliação.

3
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Atenção
O modo de retaliação mais comum e conhecido é a cifragem de
blocos por encadeamento, ou cipher block chaining (CBC), em
inglês. Esse recurso realiza uma operação XOR no bloco atual de
texto simples com o bloco anterior que contém o texto cifrado.

Como no primeiro bloco não existe um bloco anterior, a operação XOR é realizada
com um vetor de inicialização. Trata-se de uma técnica que não adiciona qualquer
segurança extra ao algoritmo; ela simplesmente evita o problema da geração de
chaves idênticas nos algoritmos de cifra de bloco.

Os algoritmos de bloco processam os dados como um conjunto de bits. Dessa


forma, são os mais velozes e seguros para a comunicação digital. Outra vantagem
desse tipo de algoritmo é que os blocos podem ser processados em qualquer
ordem, o que, além de deixar o algoritmo menos suscetível a erros, permite o acesso
aleatório aos dados. (COUTINHO, 2015)

Entretanto, como desvantagem, há o já referido problema que ocorre quando a


mensagem possui padrões repetitivos de blocos. Isso leva à criação de cifras
também repetitivas, facilitando, assim, o trabalho do criptoanalista de quebrar o
código. Outra desvantagem é a possibilidade de substituição de um dos blocos por
outro, alterando, dessa maneira, o conteúdo da mensagem original.

Cifras de fluxo
Os algoritmos de cifras de fluxo criptografam a mensagem bit a bit, em um fluxo
contínuo, sem a preocupação ou sem esperar que um determinado tamanho de
bloco seja completado. Esse algoritmo é conhecido também como criptografia em
stream de dados, no qual a criptografia ocorre mediante uma operação XOR entre o
bit de dados e o bit gerado pela chave. (STALLINGS, 2015)

Cada um dos tipos de algoritmo apresentados é mais indicado para uma determinada
situação e menos indicado para outra. Observe no quadro a seguir um breve resumo
sobre a aplicação para os algoritmos de cifras de bloco e de cifras de fluxo.

4
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Quadro 1: Características dos tipos de cifra e sua aplicação

Cifragem
Aplicação Considerações
recomendada
Não é dada muita importância para a
Banco de interoperabilidade com outros softwares, no
Bloco
dados entanto, para fazê-lo, torna-se necessário reutilizar
as chaves.

Neste caso, a interoperabilidade é um fator a ser


considerado, sendo garantida em todos os pacotes
E-mail Fluxo
de e-mail que operam utilizando o padrão AES
(Advanced Encryption Standard).

A velocidade é um fator de muita importância, e


cada conexão pode ter uma chave. sendo assim,
SSL Fluxo
grande parte dos navegadores e servidores utiliza
o algoritmo de fluxo RC4 (Rivest Cipher 4).

Criptografia Não se tem muita preocupação com a


interoperabilidade, entretanto, cada arquivo pode
Bloco
ser cifrado com a mesma chave, sendo necessário,
de arquivos então, protegê-la.

Fonte: Elaborada pelo autor (2019)

Chave de criptografia

Curiosidade
Na criptografia, o termo “chave” é proveniente do fato de este ser
um valor secreto, confidencial, tal como as senhas utilizadas em
sistemas computacionais. Seu funcionamento é análogo à forma
como são utilizadas as chaves no mundo convencional, ou seja,
são usadas para abrir algo que está trancado, sendo que cada
“fechadura” pode ser aberta somente com sua respectiva “chave”.

Quando um arquivo (ou mensagem) é criptografado, é como se seu conteúdo


estivesse, a partir daquele momento, protegido por um cadeado (ainda que não seja
isso que aconteça literalmente). Então, para ter acesso ao conteúdo, é preciso estar
em posse da chave ou do segredo capaz de abrir o cadeado.

5
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

No que se refere à criptografia, o conteúdo da mensagem é embaralhado,


substituído por meio de operações matemáticas complexas. A única forma de
reverter esse processo é mediante uma chave específica, que pode ser uma senha
ou um valor referente ao resultado da operação matemática que foi utilizada para
ciframento da mensagem.

É com a chave que o algoritmo de criptografia consegue converter uma mensagem


legível em algo inteligível, e é com essa mesma chave que o algoritmo realizará
o processo de converter o texto inteligível em um texto legível. Não existe
possibilidade de converter a mensagem criptografada para a mensagem original
sem a chave correta.

Mesmo quando o processo é realizado com força bruta, os invasores buscam


sempre descobrir qual foi a chave utilizada para então acessar o texto original da
mensagem. (ALENCAR, 2015)

Todos os algoritmos modernos de criptografia trabalham com chaves. As chaves


são importantes pelo simples fato de que, mesmo conhecendo o algoritmo e
entendendo seu funcionamento, sem a chave correta um invasor não conseguirá
decifrar a mensagem.

Obtém-se maior segurança em sistemas nos quais o algoritmo de criptografia


é conhecido, mas as chaves não, pois, ao manter o segredo destas, gera-se um
sistema incondicional e computacionalmente seguro.

Reflita
Outra razão pela qual as chaves são relevantes está na possibilidade
de se construir sistemas criptográficos nos quais os algoritmos
são completamente conhecidos, sem, no entanto, deixarem
de ser seguros, isso porque, como já afirmado anteriormente, é
necessário conhecer a chave para poder ter acesso ao conteúdo
criptografado.

A partir do momento em que os algoritmos de criptografia se tornam públicos, mais


analistas e cripto cientistas (estes são profissionais especializados em examinar
e criar métodos criptográficos cada vez mais eficientes) poderão ter acesso ao
código, examiná-lo e descobrir possíveis falhas ou fraquezas, indicando soluções
para seu fortalecimento e maior eficiência.

6
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Geração das chaves de criptografia


Em sistemas de criptografia com chave simétrica ou de chave privada, a chave
de criptografia pode ser formada por qualquer conjunto de valores alfanuméricos,
desde que este tenha um tamanho correto e adequado ao especificado pelo
algoritmo, sendo recomendado somente que os valores que compõem a chave não
possuam nenhuma coerência entre si, dificultando-se, dessa forma, sua descoberta.
(STALLINGS, 2015)

É muito importante também que, dentro das possibilidades, as chaves sejam


geradas de forma totalmente aleatória, ou seja, devem ser valores que, se
submetidos a testes estatísticos de aleatoriedade, sejam aprovados, e que não
possuam nenhuma repetição.

Existem várias técnicas que podem auxiliar no processo de geração de chaves de


criptografia. Dentre elas, a que mais se destaca são os:

Geradores de Números Aleatórios (GNA), ou Random


Number Generator (RNG)

Esses dispositivos funcionam agrupando números de diferentes tipos de


entradas, sempre imprevisíveis, tais como a medição da desintegração
espontânea da radioatividade, o exame de condições atmosféricas ou o
cálculo das minúsculas variações que ocorrem em correntes elétricas.
(ALENCAR, 2015; COUTINHO, 2015)
Nessas condições, é virtualmente impossível que uma sequência numérica
se repita. Isso ocorre devido ao fato das saídas serem geradas a partir de um
conjunto de entradas que estão em constante estado de mudança.

Geradores de números pseudoaleatórios (GNPA) ou, na sua


versão original, pseudo-random number generators (PRNG)

Ao gerar um número a partir de algum desses algoritmos, ele certamente


passará no teste estatístico de aleatoriedade. (COUTINHO, 2015)

7
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Chave de criptografia

Fonte: Plataforma Deduca (2019).

Contudo, é preciso entender que números pseudoaleatórios não são exatamente


aleatórios, ou seja, existe a possibilidade de que se repitam em determinadas
situações.

Dessa forma, é recomendável que sempre que um GNPA for utilizado, as entradas
fornecidas sejam sempre diferentes em cada execução. Assim, a geração da saída
também será diferente das geradas anteriormente.

Fechamento
Estudamos que dentre as classificações dos algoritmos de criptografia, existe
uma que considera a forma que leva em conta como esses algoritmos tratam seus
dados e de como as informações são processadas por eles. Sob esse ponto de
vista, os algoritmos de criptografia podem ser classificados como cifras de bloco e
cifras de fluxo.

Na sequência, analisamos e aprofundamos nossos conhecimentos sobre alguns


conceitos relacionados às chaves de criptografia, considerando sua importância
dentro do processo de segurança das informações.

Por fim, compreendemos alguns dos aspectos centrais sobre a geração de chaves
de criptografia.

8
Licensed to DIOGO VIEIRA DE MELO - diogovmelo@gmail.com - 311.557.868-74

Referências
ALENCAR, M. S. Informação, codificação e segurança de redes. 1. ed. Rio de
Janeiro: Elsevier, 2015.

COUTINHO, S. C. Criptografia. Rio de Janeiro: IMPA, 2015. Disponível em: http://


www.obmep.org.br/docs/apostila7.pdf. Acesso em: 29 jan. 2019.

STALLINGS, W. Criptografia e segurança de redes: princípios e práticas. São Paulo:


Pearson Prentice Hall, 2015.

Você também pode gostar