IIC2233 / Syllabus-2022-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨
https://iic2233.ing.puc.cl/
45 stars 40 forks source link

Duda desencriptación #256

Open MaxAl100 opened 2 years ago

MaxAl100 commented 2 years ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Duda

Mi duda es en la desencriptación en el caso de que el mensaje que haya que desencriptar (sin el dígito que define si A o B van antes) sea par. Cuando es impar logré solucionarlo, pero cuando es par no sé cómo asegurarme de si el largo de A es igual al largo de B o si A es dos bytes más largos que B.

A este problema se me ocurrió que se podría añadir otro byte al comienzo para demarcar si A es dos más largo que B o no, pero no está mencionado en el enunciado, entonces no sé si se permite hacerlo o no. En caso de que no, pido asistencia de alguna manera para lograr llegar a una solución de desencriptar un mensaje con las características explicadas anteriormente.

Para explicar mejor mi problema, voy a realizar dos ejemplos:

En el primer caso, quiero encriptar la información "12345618". Quedaría con A = 1341 y B = 2568. Ya que 5.5 > 3.5, al final quedaría 025681347.

Pero si añado "9a" al final del ejemplo anterior queda lo siguiente: A = 13419a y B = 2568. 5.5 > 2.5 y quedaría 0256813419a

¿Cómo se cuál de los dos casos ha sucedido si son básicamente iguales excepto por su largo?

EDIT: (Creo que) he llegado a una solución, pero no sé si debo borrar este issue o no, ya que puede ser que he dado demasiada información 👀

JadrinaDA commented 2 years ago

Hola! Voy a responder por si alguien más tiene la duda pero que bueno que lo solucionaste. No deberías cambiar la codificación de los mensajes (agregar un bit) ya que se va a corregir que esté como en el enunciado. Los valores centrales para las secuencias con largo par se suman sin promediar, entonces el el primer caso sería 7 para A y 11 para B y en el segundo caso sería 5 y 11. Desencriptando esos dos ejemplos vas a obtener distintos mensajes porque tienen contenidos distintos. Espero que se entienda.