Chapitre III
SYSTEMES DE CALCULS HOMOMORPHES
Ce chapitre porte sur l'étude de quelques
bibliothèques Open-source FHE
3.1 Bibliothèques logicielles
Le Robert dico en ligne définit une bibliothèque
comme une salle, édifice où sont classés des livres, pour
la lecture ou pour le prêt.
Une bibliothèque comprend toute collection
organisée de livres et de publications périodiques sous forme
imprimée ou électronique ou tout autre matériel graphique
ou audiovisuel (d'après l'UNESCO, 1970). En informatique, une
bibliothèque logicielle [52] [20] est une collection de routines, qui
peuvent être déjà compilées et prêtes à
être utilisées par des programmes. Les bibliothèques sont
enregistrées dans des fichiers semblables, voire identiques aux fichiers
de programmes, sous la forme d'une collection de fichiers de code objet
rassemblés accompagnée d'un index permettant de retrouver
facilement chaque routine.
Les bibliothèques sont apparues dans les années
1950, et sont devenues un sujet incontournable de programmation. Elles sont
utilisées pour réaliser des interfaces de programmation, des
frameworks, des plugins ainsi que des langages de programmation. Les routines
(En informatique, une routine est un ensemble d'instructions qui prend en
charge une certaine opération et produit un résultat) contenues
dans les bibliothèques sont typiquement en rapport avec des
opérations fréquentes en programmation: manipulation des
interfaces utilisateur, manipulation des bases de données ou calculs
mathématiques.
Les bibliothèques sont manipulées par
l'éditeur de lien et le système d'exploitation. Les manipulations
sont différentes selon que la bibliothèque est statique ou
partagée. Les emplacements et les noms des bibliothèques varient
selon les systèmes d'exploitation.
Les bibliothèques sont utilisées pour mettre en
oeuvre des interfaces de programmation ainsi que des frameworks et des plugins
et peuvent être incorporées dans les langages de programmation.
3.1.1 Conception et organisation des
bibliothèques
L'organisation classique des bibliothèques passe par un
découpage thématique des fonctions, permettant au programmeur de
retrouver plus facilement la fonction dont il a besoin. Ce découpage
thématique permet de classer les bibliothèques selon les services
qu'elles rendent:
·
3.2 Bibliothèques FHE 34
Mémoire de Master 2 Recherche 34 MOUYOUME
DIEUDONNE(c) UYI
Bibliothèques de bas niveau ou
bibliothèques système : elles fournissent des services
d'in-terface avec le système d'exploitation, avec les
périphériques, ou fournissent des outils
génériques:
-- bibliothèques d'entrées/sorties
: fonctions de lecture et d'écriture de fichiers, de
périphériques d'entrée/sortie comme le clavier,
l'écran, etc.
-- gestion de structures de données
système,
· Bibliothèques de haut niveau
(aussi appelées bibliothèques métier, elles
interagissent avec celles de bas niveau) : les fonctions qu'elles contiennent
sont propres à une activité spécifique: --
boîtes à outils graphiques : ensemble de
fonctions permettant de gérer, d'animer et d'af-ficher des objets
graphiques complexes.
-- bibliothèques d'opérateurs de
traitement d'image : ensemble de fonctions destinées à
structurer l'information dans une image à des fins d'analyse.
· Autres bibliothèques:
-- combinateurs en programmation fonctionnelle,
-- protocoles de métaprogrammation.
combinateurs en programmation fonctionnelle, protocoles de
métaprogrammation.
|