Uygulamalar

UygulamaGeliştiriciBGVCKKSBFVÖnyüklemeli CKKS
HElib1 2IBMVarVarYokYok
Microsoft SEAL 3 4MicrosoftVarVarVarYok
OpenFHE 5 6New Jersey Institute of Technology, Duality Technologies, vd.VarVarVarVar
HEAAN 7Seoul National UniversityYokVarYokYok
Lattigo 8Tune InsightVarVarVarVar

HElib, homomorfik şifreleme (HE) uygulayan açık kaynaklı (Apache License v2.0) bir yazılım kütüphanesidir. Şu anda mevcut olan şemalar, önyüklemeli Brakerski-Gentry-Vaikuntanathan (BGV) şemasının uygulamaları ve Cheon-Kim-Kim-Song’un (CKKS) Yaklaşık Sayı şemasının yanı sıra homomorfik değerlendirmenin daha hızlı çalışmasını sağlamak için birçok optimizasyondan oluşur.Odak noktası, Smart-Vercauteren şifreli metin paketleme tekniklerinin ve Gentry-Halevi-Smart optimizasyonlarının etkin kullanımıdır. Bu kütüphanede kullanılan birkaç algoritmanın açıklaması bu raporda bulunabilir.

Microsoft SEAL, Microsoft Kriptografi ve Gizlilik Araştırma Grubu (Microsoft Cryptography and Privacy Research Group) tarafından geliştirilen, kullanımı kolay, açık kaynaklı (MIT lisanslı) bir homomorfik şifreleme kitaplığıdır. Microsoft SEAL, modern standart C++ ile yazılmıştır ve derlenmesi ve birçok farklı ortamda çalıştırılması kolaydır. İşleyiş ve algoritmalar hakkında detaylar bu makalede bulunabilir.

OpenFHE, tüm yaygın Tam Homomorfik Şifreleme (FHE), şemalarının verimli uygulamalarını içeren açık kaynaklı bir FHE kitaplığıdır. OpenFHE, BGV, BFV, CKKS, DM (FHEW) ve CGGI (TFHE) şemaları dahil olmak üzere tüm büyük FHE şemalarını destekler. Birkaç önyükleme tasarımını destekliyoruz ve aktif geliştirmede daha verimli önyükleme şemalarımız var. OpenFHE, PALISADE, HElib, HEAAN ve FHEW kitaplıklarının bazı yazarları tarafından tasarlanmıştır. OpenFHE yazılım kitaplığı, bu önceki FHE projelerinden seçilen tasarım fikirleri ve birkaç yeni tasarımı içerir. Tasarım hakkında daha fazla bilgi OpenFHE makalesinde bulunabilir

HEAAN, sabit nokta aritmetiğini destekleyen homomorfik şifrelemeyi (HE) uygulayan bir yazılım kütüphanesidir. Bu kütüphane, rasyonel sayılar arasındaki yaklaşık işlemleri destekler. Yaklaşık hata, bazı parametrelere bağlıdır ve kayan nokta işlem hatalarıyla hemen hemen aynıdır. Bu kütüphanedeki şema “Yaklaşık Sayıların Aritmetiği için Homomorfik Şifreleme” belgesindedir.

Lattigo, halka hatalarla öğrenme (RLWE) tabanlı homomorfik şifreleme ilkellerini ve çok kullanıcılı homomorfik şifreleme (Multiparty Homomorphic Encryption, MPHE) tabanlı güvenli protokolleri uygulayan bir Go modülüdür. Lattigo kütüphanesi, Tam RNS BFV, BGV ve CKKS şemalarının ve bunların çok kullanıcılı versiyonlarının uygulanması olarak yaratılmıştır. Son teknoloji ürünü C++ kitaplıklarıyla karşılaştırılabilir performans, Tam RNS CKKS için yoğun anahtar ve seyrek anahtar verimli ve yüksek hassasiyetli önyükleme prosedürleri, ve tarayıcı istemcileri için WASM derlemesi de dahil olmak üzere platformlar arası yapılara olanak sağlayan saf bir Go uygulamasıdır. Lattigo, doğal eşzamanlılık modeli ve taşınabilirliği sayesinde Go’nun ortak bir tercih olduğu dağıtılmış sistemlerde ve mikro hizmet mimarilerinde homomorfik şifrelemeyi desteklemeyi amaçlamaktadır. Daha fazla bilgi https://github.com/tuneinsight/lattigo sayfasında bulunabilir.

  1. https://homenc.github.io/HElib/ []
  2. https://github.com/homenc/HElib []
  3. https://www.microsoft.com/en-us/research/project/microsoft-seal/ []
  4. https://github.com/microsoft/SEAL []
  5. https://www.openfhe.org/ []
  6. https://github.com/openfheorg/openfhe-development []
  7. https://github.com/snucrypto/HEAAN []
  8. https://github.com/tuneinsight/lattigo []