Desenvolvimento em linguagem python de algoritmo para criptografia e desencriptografia de sinais com utilização de chaves dinâmicas - Pareto Junior, Pedro Paulo [UNESP] (Universidade Estadual Paulista (Unesp), 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.

Signal encryption is a process of transforming the physical properties of signals, turning the original signals into indecipherable signals for those who do not have the decryption algorithm. This encryption is performed at the physical layer, and its purpose is to increase security at this layer of communication systems. In this encryption process, the transmitting agent transforms the original signal using an algorithm and an encryption key. While the receiving agent may have access to the original signal through the processing of the decryption algorithm using a key as input in this algorithm. Our group chose the Python language to simulate signal encryption because it is high-level, cross-platform, object-oriented, structured, with a vast and growing library of functions, and free. It can be executed in any operating system because it is interpreted, in addition to allowing the creation of classes with their respective objects. The objective of this job was to implement some of the modules used for this simulator and collaborate in the implementation of others. The main contributions of this job were the implementations of the interchannel scrambling and the dynamic keys. The interchannel scrambling module performs the exchange of samples between different signals present at the simulator input. In this algorithm there is a key that will promote the exchange of spectral samples between these different signals, and this key is generated by a discrete random distribution of the samples. The key containing the scrambling sequence will be used by the receiver through a decryption algorithm to perform the unscrambling and have access to the original information. The result achieved was the same graph of BER and SNR obtained by the algorithm in MatLab®. The objective of the dynamic keys’ module was to encrypt each block of information dynamically and automatically with a different key over time for each new transmission. In this job, in a complementary way, the algorithm of dynamic keys for phase spectral encryption and decryption with digital signal processing (spectral phase digital signal processing, SPE-DSP) was implemented. The processing of this algorithm performs operations with manipulations of matrices and vectors, by several auxiliary functions, for the generation of dynamic keys. This module has been integrated into the encryption and decryption algorithm called the KryptoSJPy simulator. The obtained results prove that the use of dynamic keys in the encryption of messages meets the properties of diffusion and confusion proposed by Shannon. Another result was that the comparison of the dynamic keys values obtained with the dynamic keys algorithm performed in MatLab® and in Python presented a percentage deviation equal to zero.
Cryptography algorithm development in python language and decryption of signals using dynamic keys
Keywords: Criptografia; Segurança de sistemas; Comunicações ópticas