¿Cómo creo un circuito combinado que encripta un mensaje usando el cifrado de Caesar?
¿Y otro circuito que desencripta este mensaje?
Pensé en usar aritmética modular, pero tampoco encontré una forma sencilla de hacerlo.
¿Cómo creo un circuito combinado que encripta un mensaje usando el cifrado de Caesar?
¿Y otro circuito que desencripta este mensaje?
Pensé en usar aritmética modular, pero tampoco encontré una forma sencilla de hacerlo.
Pensé en usar aritmética modular
Sí, así es como lo haces, está bien.
pero tampoco encontré una forma sencilla de hacerlo.
Y, si vas a construirlo a partir de circuitos integrados, no vas a encontrar una forma "simple".
Su problema es que (como ha notado) los 94 caracteres que seleccionó arbitrariamente (supongo que tomó los caracteres imprimibles y excluyó el espacio) están compensados con 33 desde cero.
Entonces,
1) comienza compensando tus personajes. Use un par de sumadores de 4 bits para restar 33.
2) Convierte tu clave de la misma manera.
3) Agrega los dos usando otro par de sumadores.
4) Use un par de comparadores de 4 bits, un par de sumadores de 4 bits o un comparador de 8 bits para detectar un resultado mayor que 93.
5) Si el paso 4 da un resultado positivo, usa otro par de sumadores para restar 93 de los resultados del paso 3.
6) Ahora agregue 33 para obtener un ASCII válido
Eso es un total preliminar de 12 DIP de 16 bits, que no es simple, pero tampoco escandaloso. Usando paneles de wirewrap, he diseñado sistemas con varios cientos de chips, por lo que puedo estar un poco disgustado al respecto. YMMV.
Lea otras preguntas en las etiquetas digital-logic