Question générale sur la cryptographie

Question générale sur la cryptographie - C++ - Programmation

Marsh Posté le 27-06-2003 à 10:45:51    

(re)Bonjour,
 
Voilà, j'ai une question sur la cryptographie ! Je ne demande meme pas un algorithme mais juste le genre de technologie à utiliser suivant le but que je veux atteindre :
 
Voilà! Avec une appli qui tourne sur l'ordi de personnes tierces, je veux povoir réucpérer des infos que :
- ces personnes ne pourront pas trafiquer
- auxquelles ces personnes ne pourront pas accéder
 
Pour ce faire, je voudrais récupérer ces infos dans une chaine et crypter cette chaine=>chaine cryptée ! Apres, les personnes cibles n'auront qu'à m'envoyer ce code (qu'elle ne seront pas en mesure de comprendre et dont elle ne pourront pas changer de caratcere "au hasard" )
 
Puis moi, de mon coté, je décrypterai le tout et récupèrerai les infos que je voulais sous forme de chaine de caractere !
 
Pour faire tout ca, quelle est la technologie que je dois utiliser?  

Reply

Marsh Posté le 27-06-2003 à 10:45:51   

Reply

Marsh Posté le 27-06-2003 à 10:52:21    

XOR

Reply

Marsh Posté le 27-06-2003 à 11:35:23    


 
Mais un simple XOR, ca ne sera jamais assez sécurisé? Ca se décrypte facilement, non?
Il suffit que la personne génère plusieurs messages cryptés et elle va vite réussir à analyser la chose !???

Reply

Marsh Posté le 27-06-2003 à 11:45:05    

ben en fait tu peux faire plusieurs approches. cryptage de fourbe (compression / XOR / base64), un cryptage sysmétrique (facile à mettre en place), ou un cryptage astmétrique avec un système de clef (plus compliqué)

Reply

Marsh Posté le 27-06-2003 à 12:20:14    

Pour un cryptage symétrique, c'est à clef privée, cad que mon progamme ou sera généré le message crypté ainsi que de mon coté, il y aura une clef PV que je serai le seul à connaitre?
 
Ou trouver de tels algorithmes que je puisse reprendre?

Reply

Marsh Posté le 27-06-2003 à 12:25:45    

ben tu peux déjà donner ta plateforme pour voir

Reply

Marsh Posté le 27-06-2003 à 13:17:57    

Yoyo@ a écrit :


 
Mais un simple XOR, ca ne sera jamais assez sécurisé? Ca se décrypte facilement, non?
Il suffit que la personne génère plusieurs messages cryptés et elle va vite réussir à analyser la chose !???


 
En effet, ça se décrypte en 5 min à la main  :D  
Par contre il existe un algo assez facile à implémenter, c'est "blowfish". Simple, efficace et suffisamment sécurisé pour le newb. Sinon t'as toujours PGP.

Reply

Marsh Posté le 27-06-2003 à 14:12:04    

Personnelement, je tourne sous Win XP Pro.
 
Je compte en fait faire une dll avec VC++6, et l'utiliser ensuite avec Access qui y accédera par passage d'une string/char*
 
Cette dll doit pouvoir etre utilisée sous toutes les versions de Windows apres le 98
 
Concernant BlowFish et PGP, les algos sont libres de droit? J'aimerais bien sur avoir une amin sur l'algo!

Reply

Marsh Posté le 27-06-2003 à 14:16:00    

c'est le comble ça....

Reply

Marsh Posté le 27-06-2003 à 14:16:55    

Blowfish est "unpatented, license-free", on peut l'utiliser pour tout et n'importe quoi. C'est expliqué en détail sur :
 
http://www.codeproject.com/cpp/blowfish.asp
 

Reply

Marsh Posté le 27-06-2003 à 14:16:55   

Reply

Marsh Posté le 27-06-2003 à 14:30:14    

Dans la cryptographie, l'algorithme n'est pas tout! si les clés de chiffrement sont faciles, meme un algo dite sur (AES256 par exemple) ne pourra pas t'aider ...  
Ensuite, il faut voir si les informations que tu vas echanger peuvent intéresser quelqu'un (secret commercial, mot de passe des serveurs, etc.) et si ce quelqu'un (on l'appelle toujours Charlie) a des moyens informatiques, alors ton algo ne tiendra pas la route non plus.
Etc.

Reply

Marsh Posté le 27-06-2003 à 14:35:02    

+1,tout dépend de l'enjeu
 
d'ou ma proposition trollesque de xor qui peu rendre service

Reply

Marsh Posté le 27-06-2003 à 14:50:19    

Ah bon??? Je ne savais pas que de la facon de générer la clé pouvait dépendre la réussite de la protection, la robustesse !
 
Les informations que je cherche à crypter sont assez sensibles, mais c'est pas non quelqu'e chose qui vaut des milliars ou avec un secret défense !  Je cherche juste à etre en mesure d'empecher "quiconque" (pas le gros hacker du coin non plus) de le décrypter "facilement" !Je cherche un compromis quoi : open source/pas trop dur à coder/assez robuste/pas trop long à générer !
 
Je pense que je vais me tourner vers BlowFish (ou alors un algo maison basé sur des permutations de caracteres, des caracteres aléatoires, et des multicombinaisons (cad que le code généré n'est jamais deux fois le meme)

Reply

Marsh Posté le 27-06-2003 à 14:53:14    

Reply

Marsh Posté le 27-06-2003 à 15:35:44    

Y'a plein de libs gratuites pour crypter des données.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 27-06-2003 à 15:42:20    

Je précise que je cherche à crypter des chaines de caractères ayant un nombre limité de caracteres (genre moins de 100), donc, je pense qu'un algo de cryptage de fichier ne sera pas forcément adapté !
 
Par contre, je suis allé rapidement voir ton lien ++Taz, et j'ai trouvé ce qui me conviendrait : RC4 ! Je suppose que c'est quand meme assez bien protégé nan?
 
Merci en tout cas pour votre aide ;)
 
 :hello:

Reply

Marsh Posté le 27-06-2003 à 16:29:28    


LA question est que tu vas faire des clés? les stocker en clair quelque part? en dure, dans code source? Echanger? Etc.
 
C'est ce type de question qu'il faut se poser dans le domaine de la cryptographie ...
 
Du point de vue de sécurité:
un protocole d'echange des clés de sessions sera idéal ...

Reply

Marsh Posté le 27-06-2003 à 17:20:21    

Ces clefs seront stockées en dutr dans l'appli !
De temps en temps, je les changerai !
 
Un prtocole d'échange des clefs de session, ca marche comment en gros?

Reply

Marsh Posté le 27-06-2003 à 17:21:41    

Yoyo@ a écrit :

Ces clefs seront stockées en dutr dans l'appli !
De temps en temps, je les changerai !


 
arf :lol: Pas la peine de faire un cryptage alors :lol:

Reply

Marsh Posté le 27-06-2003 à 17:45:04    

Yoyo@ a écrit :


Un prtocole d'échange des clefs de session, ca marche comment en gros?


Eh ... hum ... un client (ton appli) et un serveur (ton appli aussi ;-) se mettent d'accord sur une clé de session, ensuite, toutes les communications sont chiffrées ... Le proto le plus connu est SSL ...
Je ne sais plus si SSL est basé sur le meme principe mais :
client et serveur choississent un nombre premier assez grand. Chacun fait un calcul complexe et ils echangent les résultats.
Ensuite, chacun utilise le nombre premier et le résultat de l'autre dans un truc à la mode asymethrique. Cela permet d'échanger une clé de session symetrique (les performances en crypto asymethrique sont faibles ç cause de la longueur des clefs utilisées, alors une algo symetrique est rapide (donc la communication par réseau est assez rapide) et comme la clé est jetée après la fin de la comm, la sécurité des données n'est pas compromis ...

Reply

Marsh Posté le 27-06-2003 à 19:14:07    

western a écrit :


Eh ... hum ... un client (ton appli) et un serveur (ton appli aussi ;-) se mettent d'accord sur une clé de session, ensuite, toutes les communications sont chiffrées ... Le proto le plus connu est SSL ...
Je ne sais plus si SSL est basé sur le meme principe mais :
client et serveur choississent un nombre premier assez grand. Chacun fait un calcul complexe et ils echangent les résultats.
Ensuite, chacun utilise le nombre premier et le résultat de l'autre dans un truc à la mode asymethrique. Cela permet d'échanger une clé de session symetrique (les performances en crypto asymethrique sont faibles ç cause de la longueur des clefs utilisées, alors une algo symetrique est rapide (donc la communication par réseau est assez rapide) et comme la clé est jetée après la fin de la comm, la sécurité des données n'est pas compromis ...  


 
Nan, mais tout ça n'est pas adapté à mon probleme...
 
Ce que je veux, c'est que simplement on puisse m'envoyer des données cryptées (de maniere à ce que celui qui me les envoie ne puisse pas les lire) et que je puisse les décrypter ! Rien de plus, je ne veux pas communiquer plus avec l'appli ! Et d'ailleurs, je ne tiens pas à communiquer diretcment avec elle, le message me sera envoyé par mail par exemple !

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed