Skip to content

Commit 156e0ac

Browse files
authored
update changeLog && add release.yml && update wedpr-lab-crypto to v1.3.0 (#67)
1 parent 5080094 commit 156e0ac

File tree

7 files changed

+336
-10
lines changed

7 files changed

+336
-10
lines changed

.github/workflows/release.yml

+264
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
name: WeDPR-Lab-Core release Actions
2+
on:
3+
push:
4+
branches-ignore:
5+
- "**"
6+
release:
7+
types: [published, created]
8+
9+
jobs:
10+
build_with_macos:
11+
name: build_with_macos
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
matrix:
15+
os: [macos-latest]
16+
steps:
17+
- uses: actions/checkout@v2
18+
with:
19+
fetch-depth: 5
20+
- name: Nightly default
21+
run: rustup default nightly
22+
- name: install macOS dependencies
23+
if: runner.os == 'macOS'
24+
run: brew install ccache
25+
- name: build
26+
run: cargo build --all --all-targets --verbose --release
27+
- name: Upload wedpr-lab-core libraries to release
28+
uses: svenstaro/upload-release-action@v1-release
29+
with:
30+
repo_token: ${{ secrets.GITHUB_TOKEN }}
31+
asset_name: libffi_java_acv.dylib.tar.gz
32+
file: target/release/libffi_java_acv.dylib
33+
tag: ${{ github.ref }}
34+
overwrite: true
35+
- name: Upload wedpr-lab-core libraries to release
36+
uses: svenstaro/upload-release-action@v1-release
37+
with:
38+
repo_token: ${{ secrets.GITHUB_TOKEN }}
39+
asset_name: libffi_java_vcl.dylib.tar.gz
40+
file: target/release/libffi_java_vcl.dylib
41+
tag: ${{ github.ref }}
42+
overwrite: true
43+
- name: Upload wedpr-lab-core libraries to release
44+
uses: svenstaro/upload-release-action@v1-release
45+
with:
46+
repo_token: ${{ secrets.GITHUB_TOKEN }}
47+
asset_name: libffi_java_scd.dylib.tar.gz
48+
file: target/release/libffi_java_scd.dylib
49+
tag: ${{ github.ref }}
50+
overwrite: true
51+
- name: Upload wedpr-lab-core libraries to release
52+
uses: svenstaro/upload-release-action@v1-release
53+
with:
54+
repo_token: ${{ secrets.GITHUB_TOKEN }}
55+
asset_name: libffi_java_ktb.dylib.tar.gz
56+
file: target/release/libffi_java_ktb.dylib
57+
tag: ${{ github.ref }}
58+
overwrite: true
59+
- name: Upload wedpr-lab-core libraries to release
60+
uses: svenstaro/upload-release-action@v1-release
61+
with:
62+
repo_token: ${{ secrets.GITHUB_TOKEN }}
63+
asset_name: libffi_c_scd.dylib.tar.gz
64+
file: target/release/libffi_c_scd.dylib
65+
tag: ${{ github.ref }}
66+
overwrite: true
67+
- name: Upload wedpr-lab-core libraries to release
68+
uses: svenstaro/upload-release-action@v1-release
69+
with:
70+
repo_token: ${{ secrets.GITHUB_TOKEN }}
71+
asset_name: libffi_c_vcl.dylib.tar.gz
72+
file: target/release/libffi_c_vcl.dylib
73+
- name: Upload wedpr-lab-core libraries to release
74+
uses: svenstaro/upload-release-action@v1-release
75+
with:
76+
repo_token: ${{ secrets.GITHUB_TOKEN }}
77+
asset_name: libffi_c_hdk.dylib.tar.gz
78+
file: target/release/libffi_c_hdk.dylib
79+
tag: ${{ github.ref }}
80+
overwrite: true
81+
- name: build sm-acv
82+
run: cd ffi/ffi_java/ffi_java_acv && cargo clean && cargo build --release --no-default-features --features sm
83+
- name: rename libffi_java_acv
84+
run: mv target/release/libffi_java_acv.dylib target/release/libffi_java_sm_acv.dylib
85+
- name: Upload wedpr-lab-core libraries to release
86+
uses: svenstaro/upload-release-action@v1-release
87+
with:
88+
repo_token: ${{ secrets.GITHUB_TOKEN }}
89+
asset_name: libffi_java_sm_acv.dylib.tar.gz
90+
file: target/release/libffi_java_sm_acv.dylib
91+
tag: ${{ github.ref }}
92+
overwrite: true
93+
build_with_centos:
94+
name: build_with_centos
95+
runs-on: ubuntu-latest
96+
container:
97+
image: docker.io/centos:7
98+
steps:
99+
- uses: actions/checkout@v2
100+
with:
101+
fetch-depth: 5
102+
- name: install rust language
103+
uses: actions-rs/toolchain@v1
104+
with:
105+
toolchain: nightly-2021-06-17
106+
override: true
107+
- name: install CentOS dependencies
108+
run: |
109+
yum install -y epel-release centos-release-scl
110+
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
111+
- name: configure and compile
112+
run: |
113+
cargo build --all --all-targets --verbose --release
114+
- name: Upload wedpr-lab-core libraries to release
115+
uses: svenstaro/upload-release-action@v1-release
116+
with:
117+
repo_token: ${{ secrets.GITHUB_TOKEN }}
118+
name: libffi_java_acv.so.tar.gz
119+
file: target/release/libffi_java_acv.so
120+
tag: ${{ github.ref }}
121+
overwrite: true
122+
- name: Upload wedpr-lab-core libraries to release
123+
uses: svenstaro/upload-release-action@v1-release
124+
with:
125+
repo_token: ${{ secrets.GITHUB_TOKEN }}
126+
asset_name: libffi_java_vcl.so.tar.gz
127+
file: target/release/libffi_java_vcl.so
128+
tag: ${{ github.ref }}
129+
overwrite: true
130+
- name: Upload wedpr-lab-core libraries to release
131+
uses: svenstaro/upload-release-action@v1-release
132+
with:
133+
repo_token: ${{ secrets.GITHUB_TOKEN }}
134+
asset_name: libffi_java_scd.so.tar.gz
135+
file: target/release/libffi_java_scd.so
136+
tag: ${{ github.ref }}
137+
overwrite: true
138+
- name: Upload wedpr-lab-core libraries to release
139+
uses: svenstaro/upload-release-action@v1-release
140+
with:
141+
repo_token: ${{ secrets.GITHUB_TOKEN }}
142+
asset_name: libffi_java_ktb.so.tar.gz
143+
file: target/release/libffi_java_ktb.so
144+
tag: ${{ github.ref }}
145+
overwrite: true
146+
- name: Upload wedpr-lab-core libraries to release
147+
uses: svenstaro/upload-release-action@v1-release
148+
with:
149+
repo_token: ${{ secrets.GITHUB_TOKEN }}
150+
asset_name: libffi_c_scd.so.tar.gz
151+
file: target/release/libffi_c_scd.so
152+
tag: ${{ github.ref }}
153+
overwrite: true
154+
- name: Upload wedpr-lab-core libraries to release
155+
uses: svenstaro/upload-release-action@v1-release
156+
with:
157+
repo_token: ${{ secrets.GITHUB_TOKEN }}
158+
asset_name: libffi_c_vcl.so.tar.gz
159+
file: target/release/libffi_c_vcl.so
160+
tag: ${{ github.ref }}
161+
overwrite: true
162+
- name: Upload wedpr-lab-core libraries to release
163+
uses: svenstaro/upload-release-action@v1-release
164+
with:
165+
repo_token: ${{ secrets.GITHUB_TOKEN }}
166+
asset_name: libffi_c_hdk.so.tar.gz
167+
file: target/release/libffi_c_hdk.so
168+
tag: ${{ github.ref }}
169+
overwrite: true
170+
- name: build sm-acv
171+
run: cd ffi/ffi_java/ffi_java_acv && cargo clean && cargo build --release --no-default-features --features sm
172+
- name: rename libffi_java_acv
173+
run: mv target/release/libffi_java_acv.so target/release/libffi_java_sm_acv.so
174+
- name: Upload wedpr-lab-core libraries to release
175+
uses: svenstaro/upload-release-action@v1-release
176+
with:
177+
repo_token: ${{ secrets.GITHUB_TOKEN }}
178+
asset_name: libffi_java_sm_acv.so.tar.gz
179+
file: target/release/libffi_java_sm_acv.so
180+
tag: ${{ github.ref }}
181+
overwrite: true
182+
build_with_windows:
183+
name: build_with_windows
184+
runs-on: ${{ matrix.os }}
185+
strategy:
186+
matrix:
187+
os: [windows-2019]
188+
steps:
189+
- uses: actions/checkout@v2
190+
with:
191+
fetch-depth: 5
192+
- run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
193+
- run: vcpkg install openssl:x64-windows-static-md
194+
- name: build and test
195+
run: |
196+
cargo build --all --all-targets --verbose --release
197+
- name: Upload wedpr-lab-core libraries to release
198+
uses: svenstaro/upload-release-action@v1-release
199+
with:
200+
repo_token: ${{ secrets.GITHUB_TOKEN }}
201+
asset_name: ffi_java_acv.dll.zip
202+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_acv.dll
203+
tag: ${{ github.ref }}
204+
overwrite: true
205+
- name: Upload wedpr-lab-core libraries to release
206+
uses: svenstaro/upload-release-action@v1-release
207+
with:
208+
repo_token: ${{ secrets.GITHUB_TOKEN }}
209+
asset_name: ffi_java_vcl.dll.zip
210+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_vcl.dll
211+
tag: ${{ github.ref }}
212+
overwrite: true
213+
- name: Upload wedpr-lab-core libraries to release
214+
uses: svenstaro/upload-release-action@v1-release
215+
with:
216+
repo_token: ${{ secrets.GITHUB_TOKEN }}
217+
asset_name: ffi_java_scd.dll.zip
218+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_scd.dll
219+
tag: ${{ github.ref }}
220+
overwrite: true
221+
- name: Upload wedpr-lab-core libraries to release
222+
uses: svenstaro/upload-release-action@v1-release
223+
with:
224+
repo_token: ${{ secrets.GITHUB_TOKEN }}
225+
asset_name: ffi_java_ktb.dll.zip
226+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_ktb.dll
227+
tag: ${{ github.ref }}
228+
overwrite: true
229+
- name: Upload wedpr-lab-core libraries to release
230+
uses: svenstaro/upload-release-action@v1-release
231+
with:
232+
repo_token: ${{ secrets.GITHUB_TOKEN }}
233+
asset_name: ffi_c_scd.dll.zip
234+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_c_scd.dll
235+
tag: ${{ github.ref }}
236+
overwrite: true
237+
- name: Upload wedpr-lab-core libraries to release
238+
uses: svenstaro/upload-release-action@v1-release
239+
with:
240+
repo_token: ${{ secrets.GITHUB_TOKEN }}
241+
asset_name: ffi_c_vcl.dll.zip
242+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_c_vcl.dll
243+
tag: ${{ github.ref }}
244+
overwrite: true
245+
- name: Upload wedpr-lab-core libraries to release
246+
uses: svenstaro/upload-release-action@v1-release
247+
with:
248+
repo_token: ${{ secrets.GITHUB_TOKEN }}
249+
asset_name: ffi_c_hdk.dll.zip
250+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_c_hdk.dll
251+
tag: ${{ github.ref }}
252+
overwrite: true
253+
- name: build sm-acv
254+
run: cd ffi/ffi_java/ffi_java_acv && cargo clean && cargo build --release --no-default-features --features sm
255+
- name: rename libffi_java_acv
256+
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
257+
- name: Upload wedpr-lab-core libraries to release
258+
uses: svenstaro/upload-release-action@v1-release
259+
with:
260+
repo_token: ${{ secrets.GITHUB_TOKEN }}
261+
asset_name: ffi_java_sm_acv.dll.zip
262+
file: D:\a\WeDPR-Lab-Core\WeDPR-Lab-Core\target\release\ffi_java_sm_acv.dll
263+
tag: ${{ github.ref }}
264+
overwrite: true

Changelog.md

+62
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,65 @@
1+
## v1.6.0
2+
(2022-08-29)
3+
4+
**新增**
5+
- 匿名投票(anonymous ciphertext voting)添加另选他人相关的密文投票生成、密文投票验证、计票、解密等接口
6+
- 匿名投票同时支持通过非国密算法和国密算法签名/验签
7+
- 匿名投票模块添加Java FFI封装
8+
- CI新增上传不同平台动态库功能
9+
10+
11+
**更新**
12+
13+
- 更新[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)
14+
15+
16+
17+
**新增**
18+
19+
- 新增`zkp`相关接口的`c ffi`封装
20+
- 添加`wedpr_aggregate_ristretto_point`方法支持`RistrettoPoint`加操作
21+
- 新增ci自动上传各平台动态库功能
22+
23+
**更新**
24+
25+
- 升级`rust toolchain``nightly-2022-07-28`
26+
-`zkp``ot`算法相关的证明参数由`ProtoBuf`修改为结构体
27+
28+
## v1.5.0
29+
30+
**WeDPR-Lab-Core v1.5.0版本**开源主要内容如下:
31+
- **多方密文决策ACV核心算法**,支持全密文决策、全流程可验证的多方隐私决策。
32+
33+
- ACV场景式解决方案的一个**交互式样例**,实现以下主要功能:
34+
35+
36+
- 密文空白选票的颁发
37+
38+
- 决策密文选票的生成
39+
40+
- 密文决策过程的零知识证明生成与验证
41+
42+
- 密文决策结果的汇总
43+
44+
- 汇总过程的零知识证明生成和验证
45+
46+
- 决策结果的验证
47+
48+
- **Rust SDK**,封装底层算法,提供易用、易扩展、跨语言的编程接口;
49+
50+
- 其他**基础工具**代码。
51+
52+
53+
## v1.4.0
54+
155
**WeDPR-Lab-Core v1.4.0版本**开源主要内容如下:
256
WeDPR-Lab Core v1.4.0中,我们将WeDPR-Lab Crypto v1.1.0新增的零知识证明的聚合验证算法运用于VCL公开可验证密文账本。具体解释如下:
357

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

660

61+
## v1.3.0
62+
763
**WeDPR-Lab-Core v1.3.0版本**开源主要内容如下:
864

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

2379

80+
## v1.2.0
81+
2482
**WeDPR-Lab-Core v1.2.0版本**开源主要内容如下:
2583

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

44102

45103

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

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

56116

117+
## v1.0.0
118+
57119
**WeDPR-Lab-Core v1.0.0版本**开源主要内容如下:
58120

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

bounty/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "wedpr_bounty"
3-
version = "1.3.0"
3+
version = "1.4.0"
44
authors = [ "WeDPR <wedpr@webank.com>" ]
55
edition = "2018"
66

@@ -12,9 +12,9 @@ curve25519-dalek = { version = "1", features = [ "serde" ] }
1212
protobuf = "2.22.1"
1313
rand = "0.3.17"
1414
sha3 = "0.8"
15-
wedpr_l_crypto_zkp_discrete_logarithm_proof = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
15+
wedpr_l_crypto_zkp_discrete_logarithm_proof = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
1616
wedpr_l_crypto_zkp_range_proof = "1.2.0"
17-
wedpr_l_crypto_zkp_utils ={version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
17+
wedpr_l_crypto_zkp_utils ={version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
1818
wedpr_l_macros = "1.0.0"
1919
wedpr_l_utils = "1.0.0"
2020
wedpr_s_protos = { path = "../protos" }

ffi/ffi_java/ffi_java_acv/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ protobuf = "2.22.1"
1919
wedpr_ffi_common = "1.1.0"
2020
wedpr_ffi_macros = "1.1.0"
2121

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

protos/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ lazy_static = "1.4.0"
1919
protobuf = "2.22.1"
2020
protoc-rust = "2.22.1"
2121
wedpr_l_utils = "1.1.0"
22-
wedpr_l_crypto_zkp_utils = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", branch = "dev-1.3.0"}
22+
wedpr_l_crypto_zkp_utils = {version = "1.3.0", git = "https://github.com/WeBankBlockchain/WeDPR-Lab-Crypto", tag = "v1.3.0"}
2323
wedpr_l_crypto_hash_sm3 = {version = "1.1.0", optional = true}
2424
wedpr_l_crypto_signature_sm2 = {version = "1.1.0", optional = true}
2525
wedpr_l_crypto_hash_keccak256 = {version = "1.1.0", optional = true}

0 commit comments

Comments
 (0)