3.2.4 ?oA(Lol)
?oA(Lol) [22] est une bibliothèque polyvalente
pour la cryptographie en treillis en anneau. Le framework ?oA
présente plusieurs propriétés innovantes qui le
distinguent des implémentations précédentes de
cryptosystèmes en treillis, notamment:
-- Généralité, modularité,
concision: ?oA définit un ensemble d'interfaces
générales et hautement composables pour les opérations
mathématiques utilisées en cryptographie en treillis, permettant
d'exprimer une grande variété de schémas de manière
très naturelle et avec un haut niveau d'abstraction. Par exemple, nous
implémentons un schéma avancé de chiffrement
entièrement homomorphe (FHE) en seulement 2 à 5 lignes de code
par fonctionnalité, grâce à un code qui correspond
étroitement à la définition mathématique du
schéma.
-- Affinité théorique
:?oA est conçu dès le départ autour des
représentations d'anneaux spécialisées, des algorithmes
rapides et des preuves de dureté du pire cas développés
pour le problème Ring-LWE et ses applications cryptographiques. Il
implémente notamment des algorithmes rapides d'échantillonnage
à partir de distributions d'erreurs théoriquement
recommandées sur des anneaux cyclotomiques arbitraires, et fournit des
outils permettant de contrôler étroitement la croissance des
erreurs dans les schémas cryptographiques.
-- Sécurité : ?oA
dispose de plusieurs fonctionnalités permettant de réduire la
complexité du code et les erreurs de programmation, facilitant ainsi
l'implémentation correcte des cryptosys-tèmes en treillis. Il
utilise notamment un typage fort pour appliquer statiquement,
c'est-à-dire à la compilation, une grande variété
de contraintes entre les différents paramètres.
-- Fonctionnalités avancées
:?oA expose la riche hiérarchie des anneaux
cyclotomiques aux applications cryptographiques.
3.2.5 FHEW
FHEW [25]est un logiciel open-source distribué sous les
termes de la Licence Publique Générale GNU (GPL) Apache 2.0. Bien
que son code soit principalement en C, des extensions C++ (espaces de noms,
paramètres par référence) sont utilisées pour
améliorer la lisibilité. Elle est testé avec g++
3.2 Bibliothèques FHE 37
Mémoire de Master 2 Recherche 37 MOUYOUME DIEUDONNE(c)
UYI
(GCC 4.9.1), mais fonctionne avec d'autres compilateurs. Une
adaptation pour un compilateur C pur est possible via des modifications
mineures.
Elle es basé sur le schéma de chiffrement
homomorphe FHEW et elle utilise la bibliothèque FFTW (Fastest Fourier
Transform in the West).
Ses fonctionnalités clés sont:
-- Chiffrement symétrique de messages binaires (1 bit).
-- Évaluation homomorphe de circuits booléens
arbitraires via une clé publique d'évaluation. Elle
nécessite l'installation de FFTW 3 Compilateur C++ : Bien que le code
soit principalement en C, des extensions C++ (espaces de noms,
paramètres par référence) sont utilisées pour
améliorer la lisibilité. Compatibilité: Testé avec
g++ (GCC 4.9.1), mais fonctionne avec d'autres compilateurs. Une adaptation
pour un compilateur C pur est possible via des modifications mineures.
Sa version 2.0-alpha (bêta) -- Date de sortie: 30 mai 2017
a des mises à jour suivantes:
-- Accélération x6 des calculs de portes
homomorphes
-- Optimisation via la reconnaissance qu'il suffit de calculer
ACC. Cette astuce équivaut concep-
tuellement au « produit externe » décrit dans ce
papier académique.
-- Prise en charge de nouvelles portes logiques : AND, OR, NAND,
NOR, NOT. Interdiction des
opérations sur des chiffrements non indépendants :
ex. (x OP x) ou (x OP (non x)).
-- Corrections de bugs.
|