Fix send scalar z in plaintext

The scalar z has not been generated on the HW thus it can't be sent
encrypted. The value is derived from the exported private view key.
This commit is contained in:
François Colas 2020-08-28 12:01:57 +02:00
parent 333ae55fef
commit 975ae22211
No known key found for this signature in database
GPG Key ID: 22B0009923FB1765
1 changed files with 6 additions and 4 deletions

View File

@ -2126,7 +2126,7 @@ namespace hw {
AUTO_LOCK_CMD(); AUTO_LOCK_CMD();
#ifdef DEBUG_HWDEVICE #ifdef DEBUG_HWDEVICE
const rct::key p_x = hw::ledger::decrypt(p); const rct::key p_x = hw::ledger::decrypt(p);
const rct::key z_x = hw::ledger::decrypt(z); const rct::key z_x = z;
rct::key I_x; rct::key I_x;
rct::key D_x; rct::key D_x;
const rct::key H_x = H; const rct::key H_x = H;
@ -2146,7 +2146,8 @@ namespace hw {
//p //p
this->send_secret(p.bytes, offset); this->send_secret(p.bytes, offset);
//z //z
this->send_secret(z.bytes, offset); memmove(this->buffer_send+offset, z.bytes, 32);
offset += 32;
//H //H
memmove(this->buffer_send+offset, H.bytes, 32); memmove(this->buffer_send+offset, H.bytes, 32);
offset += 32; offset += 32;
@ -2225,7 +2226,7 @@ namespace hw {
const rct::key c_x = c; const rct::key c_x = c;
const rct::key a_x = hw::ledger::decrypt(a); const rct::key a_x = hw::ledger::decrypt(a);
const rct::key p_x = hw::ledger::decrypt(p); const rct::key p_x = hw::ledger::decrypt(p);
const rct::key z_x = hw::ledger::decrypt(z); const rct::key z_x = z;
const rct::key mu_P_x = mu_P; const rct::key mu_P_x = mu_P;
const rct::key mu_C_x = mu_C; const rct::key mu_C_x = mu_C;
rct::key s_x; rct::key s_x;
@ -2249,7 +2250,8 @@ namespace hw {
//p //p
this->send_secret(p.bytes, offset); this->send_secret(p.bytes, offset);
//z //z
this->send_secret(z.bytes, offset); memmove(this->buffer_send+offset, z.bytes, 32);
offset += 32;
//mu_P //mu_P
memmove(this->buffer_send+offset, mu_P.bytes, 32); memmove(this->buffer_send+offset, mu_P.bytes, 32);
offset += 32; offset += 32;