Skip to content

Commit c8ff901

Browse files
committed
Merge #37: Encrypt ECDSA signatures in release builds
e869210 Encrypt ECDSA adaptor signatures in release builds (Mariusz Klochowicz) 150669b Add CI job for running tests in release mode to show failing testcases (Mariusz Klochowicz) Pull request description: ACKs for top commit: thomaseizinger: ACK e869210 jonasnick: ACK e869210 Tree-SHA512: 9d9a9b5af1f8bf8effa9bf7b96755a4b08e096febc764e7e4ba36e5e77c987a632200de018f1cf292ae156008ee2b2d03462a03537faebeaca1890e0f769b460
2 parents ab7f6d8 + e869210 commit c8ff901

File tree

2 files changed

+52
-24
lines changed

2 files changed

+52
-24
lines changed

.github/workflows/rust.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,32 @@ jobs:
103103
DO_FEATURE_MATRIX: true
104104
run: ./contrib/test.sh
105105

106+
ReleaseTests:
107+
name: Release tests with global context enabled
108+
strategy:
109+
matrix:
110+
rust:
111+
- 1.29.0
112+
- beta
113+
- stable
114+
target: [ x86_64-unknown-linux-gnu, x86_64-apple-darwin ]
115+
include:
116+
- target: x86_64-unknown-linux-gnu
117+
os: ubuntu-latest
118+
- target: x86_64-apple-darwin
119+
os: macos-latest
120+
runs-on: ${{ matrix.os }}
121+
steps:
122+
- name: Checkout Crate
123+
uses: actions/checkout@v2
124+
- name: Checkout Toolchain
125+
uses: actions-rs/toolchain@v1
126+
with:
127+
profile: minimal
128+
toolchain: ${{ matrix.rust }}
129+
override: true
130+
- name: Pin cc if rust 1.29
131+
if: matrix.rust == '1.29.0'
132+
run: cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose
133+
- name: Running cargo in release mode
134+
run: cargo test --features="global-context" --release

src/zkp/ecdsa_adaptor.rs

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -167,19 +167,18 @@ impl EcdsaAdaptorSignature {
167167
) -> EcdsaAdaptorSignature {
168168
let mut adaptor_sig = ffi::EcdsaAdaptorSignature::new();
169169

170-
unsafe {
171-
debug_assert!(
172-
ffi::secp256k1_ecdsa_adaptor_encrypt(
173-
*secp.ctx(),
174-
&mut adaptor_sig,
175-
sk.as_c_ptr(),
176-
enckey.as_c_ptr(),
177-
msg.as_c_ptr(),
178-
ffi::secp256k1_nonce_function_ecdsa_adaptor,
179-
ptr::null_mut(),
180-
) == 1
181-
);
170+
let res = unsafe {
171+
ffi::secp256k1_ecdsa_adaptor_encrypt(
172+
*secp.ctx(),
173+
&mut adaptor_sig,
174+
sk.as_c_ptr(),
175+
enckey.as_c_ptr(),
176+
msg.as_c_ptr(),
177+
ffi::secp256k1_nonce_function_ecdsa_adaptor,
178+
ptr::null_mut(),
179+
)
182180
};
181+
debug_assert_eq!(res, 1);
183182

184183
EcdsaAdaptorSignature(adaptor_sig)
185184
}
@@ -197,19 +196,19 @@ impl EcdsaAdaptorSignature {
197196
) -> EcdsaAdaptorSignature {
198197
let mut adaptor_sig = ffi::EcdsaAdaptorSignature::new();
199198

200-
unsafe {
201-
debug_assert!(
202-
ffi::secp256k1_ecdsa_adaptor_encrypt(
203-
*secp.ctx(),
204-
&mut adaptor_sig,
205-
sk.as_c_ptr(),
206-
enckey.as_c_ptr(),
207-
msg.as_c_ptr(),
208-
ffi::secp256k1_nonce_function_ecdsa_adaptor,
209-
aux_rand.as_c_ptr() as *mut ffi::types::c_void,
210-
) == 1
211-
);
199+
let res = unsafe {
200+
ffi::secp256k1_ecdsa_adaptor_encrypt(
201+
*secp.ctx(),
202+
&mut adaptor_sig,
203+
sk.as_c_ptr(),
204+
enckey.as_c_ptr(),
205+
msg.as_c_ptr(),
206+
ffi::secp256k1_nonce_function_ecdsa_adaptor,
207+
aux_rand.as_c_ptr() as *mut ffi::types::c_void,
208+
)
212209
};
210+
debug_assert_eq!(res, 1);
211+
213212
EcdsaAdaptorSignature(adaptor_sig)
214213
}
215214

0 commit comments

Comments
 (0)