Crypto c++

Résolu/Fermé
Utilisateur anonyme - 29 juil. 2016 à 15:38
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 31 juil. 2016 à 14:48
Bonjour,

pouvez vous m'expliquer la logique de l'algorithme Blowfish ?
j'aimerais pouvoir l'utiliser pour mon programme.

j'espere secretement ne pas avoir a le réimplementer tel que : https://github.com/h2so5/Blowfish
je crois savoir qu'il est possible de l'utiliser via une lib mais comment ????

merci de votre attention.

A voir également:

2 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
31 juil. 2016 à 14:48
Un petit
johand@bata:~$ apt-cache search blowfish | grep  -- '-dev' 
me donne:

libgcrypt20-dev - bibliothèque de chiffrement sous LGPL — fichiers de développement
libcryptgps-ocaml-dev - OCaml implementation of symmetric cryptographic algorithms: Blowfish, DES, 3DES
golang-golang-x-crypto-dev - Supplementary Go cryptography libraries
libghc-cipher-blowfish-dev - Blowfish cipher
libghc-crypto-dev - cryptographical algorithms for Haskell
libghc-cryptocipher-dev - Symmetrical block and stream ciphers
libghc-cryptonite-dev - cryptographic primitives
libcrypto++-dev - General purpose cryptographic library - C++ development
libgcrypt-mingw-w64-dev - LGPL Crypto library - Windows development
libmcrypt-dev - De-/Encryption Library development files
libtomcrypt-dev - static library, header files and documentation for libtomcrypt
libxcrypt-dev - Development files for Crypt library
libmbedtls-dev - lightweight crypto and SSL/TLS library - development files

Tu en déduis ce que tu dois aller chercher au marché. Sélectionne ce qu'il te faut et les bibliothèques associées bien entendu.
1
Utilisateur anonyme
29 juil. 2016 à 16:09
je crois savoir qu'il est possible de l'utiliser via une lib mais comment ????


Quand tu regardes dans le .h tu as les deux fonctions :

std::vector<char> Encrypt(const std::vector<char> &src) const;
std::vector<char> Decrypt(const std::vector<char> &src) const;

qui te permettent de chiffrer et déchiffrer des tableaux de de type char
0
Utilisateur anonyme
30 juil. 2016 à 14:23
il est donc necessaire d'ajouté ce code entier a mon programme si je comprend bien ?
pas moyen d'utilisé ses fonction d'une magnier plus 'light' ?

merci de ta réponse Rocailleux
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225 > Utilisateur anonyme
30 juil. 2016 à 17:04
Non, c'est comme ça qu'on fait. Tu as toujours la possibilité d'en faire une lib statique ou dynamique, mais dans le 1er cas le code se fait quand même inclure tel quel à ton programme, et dans le 2e ton programme aura une dépendance sur un fichier supplémentaire, en plus d'être un tout petit peu plus lent à charger.
Rien ne t'empêche d'organiser ton code dans des dossiers; tu cases le contenu de ce dépôt dans un répertoire "blowfish" et fait
#include "blowfish/blowfish.h"
pour t'en servir (il faudra quand même compiler le
.cpp
).
0
Utilisateur anonyme
31 juil. 2016 à 10:50
ok,
c'est effectivement ce que j'ai fait pour le moment et cela compile plutôt bien jusqu'a present .

donc si je comprend bien le code Blowfish :
je fournie au constructeur Blowfish ma clé sous forme de vector<char>
puis j'envoie mon fichier egalement en vector<char> a la fonction encrypt ou decrypt
qui me renvoie dans les deux cas un vector<char> qui comprend le resultat de l'operation desiré.

cela me semble beaucoup plus claire a present.
merci de votre aide, c'etait comme d'hab precis et reactif.

me reste un vieu warning sur le #pragma once du fichier.h de blowfish ...
je ne sait pas a quoi c'est due ....

#pragma once in main file
0
Utilisateur anonyme
31 juil. 2016 à 11:12
j'ai finalement delete le #pragma vue que j'ai renomer le .h en .hpp donc normalement plus besoin si je me trompe pas .
0