Skip to content

lhamavoadora1/cifra-rsa-ftt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

O programa foi feito em Python e seu controle é por teminal.

O programa começa selecionando dois números primos aleatórios para serem usados como os valores "p" e "q". Os números variam de uma escala de 100 a 1000 para garantir a integridade da mensagem e não exigir processamento computacional excessivo nas próximas etapas.

Os valores da chave pública "n" e "e" e da chave privada "d" devem ser calculados da seguinte forma:

n = p * q

phi(n) = (p - 1) * (q - 1)

e = um valor maior que 1 e menor e coprimo com phi(n)

d * e mod phi(n) = 1 => a partir desta fórmula, deve-se encontrar um valor de d adequado!

Sobre números coprimos: Coprimo é quando um número em que todos os seus fatores não coincidem com os fatores de outro número exceto pelo número 1.

4 é coprimo de 5, pois 4 => 1, 2, 4 | 5 => 1, 5

8 é coprimo de 9, pois 8 => 1, 2, 4, 8 | 9 => 1, 3, 9

Para cifrar, cada caractere foi convertido para seu código em unicode e feito o seguinte cálculo:

m = caractere em unicode

c = caractere em unicode cifrado

Cifrar o caractere: c = m ** e mod n

Decifrar o caractere: m = c ** d mod n

Após a cifragem, os caracteres são juntados em uma string utilizando separadores aleatórios criados pelo programa para dar uma falsa impressão de onde começa e onde termina cada caractere. O programa utiliza esta string para decifrar. A string então é separada e cada caractere é decifrado, resultando na mensagem final:

"The information security is of significant importance to ensure the privacy of communications".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages