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
yión
- Mensaje cifrado:
orPargcamnói
Ejemplo 02
- Mensaje claro:
Programación Funcional
- Grupos de:
5
- Agrupaciones:
Progr
,amaci
,ón Fu
,ncion
yal
- Mensaje cifrado:
rgorPicamauF nónoicnla
Ejemplo 03
- Mensaje claro:
Cálculo Lambda
- Grupos de:
12
- Agrupaciones:
Cálculo Lamb
yda
- 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)
""