Entradas

Jaque Mate.

Martes 08 de Junio. Contexto. Tras concluir con la solución computacional del proyecto y la mayor parte de la documentación, solo quedaban pequeños detalles para la entrega del proyecto, tales como: Análisis de resultados, tabla de distribución del trabajo y lecciones aprendidas. Para ello nuevamente me reuní con mi compañero Andrés para concluir con estos detalles y así poder entregar nuestro proyecto. Una reunión chill, en resumen. Aprendizajes. Más que un aprendizaje este cierre de detalles fue un resumen de todo el trabajo hecho en las últimas semanas, hacer auto crítica de los aspectos que se pueden mejorar y desde luego las virtudes de nuestro trabajo. Calificaciones. -Diversión: 8/10. Una reunión corta, dinámica y eficiente, por lo tanto no se hizo pesada y fue bastante entretenida. -Dificultad: 2/10. Pequeños análisis para completar objetivos cumplidos y resultados en general del proyecto. En general, poco exigente. -General: 8/10. Aquí hay un gran punto a favor de esta cesión:...

Misión casi cumplida.

Domingo 07 de Junio. (Aunque empezamos ayer temprano). Contexto. Una vez listo el menú, apagamos nuestras computadoras (bueno en realidad no porque hicimos llamada en Discord y el trabajo lo hicimos en Google Docs pero quedaba bonito decirlo) y nos pusimos el traje de ejecutivos para realizar una maratónica llamada, con el objetivo de dejar nuestro trabajo escrito casi concluido. Mi compañero ya había avanzado con buena parte del trabajo escrito, por ello nos dispusimos a elaborar el manual del usuario y algunas pruebas de funcionalidad. Esta no fue una actividad muy dinámica pero es una parte importante para presentar nuestro proyecto lo antes posible. Aprendizajes. Por mi parte no hay mucho para destacar aquí, pues el trabajo fue sumamente monótono. Probar, tomar screenshots y anotar. El proceso repetido durante toda la noche hasta ahora que por fin después de una larga jornada estoy a punto de concluir. Calificaciones. -Diversión: 3/10. Es agradable chismear de la vida con mi compañ...

El menú está listo y la mesa servida

Viernes 05 de Junio. Contexto. No solo de cifrados vive el hombre, por ello una parte importante del programa es ordenar todos los cifrados hechos por separado en un menú que cumpla con la estética para agradar al usuario, y por usuario me refiero al profesor, y así concluir con la parte computacional de este proyecto. Un pequeño tutorial encontrado en las catacumbas de Internet me permitió conocer a la bella función os.system. Importando esa función logré realizar mi menú, añadiendo cada uno de los algoritmos que con mucho amor confeccionamos mi compa Andrés y yo. Aprendizajes. Además de la ya mencionada función os.system, otro de mis aprendizajes fue corregir los resultados de cada uno de los algoritmos, pues estos se mostraban en las funciones originales por medio de un return, pero lógicamente al estar manejando un ciclo que controlaba el menú, fue necesario cambiar los return por print y eso fue suficiente. Además una parte importante de esto es la tensión al detalle para comproba...

El Mounstruo Final domado después de varios días.

Del 01 de Mayo al 03 de Mayo. Contexto. Decidí hacer un único registro general de los tres días que tardé con el algoritmo RSA para facilitar la evaluación de aprendizajes de mejor manera. -El 1 de Mayo parecía ir todo bien pues creía entender la estructura del algoritmo. Logré terminar el codificado, aunque leyendo varias veces el folleto me dejaba dudas de si estaba bien. -El 2 de Mayo entendí mejor cómo funcionaba pero los resultados no me parecían correctos y comprobé eso porque el decodificado no me funcionaba. La gran duda era como lograr que los valores de e,n y d no cambiaran cada vez que corría el algoritmo. -El 3 de Mayo un compañero de otro grupo (shoutout para Jose), me ayudó a comprender cómo ajustar los algoritmos para fijar los valores de p, q, n, e y d. Además como reducir el rango de búsqueda de "d" para que no explotara mi compu. Gracias a su ayuda y el esfuerzo de tres días, el RSA está listo. Aprendizajes. Utilizar un rango para la función random que encon...

Volviendo al trabajo.

Viernes 29 de Mayo. Contexto. Después de un pequeño receso regresé para hacer el cifrado telefónico. Este cifrado me recordó al Cifrado César pues es sencillo y monótono. Asigné a cada letra un valor de dos cifras y básicamente con eso construí con facilidad el algoritmo de codificado. El decodificado fue levemente más complejo pero aún así en general el algoritmo es más sencillo que el clave y Vigenere.  Aprendizajes. No hubo mucha complicación para codificar. Podría destacar que para decodificar no consideré en primera instancia que no era exactamente igual que el codificado, pues había que cortar los espacios que se agregaron entre cada dos cifras, pero además había que evaluar los dos primeros elementos por ejemplo "21". Sin embargo, fue bastante sencillo. Calificaciones. -Diversión: 4/10. Si son fans del blog sabrán que me aburrió muchísimo el cifrado César. Este fue muy parecido pero debo decir que el hecho de que nos falten pocos algoritmos por terminar me motivó un po...

Vigenère dans l'après midi

Martes 26 de Mayo. Contexto. Tras haberme enfrentado a mi primer reto serio con el cifrado clave, debía continuar con el Vigenere que parecía ser muy similar. Esta vez me ahorró mucho tiempo tener las funciones que asignan números a las letras y viceversa. No sé si andaba muy inspirado o es que el nivel de dificultad del cifrado clave era mucho más alto, pero el Vigenere no me tomó mucho tiempo. El descifrado tampoco dio muchos problemas y eso facilitó que terminara rápidamente el chiffrement. Aprendizajes. Ya estoy dominando mucho la combinación de operaciones matemáticas y de strings dentro de un mismo bucle, entonces ese no es un aprendizaje del todo nuevo pero pude dominar mejor esta área.  Calificaciones. -Diversión: 8/10. Cuando se combina un algoritmo entretenido con poder tener fluidez, el resultado es una actividad muy entretenida. Aquí no hubo muchas actividades monótonos y por lo tanto fue bastante entretenido. -Dificultad: 5.5/10. Honestamente el Vigenere no tiene ...

Primer desafío fuerte concluido!

Lunes 25 de Mayo. Contexto. Desde el día de ayer intenté encontrar una solución a este algoritmo. Logré entenderlo pues no es difícil de comprender, pero detalles como qué hacer cuando el mensaje tiene más letras que nuestra clave complicaron el trabajo. Aquí noté una clara diferencia de dificultad entre el primer cifrado y este, pero ahora que lo he terminado, tampoco parece un desafío gigante. Aprendizajes. Hubo una parte del reto que fue parecida al anterior, pues asigné a cada letra mayúscula y minúscula un valor numérico y viceversa. Esa fue la parte más sencilla. La parte más complicada estuvo en mezclar operaciones matemáticas con operaciones con strings, y eso me llevó a cometer varios errores de sintaxis. Mi mayor dolor de cabeza fue no saber qué hacer una vez que se me agotaran las letras de la clave, pero fue ahí donde una voz dentro de mí me susurró: "mae, use una variable que tenga el mismo valor de la clave, para que la use en el bucle y que cuando se gasté vuelva a ...