Cifrado por grupos inversos
Este cifrado reordena los caracteres de un mensaje claro por grupos, invirtiendo el orden de los caracteres en estos últimos.
Defina la función cifrado-por-grupos-inversos tal que dado un mensaje claro y la cantidad de caracteres por grupo
regresa el mensaje cifrado. La cantidad de caracteres por grupo es un número entero mayor a 2.
Ejmplos
Ejemplo 01
- Mensaje claro: Programación
- Grupos de: 3
- Agrupaciones: Pro,gra,macyión
- Mensaje cifrado: orPargcamnói
Ejemplo 02
- Mensaje claro: Programación Funcional
- Grupos de: 5
- Agrupaciones: Progr,amaci,ón Fu,ncionyal
- Mensaje cifrado: rgorPicamauF nónoicnla
Ejemplo 03
- Mensaje claro: Cálculo Lambda
- Grupos de: 12
- Agrupaciones: Cálculo Lambyda
- Mensaje cifrado: bmaL olucláCad
Pruebas
;; Para el Ejemplo 01
=> (cifrado-por-grupos-inversos "Programación" 3)
orPargcamnói
;; Para el Ejemplo 02
=> (cifrado-por-grupos-inversos "Programación Funcional" 5)
rgorPicamauF nónoicnla
;; Para el Ejemplo 03
=> (cifrado-por-grupos-inversos "Cálculo Lambda" 12)
bmaL olucláCad
;; Cuando la cantid de caracteres por grupo excede la longitud del texto claro
=> (cifrado-por-grupos-inversos "Programación" 30)
nóicamargorP
;; Cuando la cantidad de caracteres por grupo es menor a 2
=> (cifrado-por-grupos-inversos "Programación" -5)
""
;; Cuando alguno de los argumentos no sea útil
=> (cifrado-por-grupos-inversos [1 2 3] 4)
=> (cifrado-por-grupos-inversos "Programación" true)
=> (cifrado-por-grupos-inversos \@ 3.4)
""