A Criptografia Via Scilab
Por: Íris Andrade • 3/8/2015 • Monografia • 1.426 Palavras (6 Páginas) • 479 Visualizações
IRIS TORRES DE ANDRADE
YASMIN DA GAMA COSTA
Criptografia via Scilab.
Monografia apresentada à Universidade Federal do ABC como parte dos requisitos para aprovação na disciplina de Bases Computacionais da Ciência.
Professor: André Brandão
São Bernardo do Campo — SP
2015
Sumário
1 Introdução 3
2 Objetivos 4
3 Justificativas 4
4 Metodologia 4
5 Resultados e Discussão 5
6 Conclusão 5
Referências Bibliográficas 6
A Apêndice 7
A.1 Programa Scilab – Máquina Enigma (Criptografia) 7
A.2 Programa Scilab – Máquina Bombe (Descriptografia) 7
A.3 Teste – Criptografia e Descriptografia 8
Introdução
O objetivo do Projeto Prático é demonstrar a aplicação dos conceitos e da metodologia científica aprendidos nas aulas das disciplinas Bases Computacionais da Ciência.
Os textos em AZUL deste metarelatório são explicações e/ou instruções sobre o relatório de cada equipe.
Este modelo deverá ser utilizado pelos alunos da disciplina Bases Computacionais da Ciência para elaboração do relatório de projeto a ser apresentado ao final do quadrimestre.
A introdução deverá incluir a motivação do projeto e uma revisão da literatura e estado atual do tema. Referências não acadêmicas, como revistas populares, blogs e sites semelhantes da internet, devem ser usados com parcimônia. Preferência deve ser dada a revistas científicas indexadas, artigos de eventos científicos e livros publicados por editoras científicas (com revisão por pares) e bases de dados oficiais ou certificados por instituições acadêmicas.
Toda informação extraída de uma destas fonte deve ser indicada explicitamente no próprio texto em forma abreviada (por exemplo, Brito e Costa, 2009) e na seção de Referências de forma detalhada. É importante saber também usar de forma apropriada a literatura, lembrando que o texto final é uma obra original cujo autor é a equipe, ou seja, tanto a idéias quanto o texto foram criados por estes autores e não copiados de outra fonte. Eventuais casos de plágio poderão levar a reprovação na disciplina.
As equipes deverão supor que o público leitor será um membro da comunidade científica com algum conhecimento correlato ao tema, ou seja, o leitor não é nem um leigo no assunto nem um especialista. Assim, por exemplo, se o trabalho for da área de química, os alunos poderão supor que o leitor é um biólogo com algum conhecimento no tema; se o trabalho versar sobre um tema da física, o leitor poderá ser um engenheiro. Dessa forma, os trabalhos não precisam trazer definições simplificadas ou explicações detalhadas de conceitos básicos da área, mas tampouco devem reproduzir mecanicamente siglas, fórmulas ou conceitos excessivamente especializados, inteligíveis apenas aos especialistas da área.
Objetivos
Determinar algoritmos de criptografia e descriptografia, através do software Scilab, para demonstrar as máquinas de rotor — Enigma e Bombe — utilizadas na 2ª Guerra Mundial pelo grupo eixo e pelo grupo dos aliados, respectivamente.
Justificativas
A máquina Enigma era utilizada pelos alemães para a comunicação entre as bases militares, as coordenadas dos ataques eram passadas via mensagens criptografadas por esta. A criptografia era bastante simples, mas sua engrenagem gerava milhares de possibilidades, o que tornava a tarefa em decifrar suas mensagens quase humanamente impossível.
Em 1939, Alan Turing se voluntariou a apoiar os aliados, sua equipe tinha aproximadamente 10 mil pessoas, entre matemáticos, linguistas, especialistas em palavras cruzadas e xadrez, que trabalharam a fim de decifrar as mensagens enviadas pela Enigma. A partir disto, descobriram que existia uma falha quase indetectável no código, uma letra nunca era criptografada de forma que representasse ela mesma. Com essa descoberta, a equipe de Turing desenvolveu uma máquina capaz de decifrar as mensagens alemãs.
A fim de entender o funcionamento da máquina Enigma, foram elaborados no Scilab dois programas que apresentarão a criptografia e a descriptografia utilizada pelos grupos eixo e aliados.
Metodologia
Utilizamos o SciNotes para representar dois programas, com base na matéria Segurança de dados (BC1512), do curso de Ciência da Computação, onde as máquinas Enigma e Bombe, foram recriadas através de técnicas retiradas do manual do Scilab;
Os comandos utilizados foram:
Function: É o comando que indica que está sendo definida uma função, no caso “Cript” e “Descript”, que serão utilizados no console para a declaração de uma mensagem que queira criptografar ou descriptografar, respectivamente.
Asciimat: Converte uma cadeia (no caso a chave de criptografia) Scilab ao código ASCII ou uma matriz de código ASCII para string Scilab. A saída é uma matriz que tem o mesmo número de linhas do que a entrada.
Size: A função “size” retorna o número de linhas e o número de colunas de uma matriz.
Find: A função “find” encontra índices de elementos verdadeiros em uma matriz ou vetor de booleanos.
For: Usado para definir laços.
Ex.: for variável= expressão
Se expressão é uma matriz ou um vetor linha, variável toma como valores os valores de cada coluna da matriz.
Resultados e Discussão
Os programas exibidos nos apêndices A.1 e A.2 foram executados no console Scilab, a partir do SciNotes com o intuito de criptografar e em seguida descriptogafar uma mensagem previamente escolhida, no programa utilizamos apenas uma chave para a descriptografia, onde o alfabeto em sua sequência correta (“ABCDEFGHIJKLMNOPQRSTUVWXYZ”) seria criptografado na sequência (“GERXBYQDCNFPTMJKSWILVAOUZH”), e vice-versa para a descriptografia.
O teste feito após a execução está exibido no apêndice A.3.
Os resultados esperados foram alcançados e como demonstrado no apêndice a mensagem “PROJETO FINAL BASES COMPUTACIONAIS DA CIENCIA” foi criptografada para “KISTCZV MWUPU KKCAF ONCTIIGXFWWYJH TF JAIRIHI” e em seguida descriptografada.
...