elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  AES
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AES  (Leído 1,900 veces)
PimpL

Desconectado Desconectado

Mensajes: 2


Ver Perfil
AES
« en: 2 Septiembre 2016, 15:22 pm »

Hola a todos, soy desarrollador de aplicaciones web en ruby,
pero hace poco desarrolle una aplicacion en C++ (Tengo un poco de soltura) destinada a cifrar varias bases de datos del servidor al vuelo, es decir automatizar la entrada de ciertos datos en el servidor y cifrarlos

En ruby las librerias de criptografia son bastante senzillas de utlizar pero en C++ en un verdadero fastidio.

Alguien sabe como cifrar/desenciptar con AES en C++ con alguna libreria?
Por ejemplo: encript(plaintext,key)  decrypt (ciphertext, key)

Es decir, si alguien me puede poner un ejemplo cifrando descifrando con AES, he probado varias librerias OpenSSL, PolarSSL, wolf, en fin que hay tanto codigo que nose ni por donde empezar.

Alguien me podria poner un simple ejemplo de como se hace??

Muchas gracias
PD: Tiene que ser en C++ si o si.


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.697


🏴 Libertad!!!!!


Ver Perfil WWW
Re: AES
« Respuesta #1 en: 2 Septiembre 2016, 15:41 pm »

Ya trataste de usur libgcryp?

En un momento mas te pongo un ejemplo usando esta libreria.

la libreria esta muy bien documentada y fácilmente puedes usarla en cualquier proyecto.

Saludos


En línea

PimpL

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: AES
« Respuesta #2 en: 2 Septiembre 2016, 15:43 pm »

Ya trataste de usur libgcryp?

En un momento mas te pongo un ejemplo usando esta libreria.

la libreria esta muy bien documentada y fácilmente puedes usarla en cualquier proyecto.

Saludos
No, esa no la vi creo, pero tiene que ser compatible con windows eso si, si puede ser que pueda compilar el codigo junto con la otra parte de mi  codigo para qe pueda ser portada y ejecutada desde cualquier windows (es para la empresa en general)

Gracias por contestar
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.697


🏴 Libertad!!!!!


Ver Perfil WWW
Re: AES
« Respuesta #3 en: 2 Septiembre 2016, 15:56 pm »

Si no mal recuerdo por ahi debe de estar la DLL.

la libreria se tiene que inicializar y posteiormente se usa sin problemas el ejemplo para cifrar es este.

Código
  1. int encrypt(char *buffer,char *pass,char *iv,int length) {
  2. gcry_error_t err = 0;
  3. gcry_cipher_hd_t aes_hd;
  4. gcry_cipher_open(&aes_hd, GCRY_CIPHER_AES256,GCRY_CIPHER_MODE_CBC, GCRY_CIPHER_SECURE);
  5. err = gcry_cipher_setkey(aes_hd, pass, 32);
  6. if (err) {
  7. fprintf(stderr,"gcry_cipher_setkey(): could not set cipher key\n");
  8. fclose(stderr);
  9. exit(0);
  10. }
  11. err = gcry_cipher_setiv(aes_hd, iv, 16);
  12. if (err) {
  13. fprintf(stderr,"gcry_cipher_setiv(): could not set cipher initialization vector\n");
  14. fclose(stderr);
  15. exit(0);
  16. }
  17. err = gcry_cipher_encrypt(aes_hd, (unsigned char*) buffer, length, NULL, 0);
  18. if (err) {
  19. fprintf(stderr,"gcry_cipher_encrypt(): unable to encrypt file\n");
  20. fclose(stderr);
  21. exit(0);
  22. }
  23. err = gcry_cipher_reset(aes_hd);
  24. gcry_cipher_close(aes_hd);
  25. return err;
  26. }

Ten en cuenta que hay varias formas de usar AES y tiene tambien distintos tamaños AES128 AES256

Ademas de especificar el tipo de bloque a usar.

He usando funciones similares en C# para windows poro no en C++.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines