transposicion por metodo julio encriptar encriptacion desencriptar cifrado cesar encryption rsa blowfish des publicdomain

encryption - por - encriptacion metodo cesar c++



Implementación simple de cifrado en C (4)

La misma persona que lanzó la implementación C ++ DES también lanzó un algoritmo de cifrado C Rijndael . Debería haber hurgado un poco más en su sitio web. El algoritmo de cifrado pequeño ( documento académico aquí ) también tiene una huella de implementación C muy pequeña.

Blowfish se ve bien, y es probablemente el mejor de estos tres en cuanto a seguridad.

Comenzaré con el TEA (código pequeño y huella de memoria) pero envuélvalo para poder pasar a otro algoritmo más adelante si es necesario. Tiene debilidades notables en sus implementaciones anteriores, pero para este proyecto podría ser excesivo.

-Adán

He utilizado una buena implementación de DES C ++ de dominio público antes, pero ahora necesito una criptografía simple, básica y rápida para un sistema integrado.

No es necesario que sea irrompible, pero sí necesita frustrar al pirata informático casual (es decir, nada que pueda usarse para robar dinero o identidad, sino otra información personal transferida a tarjetas de memoria que podrían perderse o caer en las manos equivocadas )

Debido a la memoria limitada en este procesador, prefiero algo que pueda codificar en fragmentos discretos (512 bytes o menos).

El proyecto no es de código abierto, y no utilizará bibliotecas, que sé que restringe aún más las opciones; el dominio público es el mejor, pero BSD / apache / etc probablemente sea aceptable ...

Tengo dudas sobre si puedo (como todos deberían).

-Adán


Puede usar un generador de números Pseudoaleatorio (PRNG) para generar una secuencia repetible de palabras, que luego XOR con la palabra correspondiente en su flujo de datos. (El transmisor y el receptor necesitan saber de antemano los parámetros utilizados para generar la secuencia pseudoaleatoria).

Este enfoque no es irrompible, pero es un paso adelante con el uso de una constante para el XOR-ing, y los PRNG son muy simples de implementar, generalmente consisten en una operación de multiplicación y módulo para cada palabra.


Si solo está buscando una ofuscación, XOR con una constante secreta es una implementación tan pequeña como la que encontrará. También sería trivial de romper, ya que es vulnerable al análisis de frecuencia para buscar las letras inglesas más comunes.

Si necesitas un algoritmo más fuerte, te recomiendo mirar blowfish, que tiende a ser pequeño y rápido. Todavía requiere memoria para las tablas, pero con suerte funcionará para su aplicación.

Bruce Schneier puso explícitamente el algoritmo Blowfish en el dominio público, desautorizando las patentes. Puede obtener su implementación en C (y otras implementaciones también) desde su sitio . Esta fuente no tiene un aviso de copyright. Sospecho que el código fuente también es de dominio público, pero puede ser necesario un poco más de verificación.


RC4 es simple y rápido.