Skip to content

WeBankBlockchain/WeDPR-Lab-Core

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ffi
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

项目背景

WeDPR

WeDPR是一系列即时可用场景式隐私保护高效解决方案套件和服务(参见WeDPR白皮书),由微众银行区块链团队自主研发。方案致力于解决业务数字化中隐私不“隐”、共享协作不可控等隐私保护风险痛点,消除隐私主体的隐私顾虑和业务创新的合规壁垒,助力基于隐私数据的核心价值互联和新兴商业探索,营造公平、对等、共赢的多方数据协作环境,达成数据价值跨主体融合和数据治理的可控平衡。

WeDPR具备以下特色和优势:

  • 场景式解决方案:已基于具有共性的场景需求,提炼出公开可验证密文账本、多方密文决策、多方密文排名、多方密文计算、多方安全随机数生成、选择性密文披露等高效技术方案框架模板,可应用于支付、供应链金融、跨境金融、投票、选举、榜单、竞拍、招标、摇号、抽检、审计、隐私数据聚合分析、数字化身份、数字化资质凭证、智慧城市、智慧医疗等广泛业务场景。
  • 即时可用:高性能、高易用、跨平台跨语言实现、不依赖中心化可信服务、不依赖可信硬件、支持国密算法标准、隐私效果公开可验证,5分钟一键构建示例应用。
  • 透明可控:隐私控制回归属主,杜绝数据未授权使用,在『数据可用而不可见』的基础上,进一步实现数据使用全程可监管、可追溯、可验证。

WeDPR全面拥抱开放,将陆续开源一系列核心算法组件,进一步提升系统安全性的透明度,提供更透明、更可信的隐私保护效果。WeDPR-Lab就是这一系列开源的核心算法组件的集合。

WeDPR-Lab-Core v1.5.0版本开源主要内容如下:

  • 多方密文决策ACV核心算法,支持全密文决策、全流程可验证的多方隐私决策。

  • ACV场景式解决方案的一个交互式样例,实现以下主要功能:

    • 密文空白选票的颁发

    • 决策密文选票的生成

    • 密文决策过程的零知识证明生成与验证

    • 密文决策结果的汇总

    • 汇总过程的零知识证明生成和验证

    • 决策结果的验证

  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;

  • 其他基础工具代码。

WeDPR-Lab-Core v1.4.0版本开源主要内容如下:

  • 将WeDPR-Lab Crypto v1.1.0新增的零知识证明的聚合验证算法运用于VCL公开可验证密文账本。

  • 聚合验证算法在VCL中应用后的具体效果是:

对于多组密文记录及其加和关系证明(或乘积关系证明),无需针对每个加和证明(或乘积证明)分别进行验证,而只需执行一次聚合验证,就可对所有加和证明(或乘积证明)进行验证。

聚合验证算法通过减少开销较大的椭圆曲线点运算的个数,将VCL中对应零知识证明批量验证的效率提升了近60%。

WeDPR-Lab-Core v1.3.0版本开源主要内容如下:

  • 密钥生成及管理的核心算法,包括:

    • 密钥助记词的生成

    • 基于助记词的密钥生成

    • 基于分层结构的密钥派生

  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;

  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口;

  • 其他基础工具代码。

WeDPR-Lab-Core v1.2.0版本开源主要内容如下:

  • 选择性认证披露SCD核心算法,支持多种断言证明的高效稳定实现;

  • SCD场景式解决方案的一个交互式样例,实现以下主要功能:

    • 选择性披露证书颁发

    • 零知识断言披露证明

    • 零知识断言披露验证

    • 选择性属性明文披露和验证

  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;

  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口;

  • 其他基础工具代码。

WeDPR-Lab-Core v1.1.0版本开源主要内容如下:

提供更为丰富的密码学算法组件,具体包括:

  • 密码算法组件

    • 签名验证

    • 哈希算法

    • 公钥加解密ECIES

  • FFI接口,新增支持交叉编译、跨语言、跨平台所调用的FFI适配接口。

WeDPR-Lab-Core v1.0.0版本开源主要内容如下:

  • 公开可验证密文账本VCL的一个交互式样例,实现以下主要功能:

    • 密文金额发行

    • 密文金额四则运算关系验证

    • 密文金额范围验证

  • 三类零知识证明算法的高效稳定实现,包括

    • 密文加和关系证明

    • 密文乘积关系证明

    • 密文范围证明

  • Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;

  • FFI接口,支持交叉编译跨语言、跨平台所调用的FFI适配接口;

  • 其他基础工具代码。

我们期望能够通过代码开源的方式:

  • 有效降低使用隐私保护算法组件的技术门槛;
  • 减少业务系统集成隐私保护特性的开发成本;
  • 助力全行业伙伴安全、合规地开展数据业务。

欢迎社区伙伴参与WeDPR-Lab的共建,一起为可信开放数字新生态的构建打造坚实、可靠的技术底座。

安装

安装Rust环境

安装nightly版本的Rust开发环境,可参考Rust官方文档

下载WeDPR-Lab源代码

使用git命令行工具,执行如下命令。

git clone https://github.com/WeBankBlockchain/WeDPR-Lab-Core.git

接口文档

生成并查看Rust SDK接口文档

在本项目的根目录(即WeDPR-Lab-Core目录)中,运行如下命令。

cargo doc --no-deps

以上命令将根据代码中的注释,在target/doc子目录中,生成的SDK接口文档。

进入target/doc文档目录后,会看到所有SDK相关的包名(包含WeDPR-Lab和其他依赖包),进入其中任意一个包名的目录,用网页浏览器打开其中的index.html文件,便可查看WeDPR-Lab相关的接口说明。

其他相关文档

项目贡献

About

Core libraries of WeDPR instant scenario-focused solutions for privacy-inspired business; WeDPR即时可用场景式隐私保护高效解决方案核心算法组件

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages