En este reto se proporciona un texto cifrado y un programa en Python que implementa el cifrado. Había dos funciones principales en el código: b16_encode que toma el texto plano y shift que desplaza los caracteres. Tras leer el código se hace evidente que la función de codificado convierte cada carácter del texto plano a su representación binaria de 8 bits y luego la divide en dos trozos de 4 bits.
Cada trozo de 4 bits, es decir valores de 0 a 15, se mapea a una letra del alfabeto ALPHABET formado por las primeras 16 letras minúsculas a hasta p. La función shift trabaja sobre ese alfabeto reduciendo o aumentando la posición mediante suma modular con la clave, que también es una sola letra en el rango a hasta p. Por tanto, el resultado final es un desplazamiento modular de la cadena codificada en base16.
La estrategia de ataque es directa: primero revertir el desplazamiento sobre cada carácter del texto cifrado para recuperar la codificación base16 y luego convertir cada par de símbolos a un byte para reconstruir el texto plano. En términos prácticos la función unshift toma un carácter c y una clave k y resta sus desplazamientos respecto a a, aplicando la operación módulo 16; la función b16_decode sustituye cada letra por su valor entre 0 y 15, forma una cadena binaria concatenando bloques de cuatro bits y agrupa en bytes de 8 bits para obtener los caracteres ASCII.
Probando claves simples se puede iterar sobre posibles valores de clave de una sola letra. En el caso comentado al probar con key igual a c apareció la secuencia et_tu en el texto descifrado, un guiño histórico a la frase atribuida a Julio César al ser traicionado por Bruto, que refleja sorpresa y desilusión por una traición inesperada.
Si necesitas apoyo para desarrollar herramientas similares, auditorías de seguridad o automatizar procesos de cifrado y descifrado en tus aplicaciones, en Q2BSTUDIO somos especialistas en software a medida y aplicaciones a medida, y ofrecemos servicios de ciberseguridad y pentesting para evaluar y reforzar tus sistemas. Podemos acompañarte desde el diseño de la solución hasta su despliegue en la nube y su monitorización continua.
Ofrecemos además soluciones avanzadas de inteligencia artificial y IA para empresas, incluyendo agentes IA y modelos a medida; si te interesa explorar cómo la IA puede potenciar tus productos y procesos consulta nuestro servicio de inteligencia artificial en Q2BSTUDIO Inteligencia Artificial. Para necesidades concretas de seguridad y pruebas de penetración visita nuestra página de ciberseguridad y pentesting.
También trabajamos con servicios cloud aws y azure, integración de Power BI y servicios de inteligencia de negocio para convertir datos en decisiones accionables, y diseñamos agentes IA y soluciones analíticas que se integran con procesos empresariales. Si buscas software a medida, desarrollo de aplicaciones multiplataforma o consultoría en automatización y seguridad, en Q2BSTUDIO ofrecemos experiencia completa desde el prototipo hasta la puesta en producción.