Está en la página 1de 2

Introducción al Software Base

Proyecto final v1.0 (20 puntos)

A realizar por equipos de 2 o 3 personas. No se permiten equipos de 1 sola persona. Entregable:


código fuente. En los comentarios debe aparecer la forma en cómo se debe ejecutar el
programa y los participantes del equipo.

Escribir un programa en ensamblador (x86 NASM) que permita encriptar o cifrar un texto con 1
de 60 posibles alfabetos. Los requerimientos son los siguientes:

1. Utilizar el archivo ‘cifrado.txt’ como base para el cifrado, el cual se encuentra en el


grupo de FB de la clase.
2. Recibir vía Standar Input (teclado), el índice o número del alfabeto que se utilizará.
Terminar el programa con un mensaje de error si el índice es menor a cero o mayor a
59.
3. El texto a cifrar será un argumento, delimitado por comillas.
4. El programa deberá imprimir el mensaje cifrado en pantalla. Muy importante: El texto
cifrado debe poder descifrarse de acuerdo a el número o índice de llave que indicamos.

Créditos parciales:
- Captura de Llave (2 puntos)
- Leer archivo de cifrado (3 puntos)
- Almacenar argumentos en memoria (3 puntos)
- Verificar si el programa puede ejecutarse de acuerdo al número de argumentos (2
puntos)
- Transformar texto (10 puntos)

Ejemplo:

./encripta “Tiene un virus conciencia de si mismo. Niet.”


Albafeto (Llave)?: 13
>uqzqLFzLGuCFDLo zouqzoumLpqLDuLyuDy gLZuqEg

Extra (10 puntos):

Realizar un programa que desencripte un texto, utilizando como argumentos el índice o


número de alfabeto a utilizar y el texto encriptado.

Ejemplo:
./desencripta “>uqzqLFzLGuCFDLo zouqzoumLpqLDuLyuDy gLZuqEg”
Albafeto (Llave)?: 13
Tiene un virus conciencia de si mismo. Niet.
Extra (2 puntos):
El programa de encriptación (o el de desencriptacion) escriba un archivo con el texto
procesado.

Extra (2 puntos):
Los programas y funciones deben estar comentados instrucción por instrucción, además de
incluir un encabezado que explique qué es lo que realiza el bloque de código.

Extra (3 puntos):
El programa pueda procesar más de un argumento de texto.

Extra (100 puntos):


Utilizar una llave mayor a 5 caracteres para cifrar el texto. (Incluir el programa descifrador)
./encripta “Tiene un virus conciencia de si mismo. Niet.”
Albafeto (Llave)?: guacamole
>uqzqLFzLGuCFDLo zouqzoumLpqLDuLyuDy gLZuqEg

Nota: No se permite que los equipos compartan código.

También podría gustarte