Login
Main Menu
Who's Online
8 utilisateur(s) en ligne (dont 4 sur SAPHIR-Downloads)

Membre(s): 0
Invité(s): 8

plus...
WFDownloads is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)
SAPHIR-Downloads > Projet RNRT SAPHIR-Livrables > L4.1 sphlib 1.1 : implémentation et optimisation des fonctions de hachage

SAPHIR-Downloads

L4.1 sphlib 1.1 : implémentation et optimisation des fonctions de hachage



Description : 

Description :

Il existe de nombreuses fonctions de hachage décrites dans des standards et articles divers ; de nouvelles fonctions sont actuellement inventées. C’est un sujet de recherche fertile, où les questions de performances interviennent sur essentiellement deux points :
– Les fonctions de hachage sont utilisées dans des protocoles cryptographiques divers, notamment pour le contrôle de l’intégrité de grandes quantités de données. Il convient donc que le traitement de longs messages par une fonction de hachage soit le plus efficace possible.
– Une fonction de hachage ne pourra être déclarée suffisamment sûre pour être mise en application qu’après une longue phase de recherche où la fonction est analysée en profondeur. Cette analyse peut nécessiter des énumérations exhaustives de certaines propriétés structurelles de la fonction, ce qui nécessite une implémentation efficace de cette fonction.


sphlib est une bibliothèque contenant des implémentations en C et en Java de diverses fonctions de hachage, qui cherche à remplir ces besoins. Plus précisément, les buts visés par sphlib sont :
– contenir du code efficace et portable, réutilisable dans des projets divers ;
– présenter un code interne clair et aisément modifiable pour tous travaux de recherches ;
– incarner une base de comparaison des fonctions de hachage.
Aussi, non seulement les implémentations sont prévues pour être les plus efficaces possible tout en restant portables, mais encore les diverses fonctions de hachage ont bénéficié d’efforts d’optimisation d’ampleur similaire, par les mêmes développeurs et selon les mêmes architectures cibles. Selon cette procédure, les performances finalement obtenues devraient être représentatives des qualités intrinsèques des fonctions de hachage.
Le langage C a été choisi comme premier langage pour l’implémentation parce qu’il combine de grandes possibilités d’optimisation ainsi qu’une certaine portabilité ; il est très utilisé, aussi bien sur les ordinateurs personnels et serveurs que dans les systèmes embarqués, et quasiment tous les autres langages de programmation comportent des moyens standard d’interfaçage avec des modules écrits en C.
Il existe néanmoins une deuxième famille d’environnements de programmation, relativement récente et en plein essor actuellement, fondée sur la notion de machine virtuelle : le programme est conçu pour une architecture unique particulière, qui est ensuite émulée sur chaque système où le programme doit tourner. Les machines virtuelles permettent une gestion beaucoup plus rigoureuse des problèmes de portabilité logicielle et autorisent également une validation automatique des programmes, ce qui rend possible l’exécution contrôlée de code potentiellement hostile. Un membre représentatif de cette famille est Java. Les machines virtuelles sont de plus en plus utilisées, malgré le surcoût impliqué par la couche d’émulation, et une implémentation en C ne permet pas de rendre compte avec assez de précision des performances pouvant être obtenues d’une machine virtuelle.
Afin de couvrir ce champ dans nos comparaisons des performances des fonctions de hachage, sphlib contient des implémentation en Java des mêmes fonctions que celles implémentées en C. Afin d’être généralement utile, dans un esprit de coopération usuel en recherche scientifique publique, sphlib est distribuée sous une licence libre, dite « de type BSD ». Quiconque peut réutiliser le code source, le modifier, l’inclure dans ses développements, et distribuer le résultat, sans autre contrainte que de citer la provenance originelle, à savoir le projet RNRT SAPHIR, tout en conservant la déclaration de responsabilité limitée. L’arrangement est classique dans le monde dit du « logiciel libre » ; on peut en attendre une qualité accrue pour sphlib, la disponibilité du code source permettant à des tiers de fournir en retour toutes formes de commentaires et améliorations.
La version en C de sphlib contient en outre deux petites applications, utilisables en ligne de commande :
sphspeed mesure les performances des fonctions de hachage sur la machine qui lance cette application ;
sphsum calcule des sommes de contrôle sur des fichiers, selon les fonctions de hachage implémentées, et produit ou vérifie des fichiers contenant ces sommes de contrôle. sphsum est conçu comme pouvant être utilisé en lieu et place de l’utilitaire md5sum, standard sur les systèmes Linux.

Proposé par: admin
Editeur: Projet RNRT SAPHIR
Mis à jour le: Mon, 20-Apr-2009

Version: 2.0
Téléchargé(s) : 1043
Taille du Fichier (en Octets): 467.68 KB

Note :   (0 votes)

Révisions :  (0)

Miroirs disponibles: 0

Temps de téléchargements :
Modem(56k) : 1.3min
ISDN(64k) : 1.1min
DSL(768k) : 6s
LAN(10M) : 0.43s
 
Prix: Libre | Plateformes Supportées: None | License: None | Restrictions: None

Projet RNRT SAPHIR Révisions d'utilisateur

Autres fichiers de : admin

L4.1 sphlib 1.1 : implémentation et optimisation des fonctions de hachage © copyright 2014 http://www.crypto-hash.fr

 
Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
Search
Fichiers récents