Desenvolvimento em linguagem python de algoritmo para criptografia e desencriptografia de sinais com utilização de chaves dinâmicas - Pareto Junior, Pedro Paulo (2023)
A criptografia de sinais é um processo de transformação das propriedades físicas dos sinais, tornando os sinais originais em sinais indecifráveis para quem não possui o algoritmo de desencriptação. Esta criptografia é realizada na Camada Física, e seu propósito consiste no aumento da segurança nesta camada dos sistemas de comunicações. Neste processo de encriptação o agente transmissor transforma o sinal original por meio de um algoritmo e de uma chave de encriptação. Enquanto o agente receptor poderá ter acesso ao sinal original por meio do processamento do algoritmo de desencriptação utilizando uma chave como entrada neste algoritmo. Nosso grupo escolheu a linguagem Python para simular criptografia de sinais, por ser de alto nível, multiplataforma, orientada a objetos, estruturada, com vasta e crescente biblioteca de funções, e gratuita. Podendo ser executada em qualquer sistema operacional por ser interpretada, além de permitir criação de classes com seus respectivos objetos. O objetivo deste trabalho foi implementar alguns dos módulos utilizados para este simulador e colaborar na implementação de outros. As principais contribuições deste trabalho foram as implementações do módulo de embaralhamento intercanal e o de chaves dinâmicas. O módulo de embaralhamento intercanal realiza o troca de amostras entre diferentes sinais presentes na entrada do simulador. Neste algoritmo há uma chave que vai promover a troca das amostras espectrais entre estes diferentes sinais, e esta chave é gerada por uma distribuição aleatória discreta das amostras. A chave que contêm a sequência do embaralhamento, será utilizada pelo receptor por meio de um algoritmo de desencriptação para realizar o desembaralhamento, e ter acesso à informação original. O resultado alcançado foi o mesmo gráfico dos valores de BER em função da SNR obtido pelo algoritmo em MatLab®. O objetivo do módulo das chaves dinâmicas foi de encriptar cada bloco de informação com uma chave distinta ao longo do tempo de forma dinâmica e automática para cada nova transmissão. Neste trabalho de maneira complementar foi implementado o algoritmo das chaves dinâmicas para a encriptação e desencriptação espectral de fase com processamento digital do sinal (spectral phase digital signal processing, SPE- DSP). O processamento deste algoritmo executa operações com manipulações de matrizes e vetores, através da utilização de várias funções auxiliares, para a geração das chaves dinâmicas. Este módulo foi integrado ao algoritmo de criptografia e descriptografia chamado simulador KryptoSJPy. Os resultados obtidos comprovam que a utilização das chaves dinâmicas na encriptação das mensagens atende as propriedades de difusão e confusão propostas por Shannon. Outro resultado foi que a comparação dos valores das chaves dinâmicas obtidas com o algoritmo das chaves dinâmicas realizados em MatLab® e em Python apresentou um desvio percentual igual a zero.