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, mac y ión
  • Mensaje cifrado: orPargcamnói

Ejemplo 02

  • Mensaje claro: Programación Funcional
  • Grupos de: 5
  • Agrupaciones: Progr, amaci, ón Fu, ncion y al
  • Mensaje cifrado: rgorPicamauF nónoicnla

Ejemplo 03

  • Mensaje claro: Cálculo Lambda
  • Grupos de: 12
  • Agrupaciones: Cálculo Lamb y da
  • 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)
""