que je cherchais des exemples comment coder des choses en C en utilisant DES cypher et en-têtes OpenSSL et je trouve celui-ci: http://www.codealias.info/technotes/des_encryption_using_openssl_a_simple_exampleC: DES problème de cryptage
Le code est presque parfait, mais je ne suis pas expert dans ce choses et ma connaissance de C en C est pas si grand que je l'utilise sur les micro-contrôleurs PIC et AVR ...
Quoi qu'il en soit dans le code:
printf("Clear text\t : %s \n",clear);
memcpy(encrypted,Encrypt(key,clear,sizeof(clear)), sizeof(clear));
printf("Encrypted text\t : %s \n",encrypted);
memcpy(decrypted,Decrypt(key,encrypted,sizeof(clear)), sizeof(clear));
printf("Decrypted text\t : %s \n",decrypted);
Comme vous pouvez le voir, sizeof (clair) est utilisé comme la taille de la chaîne ... le problème est que sur l'exemple, nous connaissons le s ize de la chaîne de caractères ... mais quand j'envoie ce texte sur le réseau l'autre ordinateur ne le sait pas ...
Comment résoudre ce problème ... Je ne comprends pas très bien pourquoi J'ai besoin d'avoir la taille de la chaîne d'origine pour décrypter: S
Merci !!
Je voudrais simplement mentionner que ppl ne devrait pas vraiment être en utilisant DES ... il est cassé. 3DES (triple DES) est un bien meilleur choix. –
@Jeremy 3DES est en fait le même bon vieux DES appliqué 3 fois. Le DES n'est pas cassé, juste 64 bits (ou en réalité 56 bits) sont trop courts ces jours-ci, mais les clés 3DES double-longueur sont toujours correctes. On ne peut pas implémenter 3DES sans implémenter DES. – qrdl
@qrdl 3DES est appliqué à DES, puis appliqué à l'envers, puis réappliqué, et est considérablement plus fort que DES. DES n'est pas approuvé dans toute industrie réglementée nécessitant la transmission de données sécurisées, alors que 3DES est approuvé dans la plupart des cas. Ce n'est pas le plus fort, mais il devrait être considéré comme la norme minimale de cryptage des données pour tout nouveau travail. –