用于同态加密库的python

Pyfhel的Python项目详细描述


Pyfhel[v2.0.1]

构建状态documentation statuspypi version维护github issues蟒蛇3license:gpl v3链接]。示例很快就会出现。

  • 依赖项:有三种可能的后端,它们都是C++中的库:

    1. 密封(无外部依赖项)。pyfhel的版本2目前只支持seal
    2. helib(取决于gmp&;a href="http://www.shoup.net/ntl/download.html" rel="nofollow">ntl)
    3. 帕里塞德(无外部依赖)
  • 摘要

    pythonfhmomorphicencryptionl库,pyfhel实现了多个同态加密库的功能,如加法、乘法,python中的指数运算或标量积。pyfhel使用类似于普通算术的语法(+,-,*)。这个库对于简单的同态加密演示和复杂的问题(如机器学习算法)都很有用。

    pyfhel是建立在afhel之上的,是c++中的一个abstractionhmomorphicencryptionl库。afhel作为所有三个后端的通用api。此外,本项目还包含一系列关于"直升机基地"的演示和测试。

    最后但并非最不重要的一点是,我们将编译和安装的makefilehelibsealafhel作为ubuntu中的共享库,然后可以使用标记-lhelib链接到其他c++程序,-lseal-lafhel

    安装和卸载

    此项目已上载到pypi。以便从源安装(警告!编译需要几分钟,耐心点!,运行:

       > pip install Pyfhel
    

    在本地,您可以克隆此存储库并通过运行:

       > pip install .
    

    要卸载,只需运行:

       > pip uninstall Pyfhel
    

    或者,也只有对于ubuntu操作系统,在克隆之后,您可以使用这个项目上的makefile将所有库安装并编译为共享(.so)。为此,请在pyfhel目录中运行:

       > ./configure		# Just puts all makefiles in their correct directories
       > make
       > sudo make install
    

    你也可以只安装密封件和AFHEL。只需在pyfhel目录中运行make seal afhel,在pyfhel/afhelpyfhel/seal目录中运行make install。make file还有cleanuninstall命令,以及make sourcefilename_x命令来编译和链接源文件(.cpp)。

    开发通知

    更改cython文件后,需要在重新安装pyfhel之前编译它们。 为此,请运行:

        > python setup.py build --CYTHONIZE
    

    项目内容

    • pyfhel/包含pyfhel、afhel、seal、palisade和helib的源代码。

    • 文档/项目过时的文档:

      • doc.md:过时的项目基本文档。
      • doc_api.md:pyfhel中所有可用类和方法的过时综合列表。
      • helib/:最新的文档和图像,用于解释这个未记录的库。
    • pyfhel/demos_tests,演示和测试的集合。今天已经过时了。检查test.py

    • pyfhel/.makefiles/makefile\u helib,将helib编译并安装为动态库的生成文件(-lhelib)。

    • pyfhel/.makefiles/makefile\u seal,将seal编译并安装为动态库的生成文件(-lseal)。

    作者和致谢

    • 作者:alberto ibarrondo@ibarrond与劳伦特·戈麦斯(SAP)合作,与欧洲经济共同体(Eurecom)合作(melek onen)。
    • 最新版本:2018年8月3日

    这个图书馆最初是为Eurecom的"大数据分析隐私"项目创建的。软件基于shai halevi的helib,通过grant frame对heide进行触摸。以及由于Matheus S.H.Cruz对加法的分析而提高了性能。根据他们各自的许可证,我在本节中列出了他们的名字。没有他们这个项目是不可能的。有关任何法律免责声明,请与此存储库的所有者联系。同样,同一类型的许可证(GNU GPLV3)也适用于AFHEL&PYFHEL,如有规定。

    法律免责声明

    pyfhel可以用任何你认为合适的方式使用、修改、复制。这个项目是在gnu gplv3许可(许可文件)下开源的,因此使用pyfhel的开发人员必须遵守以下要求:

    1. 承认并提及pyfhel在任何派生开发中的原始作者,即ibarrondo、laurent(sap)和onen(eurecom)

    2. 提供完全相同的许可,允许使用pyfhel复制、分发和/或修改任何软件的合法许可。因此,任何使用pyfhel的软件都必须保持开源。

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    空间计数器在Java中不起作用   json在java中表示XPath列表的最佳方式   java报警服务接收器安卓   java注入bean在自定义的all存储库中   java从迁移到Spring MVC 4+Hibernate5   JavaEclipseIDE透视图被缓存,更改没有任何影响   java Hibernate:在将对象插入Derby嵌入式数据库时引发SQLGrammerException   适用于mp4或mp3文件的java Exoplayer自动流媒体质量   安卓如何在java的静态方法中使用这个关键字?   SSL服务器端的spring主机名验证+Tomcat和Java 8   java Eclipse强制刷新IDs   java有可能返回Mono。只是从GetMapping(“/”)处理程序中获取(“索引”)吗?   arraylist当我用java编程时,我遇到了这个错误,有人能告诉我到底出了什么问题吗?   java如何更改Apache CXF web服务中的日期时间格式   Jfoenix ChipView中的java多线程   java任务在Spark上不可序列化