A * CRIPTOGRAFIA COMO UMA APLICAÇÃO MATEMÁTICA*

Documentos relacionados
SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Criptografia no MSX Fulswrjudild qr PVZ

Segurança da Informação Aula 5 Criptografia. Objetivos e Tipos. Cifras de Bloco e Fluxo

Faculdade de Engenharia da Computação

Cifra Homofônica. Mestrado em Ciência da Computação Estruturas de Dados Prof. Dr. Paulo Roberto Gomes Luzzardi Mestranda: Nelsi Warken

AULA 5: Criptografia e Esteganografia

Criptografia e Segurança em Rede Capítulo 3. William Stallings

Técnicas Clássicas de Criptografia. Criptografia e Segurança de Redes, Cap. 2 Willian Stallings 4 Ed. Pearson, 2008

Segurança Informática em Redes e Sistemas

O SISTEMA CRIPTOGRÁFICO D.E.S. - DATA ENCRYPTION STANDARD

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Sistemas criptográficos simétricos

Tão logo os homens adotaram a escrita, começaram a se preocupar em enviar informações em segredo.

Segurança de Sistemas de Informação

OTES07 Segurança da Informação Módulo 05b: Criptografia Simétrica: AES/SAES

Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido

2 Teoria da Informação

SEGURANÇA DE SISTEMAS E REDES

Autenticação por par de. chaves assimétricas. Bruno Follmann

Códigos de blocos lineares. Outubro de 2017

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 03/03/2016 PROF. FABIANO TAGUCHI

Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)

Aplicações da Álgebra Linear: Criptografia

OTES07 Segurança da Informação Módulo 05a: Criptografia Simétrica: DES/SDES

Capacidade de Armazenamento. Bit. Binário para Decimal. Decimal para Binário. Operações Aritméticas no Sistema binário.

Faculdade de Engenharia da Computação

Números primos e Criptografia

Circuitos Lógicos Aula 5

Desvendando os mistérios do criptossistema RSA. Grasiele Cristiane Jorge. Pós-Doc - IMECC - UNICAMP

PTC Aula 19. (Kurose, p ) (Peterson, p ) 09/06/ O que é segurança de rede? 5.2 Princípios de criptografia

Cifra Sequenciais. Criptografia Engenharia Biomédica José Carlos Bacelar Almeida Cifra One-Time-Pad

Sistemas de Numeração

Binário Decimal

Complexidade de Algoritmos

OSRC001 Segurança em Redes de Computadores Módulo 07: Criptografia Simétrica: AES/SAES

Segurança em Redes - 3

ACTIVIDADE: Códigos Secretos Actividade desenvolvida pela Escola Secundária Padre Alberto Neto.

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

Detecção e correcção de erros

Entendendo a criptografia e como ela pode ser usada na prática. Italo Valcy Universidade Federal da Bahia CERT.

7.1 Código Excesso de 3

Estudo sobre decodificação iterativa usando códigos de treliça

Capítulo 3 - Cifras de Blocos e Data Encryption Standard Por toda a tarde, Mungo tinha trabalhado no código de Stern, principalmente com a ajuda das ú

CIFRA DE HILL. Autor: Maycon Pereira de Souza

Códigos de bloco. Luis Henrique Assumpção Lolis. 1 de novembro de Luis Henrique Assumpção Lolis Códigos de bloco 1

Aula 8: Complemento a Um e Complemento a Dois

PTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Criptografia e Segurança de Redes Capítulo 5. Quarta Edição por William Stallings

Complemento a Um e Complemento a Dois

Segurança Informática em Redes e Sistemas

Sistemas numéricos e a Representação Interna dos Dado no Computador

Criptografia. Aula 4: Autenticação de mensagens e canais seguros. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Engenharia Civil. Representação da Informação. Introdução à Computação

Codificação de Linha

1 bases numéricas. capítulo

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

Engenharia de Segurança

Aula de hoje. Códigos numéricos. Códigos binários. Armazenamento de dados. Armazenamento de dados. Armazenamento de dados

Capítulo 6 Aritmética Digital: Operações e Circuitos

MAT Resumo Teórico e Lista de

Teoria da Informação ( ) Exame de Recurso ( ) Resolução. (1 p), (1 p), p = H(0,4;0,4;0,2) = 1,522

UFSM-CTISM. Comunicação de Dados Aula-17

Já sabemos como determinar todas as soluções de uma equação diofantina linear, caso esta seja resolúvel. Para conguências temos:

O que é Segurança da Informação

Introdução à Computação

Sistemas de Numeração

Fundamentos da criptologia

Capítulo 8. Segurança de redes

CÁLCULO I. 1 Número Reais. Objetivos da Aula

Transcrição:

CRIPTOGRAFIA COMO UMA APLICAÇÃO MATEMÁTICA* GLEN CÉZAR LEMOS**, NILTON CEZAR FERREIRA*** A necessidade * ** *** Resumo: o objetivo deste trabalho é apresentar uma ideia geral sobre a utilização da criptografia desde sua origem até os dias atuais. Ela pode ser vista como uma aplicação de diversas ciências e em particular da matemática. Pretendemos mostrar a diferença entre codificar e criptografar utilizando uma breve introdução a sistemas criptográficos de Chave Secreta com Block Ciphers e Stream Ciphers. Palavras-chave: Criptografia. Codificar. Sistemas Criptográficos. de manter algumas mensagens secretas existe a milhares de anos. Porém a sociedade moderna vem se tornando cada vez mais dependente de Recebido em: 06.05.2011. Aprovado em: 16.06.2011. Mestre em Matemática. Doutorando na Universidade Estadual Paulista UNESP Campus Rio Claro. Professor do Instituto Federal de Goiás IFG Campus Goiânia. E-mail: glenlemos@gmail.com. Mestre em Matemática, professor do Instituto Federal de Goiás Campus Goiânia e na Pontifícia Universidade Católica de Goiás. E-mail: niltoncezar@gmail.com.edu.br. 503

504 meios seguros e precisos para transmissão e armazenamento de dados. A revolução tecnológica concentrada nas Tecnologias da Informação e da Comunicação (TICs), que possibilita a conexão mundial via redes de computadores, promove alterações significativas na base material da sociedade, ao estabelecer uma interdependência global entre os países. O uso crescente de redes como a Internet resultou na criação de um novo tipo de organização social, a sociedade em rede, que permite a formação de comunidades virtuais, grupos humanos constituídos pela identificação de interesses comuns. Para Castells (1999), as descobertas básicas nas tecnologias da informação têm algo de essencial em comum: embora baseadas principalmente nos conhecimentos já existentes e desenvolvidas como uma extensão das tecnologias mais importantes. Essas tecnologias representaram um salto qualitativo na difusão maciça da tecnologia em aplicações comerciais e civis, devido a sua acessibilidade e custo cada vez menor, com qualidade cada vez maior, contudo, existem situações em que as informações são confidenciais; nestes casos os comunicantes devem ocultar e proteger o conteúdo de suas mensagens. A finalidade dos sistemas criptográficos é ocultar a mensagem, ou seja, reescrevendo-a em outra linguagem, antes de transmiti-la, para garantir que somente o destinatário seja capaz de entender. Codificar é a arte de transformar dados de um formato para outro, sem o objetivo de dificultar o entendimento dos mesmos e não requer chave para decodificar, bastando apenas conhecer o algoritmo utilizado para codificar. Exemplos: Código Morse, ASCII, Códigos Binários, Códigos Cíclicos, dentre outros. Criptografia (Do Grego kryptós, escondido, e gráphein, escrita ) é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra, de forma que somente o destinatário (detentor da chave secreta ) seja capaz de entendê-la. Exemplos: Cifra de CÉSAR, DES, IDEA. O primeiro registro do uso da criptografia foi em torno de 1900 a.c., no Egito, quando um escriba usou hieróglifos fora do padrão numa inscrição.entre 600 e 500 a.c., os hebreus utilizavam a cifra de substituição simples, sendo monoalfabético e monogrâmica, ou seja, os caracteres são trocados um a um. Esse método deu origem ao Livro de Jeremias.

Em 1928, o exército alemão construiu uma versão conhecida como «Enigma G», que tinha como garantidor de segurança a troca periódica mensal de suas chaves. Essa máquina tinha como diferencial ser eletro-mecânica, funcionando com três (inicialmente) a oito rotores. Figura 1: Máquina Enigma, utilizada na cifragem edecifragem de mensagens secretas. Versão da Marinha, exposta em Bletchley Park SISTEMAS CRIPTOGRÁFICOS Os sistemas criptográficos se dividem em simétricos (chave secreta) e assimétricos (chave pública). 505

Nesse trabalho será abordado o sistema de chave secreta, utilizando o modelo de Shannon, representado pelo seguinte digrama. 506 A Chave K deve ser enviada ao Cifrador e ao Decifrador, através de um Canal Seguro, sem que o Inimigo Criptoanalista tome conhecimento dela. O Emissor fornece ao Cifrador a sequência (input), isto é, o texto em claroao qual, fazendo uso da chave gera o criptograma que será enviado ao Decifrador que fornece o texto em claro ao Receptor. Observe que o Inimigo Criptoanalista pode interceptar o criptograma, mas sem o uso da chave não poderá decifrar a informação. Isso mostra que a segurança depende exclusivamente da chave. A seguir serão abordados alguns exemplos de sistemas criptográficos considerados clássicos. Sistemas de Substituição Monoalfabética São aqueles em que cada letra do texto em claro é substituída, sempre, por uma mesma letra de um Alfabeto Cifra, segundo uma chave bem definida. O exemplo mais antigo de que se tem notícia é conhecido como CIFRA DE CÉSAR, usado pelo general e estadista Romano Júlio César (49-44 a.c) em sua campanha pela Gália e nas correspondências com seus amigos. Neste sistema, cada letra de a até w é representada pela terceira letra após, no alfabeto e x, y, z por A, B, C, respectivamente. Alfabeto em claro: 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 z Alfabeto cifrado: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Exemplo: Decifrar a seguinte mensagem, sabendo-se que ela foi criptografada usando a Cifra de César.

Texto cifrado: D FULSWRORJLD VH GLYLGH HP FUL- SWRJUDILD H FULSWRDQDOLVH. Texto claro: A criptologia se divide em criptografia e criptoanálise. Sistema monoalfabético aditivo O algoritmo do sistema monoalfabético aditivo consiste em adicionar ao valor que representa a letra no alfabeto, o valor da chave, indicando a posição da letra Cifra. Considerando o alfabeto citado em 2.1, o valor da chave pode variar de 0 a 25. Definição 1: Sejam. Denominamos adição de a e b módulo 26 o inteiro α, obtido pelo resto da divisão de (a + b) por 26. Denotaremos Definição 2: Sejam. O inteiro b, tal que é denominado o oposto de a. Se fizermos corresponder a cada letra do alfabeto um número de 0 a 25, podemos representar o algoritmo usando o sistema aditivo com a adição módulo 26, da seguinte forma, onde x representa o texto em claro, k a chave e y o criptograma. Exemplo: considere a correspondência entre as letras do nosso alfabeto e os números inteiros de 0 a 25, estabelecidos pela tabela a seguir: A B C D E F G H I J K L M N O P Q R S T U V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 W X Y Z 23 24 25 0 Para cifrar um texto em claro basta fazer a adição, módulo 26, de cada número correspondente a letra do texto em claro com a chave, pré-estabelecida. E para decifrar um criptograma, deverá ser feito o mesmo processo usando no lugar do valor da chave o seu oposto. Como existem apenas 26 chaves, concluímos que o sistema é frágil. Este sistema tem caráter puramente didático, ou seja, serve apenas para ilustrar de forma simples como funciona o método de criptografia por substituição. 507

508 Exemplo: Decifrar o criptograma abaixo, sabendo apenas que foi utilizado o sistema monoalfabético aditivo e o texto claro está em português. Criptograma: D FLIUD GH FHCDU H R PDLV DQWLJR VLVWHPD FULSWRJUDILFR. Analisando o criptograma notamos que as letras D, H e R aparecem isoladas, logo, em português temos apenas três possibilidades: ou ou Se então, 4 = 15 k k = 15. Logo, H corresponde ao s e R ao c Se então, 4 = 1 k k = 3. Logo, H corresponde ao e e R ao o Se então, 4 = 5 k k = 25. Logo, H corresponde ao i e R ao s Portanto, concluímos que na língua portuguesa só tem sentido se a chave usada for k = 3 e obtemos o seguinte texto em claro: A cifra de Cezar é o mais antigo Sistema Criptográfico. Sistema monoalfabético multiplicativo Quando estamos trabalhando com sistemas criptográficos devemos sempre tomar o cuidado de que cada criptograma determine um único texto em claro. Definição 3: Sejam ab Z,. Denominaremos produto de a por b módulo 26, o inteiro, obtido pelo resto da divisão de (a b) por 26. E denotaremos por γ = a b. Definição 4: Seja a Z. O inteiro b tal que a b= 1, é denominado inverso multiplicativo de a. Por analogia ao sistema anterior, a operação adição é substituída pela multiplicação módulo 26. O algoritmo deste sistema pode ser representado da seguinte forma: x x k = y, onde x representa o texto em claro, k a chave, y criptograma. Para cifrar um texto em claro basta fazer a multiplicação, módulo 26, de cada número correspondente a letra do texto em claro com a chave, pré-estabelecida. E para decifrar um criptograma, deverá ser feito o mesmo processo usando no lugar do valor da chave o seu inverso multiplicativo. Exemplo, se usarmos a chave k = 2, então x1 = a y1 = 1 2= 2 B x2 = n y2 = 14 2 = 2 B

Isto é, um único caractere do criptograma corresponde a dois caracteres do texto em claro, logo k = 2 não pode ser chave do sistema multiplicativo. Consequentemente devemos escolher como chave todos os inteiros de 0 a 25 que possuem inverso multiplicativo, ou seja, aqueles que são relativamente primos com 26. Logo k pode assumir os seguintes valores: k Î {1,3,5,7,9,11,15,17,19,21,23,25} Portanto, temos somente 12 possibilidades para a chave, o que torna este sistema ainda mais frágil que o anterior. Exemplo Decifrar o criptograma MIXSMIXCAI S GMI ACSVACI sabendo-se que foi usado o sistema multiplicativo, cuja chave é k = 9, na língua portuguesa. Criptograma: MIXSMIXCAI S GMI ACSVACI Vamos obter a chave inversa de k = 9. Se x é o inverso de 9 mod 26, então: 9x 1(mod 26) y Z tal que 9x 26y = 1, resolvendo a equação diofantina, encontramos a solução particular x = 3, 1 portanto k = 3 é a chave inversa de k = 9, logo, y1 = M x1 = 13 3 = 13 m, y2 = I x2 = 9 3= 1 a y3 = X x3 = 24 3 = 20 t y4 = S x4 = 19 3 = 5 e y5 = C x5 = 3 3= 9 i y6 = A x6 = 1 3= 3 c y7 = G x7 = 7 3 = 21 u y8 = V x8 = 22 3 = 14 n Texto em claro: matematica e uma ciencia,,, 509

Sistema monoalfabético afim É o sistema obtido usando a adição e a multiplicação módulo 26 simultaneamente, cujo algoritmo representamos por: x ( x k1) k2 = y, onde x representa o texto em claro, k1 k e 2 chaves e y o criptograma. Portanto, o número total de chaves possíveis é 312. CLASSIFICAÇÃO DOS SISTEMAS CRIPTOGRÁFICOS SIMÉTRICOS Os sistemas criptográficos simétricos são usualmente classificados em Stream Ciphers (sistemas que cifram caracteres) e Block Ciphers (sistemas que cifram em blocos). 510 Steam Ciphers Nesse tipo o texto claro (mensagem) é transformado em caracteres e operado com uma transformação tempo-variante, governada pelo estado interno do sistema, ou seja, cada estado depende do estado anterior. Assim, duas ocorrências do mesmo caractere no texto em claro normalmente não resulta em duas ocorrências de um mesmo caractere no texto cifrado (criptograma). O mais notável de todos os sistemas criptográficos é o one- -time-pad (sistema de chave única), pois ele é totalmente seguro. Nele o texto cifrado é a soma bit a bit módulo 2 da chave secreta, uma sequência aleatória, usada uma única vez. Como em GF (2) a adição e subtração é a mesma, a decifração é obtida da mesma forma que a cifração. O princípio básico do one time pad é a independência estatística entre o texto cifrado e o texto em claro pelo fato da chave ser uma sequência verdadeiramente aleatória. O dispositivo que emite tal sequência aleatória, i.é, uma sequência em que cada bit tem igual probabilidade de ser 0 ou 1 independentemente dos dígitos anteriores é chamado de fonte binaria simétrica (FBS). A figura a seguir ilustra o one time pad.

FBS k j Canal de transferência k j m j C j m j Assumindo que o Inimigo Criptoanalista tem conhecimento somente de textos cifrados, Shannon provou em 1949 que o ele nunca poderá separar o verdadeiro texto em claro dos outros possivelmente verdadeiros. Este sistema geralmente é impraticável devido aos problemas de geração das chaves, tais como: necessidade de se produzir uma quantidade ilimitada de chaves, necessidade de um local totalmente seguro para guarda-las, dentre outros. As desvantagens operacionais do one time pad levaram ao desenvolvimento dos Stream Ciphers síncronos, em que o processo de cifração do texto em claro é o mesmo do one time pad» exceto pela geração da sequência aleatória. A segurança dos Stream Ciphers depende então da»aleatoriedade» da chave. De um modo geral um Stream Cipher consiste de um mecanismo chamado Gerador de Key Streams (KSG), o gerador de chaves, que produz sequências pseudoaleatórias, denominadas «keystreams», as quais são operadas caractere a caractere com os caracteres do texto em claro, resultando na mensagem cifrada. As sequências produzidas pelos geradores de keystreams seguem uma determinada regra, assim elas não são verdadeiramente aleatórias. Em criptografia o que realmente necessitamos, é que estas sequências sejam imprevisíveis (simulem sequências aleatórias); pois se o criptoanalista interceptar parte da sequência ele não tem como completá-la. Estes tipos de sequências são chamados de pseudoaleatórias. A construção de Stream Ciphers do ponto de vista teórico tem dois objetivos: um é garantir propriedades que teoricamente são exigidas tais como: período, complexidade linear e distância de estruturas lineares. O segundo é estudar os princípios criptoanalísticos e desenvolver critérios para tornar ataques baseados nestes princípios impossíveis. Por exemplo: 511

a) Substituição e aproximação: preferencialmente por componentes lineares. b) Limitar e controlar o espaço das chaves. c) Exploração das deficiências estatísticas, tal como dependência entre símbolos. Para prevenir a criptoanálise alguns critérios gerais necessários, mas não suficientes são empregados na construção de geradores de keystreams: 512 1) Longos períodos sem repetição; 2) Critérios de complexidade linear: alta complexidade linear (i.é., próxima do período), perfil da complexidade linear, complexidade linear local, dentre outros. 3) Critérios estatísticos. (Por exemplo, em sequências binárias o equilíbrio entre zeros e uns; o equilíbrio do número de pares ordenados 00,10, 01,11). 4) Confusão: a dependência estatística entre a chave, o texto claro e o texto cifrado é feita de maneira tão complexa que ela se torna inútil ao criptoanalista. 5) Difusão: cada dígito do texto em claro deve influenciar vários dígitos do texto cifrado e cada dígito da chave secreta também deve ter influência sobre vários dígitos do texto cifrado. 6) Critérios de não linearidade de funções booleanas, distância entre as funções lineares, dentre outros. Todo gerador seguro de chaves deve satisfazer estes critérios, ou seja, do ponto de vista teórico os sistemas são projetados satisfazendo estes critérios. O DES apesar de não ser um Stream Cipher é um bom exemplo de projeto do sistema teórico, pois, com uma chave finita de 56 bits (a qual é muito menor que o tamanho necessário das chaves de outros sistemas) resistiu à criptoanálise por mais de 15 anos, até que por volta de 1990 quando Adi Shamir e Eli Biham criaram a Criptoanálise Diferencial, que é uma poderosa técnica de ataque a sistemas em blocos. Exemplo: Stream Cipher Binário Aditivo.

Figura 3: Stream Cipher Binário Aditivo X é um bit da mensagem, Z é um bit da chave e Y é um bit i i i do criptograma. Nesse exemplo o gerador de chaves produz uma keystream cujos elementos pertencem ao corpo de Galois GF(2), que é adicionada módulo 2 aos bits de um texto em claro, obtendo assim o texto cifrado. O processo de decifrar é idêntico ao processo de cifrar, pois a adição e subtração em GF(2) é a mesma. Nesse caso, podemos afirmar que o gerador de keystreams usado pelo emissor e pelo receptor estão sincronizados, sendo assim, sempre que se perder este sincronismo é impossível decifrar a mensagem enviada. Exemplo: cifrar a palavra MATEMATICA, utilizando a chave K = 1001110 obtida do Linear Feedback Shift Register (LFSR) 3 < x + x+ 1, 3 > com preenchimento inicial ( 100 ). A B C D E F G H I J K L M N O P Q R S T U V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 W X Y Z! & ; -. * 23 24 25 26 27 28 29 30 31 32 Vamos representar o texto em claro no corpo GF(2): M 13 = (01101), A 1 = (00001), T 20 = (10100), E 5 = (00101), I 9 = (01001), C 3 = (00011). Texto claro: MATEMATICA Texto claro codificado: 01101 00001 10100 00101 01101 00001 10100 01001 00011 00001 513

514 Texto cifrado codificado: 11110 10101 01001 00010 00100 11011 11010 11010 10111 11100 Texto cifrado: - u i b d.z z w & Block Ciphers O que difere os Block Ciphers dos Stream Ciphers são dois aspectos: Nos Block Ciphers o texto em claro é em geral formado por blocos grandes (ex. 64 bits) e os blocos consecutivos são cifrados pela mesma função, isto é, o cifrador é um dispositivo sem memória. A principal vantagem dos sistemas em blocos é a facilidade de sincronização no sentido que a perda de um bloco do texto cifrado não tem influência na decifração correta de blocos seguintes. A principal desvantagem é que o bloco cifrado não esconde dados padrões, isto é, blocos idênticos do texto cifrado implicam em blocos idênticos do texto em claro. No entanto essa desvantagem pode ser superada com a introdução de um pouco de memória. Como exemplo temos o DES (Data Encryption Standard) que já foi citado anteriormente e o IDEA que descreveremos a seguir. O sistema em bloco IDEA O sistema em blocos IDEA (International Data Encryption Algorithm) foi baseado no sistema em blocos PES /Proposed Encryption Standard). Em ambos os casos o testo em claro e o texto cifrado são blocos de 64 bits, enquanto a chave secreta é longa, 128 bits. Ambos os sistemas são baseados no novo processo de mistura de diferentes operações de grupos. A confusão necessária é obtida pelo uso sucessivo de três operações de grupos incompatíveis em pares de sub-blocos de 16 bits e a estrutura do sistema se encarrega de fornecer a difusão necessária. A estrutura do sistema também facilita a implementação, tanto em software quanto em hardware. O sistema IDEA é uma versão melhorada do PES e foi desenvolvido para aumentar a segurança contra a criptoanálise diferencial. O IDEA é um sistema iterado que consiste de 8 iterações seguidas por uma transformação de saída. A primeira iteração completa e a transformação de saída são mostradas na Figura a seguir.

Figura 4: Primeira iteraçao do IDEA X Sub-bloco do texto em claro com 16 bits i Sub-bloco do texto cifrado com 16 bits Y i Z i (r ) Sub-bloco da chave secreta com 16 bits Å Soma bit a bit módulo 2, entre sub-blocos de 16 bits Adição de inteiros módulo 2 16 Multiplicação de inteiros módulo 2 16 + 1, onde o sub-bloco nulo corresponde ao inteiro 2 16. No processo de cifração mostrado na figura acima são usados três diferentes operações de grupos entre pares de sub-blocos de 16 bits: Soma bit a bit modulo 2, denotado denotado por ; Adição de inteiros módulo 2 16, onde os sub-blocos de 16 bits são usadas com números inteiros e representados na base 2; essa operação é denotada por. - Multiplicação de inteiros módulo 2 16 + 1, operação feita de maneira análoga a adição, onde o sub-bloco nulo será tratado como o inteiro 2 16 ; essa operação é denotada por. Exemplificando: 515

(0,0,..., 0) (0,1,0,..., 0) = (1,1,0,...,0,1), pois 2 16 2 14 mod(2 16 +1) = 2 15 + 2 14 +1. O bloco de texto em claro X de 64 bits é particionado em quatro sub-blocos de 16 bits X1, X2,X3 e X4, isto é, X = (X1, X2, X3, X4 ). Os quatro sub-blocos do texto em claro são então transformados em quatro sub-blocos de 16 bits Y1, Y2,Y3 e Y4 isto é, o bloco de texto cifrado será Y = (Y1, Y2,Y3, Y4),sob o controle de 52 sub chaves de 16 bits que são formadas a partir dos 128bits da chave secreta; são usadas 6 sub chaves em cada uma das 8 iterações. Para r = 1,2,...,8 as seis sub chaves usadas na r-ésima iteração é denotada por Z 1 (r ),...,Z 6 (r ). Quatro sub chaves de 16 bits são usadas na transformação de saída. Estas sub chaves serão denotadas por Z 1 (9),Z 2 (9),Z 3 (9) e Z 4 (r ). O processo de decifrar é essencialmente o mesmo de cifrar (r (C/D similar), com exceção de que as sub chaves K ) i usadas para se decifrar não são as mesmas usadas para cifrar, porém as sub (r ) chaves K i podem ser obtidas através das sub chaves de cifrar da seguinte forma: 516 (r (K ) (r 1, K ) (r 2, K ) (r 3, K ) (10- r ) 4 ) = (Z - 1 (10- r 1, - Z ) (10- r 3, - Z ) (10- r ) 2, Z - 1 4 ), para r = 2, 3,..., 8 (K 1 (r ), K 2 (r ), K 3 (r ), K 4 (r ) ) = (Z 1 (10- r ) - 1, - Z 2 (10- r ), - Z 3 (10- r ), Z 4 (10- r ) - 1 ), para r = 1 ou r = 9 (K 5 (r ), K 6 (r ) ) = (Z 5 (r ), Z 6 (r ) ), para r = 1, 2,..., 8 Aqui Z - 1 denota o inverso multiplicativo (módulo 216 + 1) de Z, isto é, Z Z - 1 = 1 e -Z denota o inverso aditivo (módulo 216 ) de Z, ou seja, -Z Z = 0. As 52 sub chaves de 16 bits usadas no processo de cifrar são geradas a partir da chave de 128 bits selecionada inicialmente, da seguinte forma, os 128 bits das chaves são usados como as primeiras 8subchaves, onde a ordenação das sub chaves são definidas da seguinte forma: Z 1 (1),Z 2 (1),..., Z 6 (1),Z 1 (2),Z 2 (2),..., Z 6 (2),...,Z 1 (8),Z 2 (8),..., Z 6 (8),Z 1 (9),Z 2 (9),Z 3 (9),Z 4 (9)

As próximas 8subchaves são construídas de 128 bits, deslocando-se ciclicamente em 25 bits, para a esquerda, os 128 bits da chave secreta. Continuamos com este processo até obtermos todas as 52 sub chaves necessárias. CONCLUSÃO O grande desafio no desenvolvimento de sistemas criptográficos block ciphers e stream ciphers, com chave secreta, está no fato de que até o presente momento, a sua construção é mais arte do que ciência. Há uma grande necessidadede formulação mais científica dos princípios, nos quais a segurança de tais sistemas devem se basear. Neste trabalho, consideramos alguns princípios gerais (alguns já estabelecidos e outros mais recentes) para a construção de sistemas criptográficos. Fizemos uma abordagem geral da evolução da criptografia desde sua origem até sistemas mais modernos introduzidos J. L. Massey, que tem como princípio misturar operações de grupos incomparáveis, em que algumas versão são usadas por indústrias e bancos nos Estados Unidos e Europa. Fizemos uma breve abordagem sobre a produção de chaves, através da geração de sequências pseudoaleatórias, pois, a segurança de qualquer sistema depende de boas chaves. Esperamos que este trabalho dê subsídios e motivação para estudos posteriores, inclusive em um nível mais avançado. ENCRYPTION AS AN APPLICATION MATHEMATICS Abstract: the aim of this paper is to present an overview on the use of cryptography from its origins to the present day. It can be seen as a different application of science and in particular from mathematics. We intend to show the difference between encode and encrypt using a brief introduction to cryptographic systems with Secret-Key Block Ciphers and Stream Ciphers. Keywords: Encryption. Encode. Cryptographic Systems. 517