Skip to content

update changeLog && add release.yml && update wedpr-lab-crypto to v1.3.0 #67

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
264 changes: 264 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
name: WeDPR-Lab-Core release Actions
on:
push:
branches-ignore:
- "**"
release:
types: [published, created]

jobs:
build_with_macos:
name: build_with_macos
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: Nightly default
run: rustup default nightly
- name: install macOS dependencies
if: runner.os == 'macOS'
run: brew install ccache
- name: build
run: cargo build --all --all-targets --verbose --release
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_acv.dylib.tar.gz
file: target/release/libffi_java_acv.dylib
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_vcl.dylib.tar.gz
file: target/release/libffi_java_vcl.dylib
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_scd.dylib.tar.gz
file: target/release/libffi_java_scd.dylib
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_ktb.dylib.tar.gz
file: target/release/libffi_java_ktb.dylib
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_c_scd.dylib.tar.gz
file: target/release/libffi_c_scd.dylib
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_c_vcl.dylib.tar.gz
file: target/release/libffi_c_vcl.dylib
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_c_hdk.dylib.tar.gz
file: target/release/libffi_c_hdk.dylib
tag: ${{ github.ref }}
overwrite: true
- name: build sm-acv
run: cd ffi/ffi_java/ffi_java_acv && cargo clean && cargo build --release --no-default-features --features sm
- name: rename libffi_java_acv
run: mv target/release/libffi_java_acv.dylib target/release/libffi_java_sm_acv.dylib
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_sm_acv.dylib.tar.gz
file: target/release/libffi_java_sm_acv.dylib
tag: ${{ github.ref }}
overwrite: true
build_with_centos:
name: build_with_centos
runs-on: ubuntu-latest
container:
image: docker.io/centos:7
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: install rust language
uses: actions-rs/toolchain@v1
with:
toolchain: nightly-2021-06-17
override: true
- name: install CentOS dependencies
run: |
yum install -y epel-release centos-release-scl
yum install -y openssl openssl-devel git make gcc gcc-c++ glibc-static glibc-devel cmake3 ccache devtoolset-7 libzstd-devel zlib-devel flex bison python-devel python3-devel && source /opt/rh/devtoolset-7/enable
- name: configure and compile
run: |
cargo build --all --all-targets --verbose --release
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
name: libffi_java_acv.so.tar.gz
file: target/release/libffi_java_acv.so
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_vcl.so.tar.gz
file: target/release/libffi_java_vcl.so
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_scd.so.tar.gz
file: target/release/libffi_java_scd.so
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_ktb.so.tar.gz
file: target/release/libffi_java_ktb.so
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_c_scd.so.tar.gz
file: target/release/libffi_c_scd.so
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_c_vcl.so.tar.gz
file: target/release/libffi_c_vcl.so
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_c_hdk.so.tar.gz
file: target/release/libffi_c_hdk.so
tag: ${{ github.ref }}
overwrite: true
- name: build sm-acv
run: cd ffi/ffi_java/ffi_java_acv && cargo clean && cargo build --release --no-default-features --features sm
- name: rename libffi_java_acv
run: mv target/release/libffi_java_acv.so target/release/libffi_java_sm_acv.so
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: libffi_java_sm_acv.so.tar.gz
file: target/release/libffi_java_sm_acv.so
tag: ${{ github.ref }}
overwrite: true
build_with_windows:
name: build_with_windows
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-2019]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
- run: vcpkg install openssl:x64-windows-static-md
- name: build and test
run: |
cargo build --all --all-targets --verbose --release
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_java_acv.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_acv.dll
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_java_vcl.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_vcl.dll
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_java_scd.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_scd.dll
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_java_ktb.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_ktb.dll
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_c_scd.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_c_scd.dll
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_c_vcl.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_c_vcl.dll
tag: ${{ github.ref }}
overwrite: true
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_c_hdk.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_c_hdk.dll
tag: ${{ github.ref }}
overwrite: true
- name: build sm-acv
run: cd ffi/ffi_java/ffi_java_acv && cargo clean && cargo build --release --no-default-features --features sm
- name: rename libffi_java_acv
run: mv D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_acv.dll D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_sm_acv.dll
- name: Upload wedpr-lab-core libraries to release
uses: svenstaro/upload-release-action@v1-release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: ffi_java_sm_acv.dll.zip
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_sm_acv.dll
tag: ${{ github.ref }}
overwrite: true
62 changes: 62 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,65 @@
## v1.6.0
(2022-08-29)

**新增**
- 匿名投票(anonymous ciphertext voting)添加另选他人相关的密文投票生成、密文投票验证、计票、解密等接口
- 匿名投票同时支持通过非国密算法和国密算法签名/验签
- 匿名投票模块添加Java FFI封装
- CI新增上传不同平台动态库功能


**更新**

- 更新[WeDPR-Lab-Crypto](https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto)依赖到[v1.3.0](https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto/releases/tag/v1.3.0)



**新增**

- 新增`zkp`相关接口的`c ffi`封装
- 添加`wedpr_aggregate_ristretto_point`方法支持`RistrettoPoint`加操作
- 新增ci自动上传各平台动态库功能

**更新**

- 升级`rust toolchain`到`nightly-2022-07-28`
- 将`zkp`、`ot`算法相关的证明参数由`ProtoBuf`修改为结构体

## v1.5.0

**WeDPR-Lab-Core v1.5.0版本**开源主要内容如下:
- **多方密文决策ACV核心算法**,支持全密文决策、全流程可验证的多方隐私决策。

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


- 密文空白选票的颁发

- 决策密文选票的生成

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

- 密文决策结果的汇总

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

- 决策结果的验证

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

- 其他**基础工具**代码。


## v1.4.0

**WeDPR-Lab-Core v1.4.0版本**开源主要内容如下:
WeDPR-Lab Core v1.4.0中,我们将WeDPR-Lab Crypto v1.1.0新增的零知识证明的聚合验证算法运用于VCL公开可验证密文账本。具体解释如下:

在原有VCL场景式解决方案中,为了保证密文记录运算前后的会计平衡,VCL使用了密文加和关系证明及密文乘积关系证明。本次适配零知识证明的聚合验证,对于多组密文记录及其加和关系证明(或乘积关系证明),无需针对每个加和证明(或乘积证明)分别进行验证,而只需执行一次聚合验证,就可对所有加和证明(或乘积证明)进行验证。


## v1.3.0

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

- **密钥生成及管理的核心算法**,包括:
Expand All @@ -21,6 +77,8 @@ WeDPR-Lab Core v1.4.0中,我们将WeDPR-Lab Crypto v1.1.0新增的零知识证
- 其他**基础工具**代码。


## v1.2.0

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

- **SCD场景式解决方案核心算法**,支持多种断言证明的高效稳定实现;
Expand All @@ -43,6 +101,8 @@ WeDPR-Lab Core v1.4.0中,我们将WeDPR-Lab Crypto v1.1.0新增的零知识证



## v1.1.0

**WeDPR-Lab-Core v1.1.0版本**开源主要内容如下:
提供更为丰富的密码学算法组件,具体包括:

Expand All @@ -54,6 +114,8 @@ WeDPR-Lab Core v1.4.0中,我们将WeDPR-Lab Crypto v1.1.0新增的零知识证
- **FFI接口**,新增支持交叉编译、跨语言、跨平台所调用的FFI适配接口。


## v1.0.0

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

- **公开可验证密文账本**的一个**交互式样例**,实现以下主要功能:
Expand Down
6 changes: 3 additions & 3 deletions bounty/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wedpr_bounty"
version = "1.3.0"
version = "1.4.0"
authors = [ "WeDPR <wedpr@webank.com>" ]
edition = "2018"

Expand All @@ -12,9 +12,9 @@ curve25519-dalek = { version = "1", features = [ "serde" ] }
protobuf = "2.22.1"
rand = "0.3.17"
sha3 = "0.8"
wedpr_l_crypto_zkp_discrete_logarithm_proof = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
wedpr_l_crypto_zkp_discrete_logarithm_proof = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
wedpr_l_crypto_zkp_range_proof = "1.2.0"
wedpr_l_crypto_zkp_utils ={version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
wedpr_l_crypto_zkp_utils ={version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
wedpr_l_macros = "1.0.0"
wedpr_l_utils = "1.0.0"
wedpr_s_protos = { path = "../protos" }
Expand Down
2 changes: 1 addition & 1 deletion ffi/ffi_java/ffi_java_acv/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ protobuf = "2.22.1"
wedpr_ffi_common = "1.1.0"
wedpr_ffi_macros = "1.1.0"

wedpr_l_crypto_zkp_utils = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
wedpr_l_crypto_zkp_utils = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
wedpr_s_protos = { path = "../../../protos", default-features = false}
wedpr_s_anonymous_ciphertext_voting = { path = "../../../solution/anonymous_ciphertext_voting", default-features = false}

Expand Down
2 changes: 1 addition & 1 deletion protos/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ lazy_static = "1.4.0"
protobuf = "2.22.1"
protoc-rust = "2.22.1"
wedpr_l_utils = "1.1.0"
wedpr_l_crypto_zkp_utils = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
wedpr_l_crypto_zkp_utils = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
wedpr_l_crypto_hash_sm3 = {version = "1.1.0", optional = true}
wedpr_l_crypto_signature_sm2 = {version = "1.1.0", optional = true}
wedpr_l_crypto_hash_keccak256 = {version = "1.1.0", optional = true}
Expand Down
Loading