Example #1
0
import Cesar, RailFence
import hashlib

TextoACifrar = open('mensajedeentrada.txt',
                    'r')  #Txt que contiene el texto plano
TextoPlano = TextoACifrar.readlines()[0]  #Extrae el texto plano del archivo
TextoACifrar.close()

#Aplicación del Hash md5 al texto plano
TextoHash = hashlib.md5()
textoAHashear = TextoPlano
TextoHash.update(textoAHashear.encode())
HashTextoPlano = TextoHash.hexdigest()

N_Cesar = 5  #Nro de veces de Cesar
NivelesRailFence = 3  #Nro de bajas en Rail Fence

TextoCesar = Cesar.Rot(N_Cesar)(TextoPlano)  #Texto cifrado con Cesar

TextoRailFence = RailFence.Encriptar(
    TextoCesar, NivelesRailFence)  #Texto cifrado por RailFence

archivoHashear = open('mensajeseguro.txt', 'w')
archivoHashear.write(TextoRailFence)
archivoHashear.close()

print("=================================================")
print("Mensaje Original:", TextoPlano)
print("Mensaje Encriptado:", TextoRailFence)
Example #2
0
import Cesar, RailFence
import hashlib
from Main_Encriptacion import HashTextoPlano, TextoPlano, N_Cesar, NivelesRailFence  #Se exporta el hash del texto plano y los niveles de Cesar y RailFence

TextoDescrifrar = open(
    'mensajeseguro.txt',
    'r+')  #Txt que contiene el texto encriptado por 2 cifrados de sustitución
TextoEncriptado = TextoDescrifrar.readlines()[0]
TextoDescrifrar.close()

DescifrarRailFence = RailFence.Desencriptar(
    TextoEncriptado, NivelesRailFence)  #Descrifrado por RailFence

DescifradoCesar = Cesar.Rot(-N_Cesar)(
    DescifrarRailFence)  #Descifrado por Cesar

#Metodo para Hashear el texto descrifrado
HashTextoDescifrado = hashlib.md5()
textoAHashear = DescifradoCesar
HashTextoDescifrado.update(textoAHashear.encode())
HashTextoDescencriptado = HashTextoDescifrado.hexdigest()

#Validador si el hash del texto plano es el mismo que el texto descrifrado
print("=================================================")
if HashTextoPlano == HashTextoDescencriptado:

    print("El mensaje no ha sido modificado")
else:
    print("El mensaje ha sido adulterado")
print("=================================================")
print("Mensaje Original:", TextoPlano)
Example #3
0
"""
Desafio:
Se le solicita a usted crear un programa el cual tenga como objetivo poder enviar un mensaje seguro
asegurando la integridad de este sin que este sea modificado, para esto se le pide a su equipo que
construya en el lenguaje que desee un programa que sea capas de cifrar ocupando cualquier red de
sustitucion que usted defina y generar un hash de un archivo de texto llamado mensajedeentrada.txt
generando un nuevo archivo llamado mensajeseguro.txt en el cual posteriormente puedan con un segundo
programa generar la operacion a la inversa, generando el mismo mensaje original con el adicional de
poder detectar si el mensaje ha sido modificado o no.
"""

Texto = "Hola Mundo ñoño"
Nivel_RF = 2

#Encriptado y desencriptado Cesar
Cesar_Encrypt = Cesar.Rot(3)(Texto)
print(Cesar_Encrypt)
print(Cesar.Rot(-3)(Cesar_Encrypt))

#Encriptado y desencriptado Rail Fence
RF_Encrypt = RailFence.Encriptar(Texto, Nivel_RF)
print(RF_Encrypt)
print(RailFence.Desencriptar(RF_Encrypt, Nivel_RF))

###############################################################

hashmd5 = hashlib.md5()
stexto = "hola Altaruru, hoy es lunes 1 de Octubre de 2018"
hashmd5.update(stexto.encode())
print(hashmd5.hexdigest())