Monero
Toggle main menu visibility
Loading...
Searching...
No Matches
tests
performance_tests
derive_secret_key.h
Go to the documentation of this file.
1
// Copyright (c) 2014-2022, The Monero Project
2
//
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without modification, are
6
// permitted provided that the following conditions are met:
7
//
8
// 1. Redistributions of source code must retain the above copyright notice, this list of
9
// conditions and the following disclaimer.
10
//
11
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
12
// of conditions and the following disclaimer in the documentation and/or other
13
// materials provided with the distribution.
14
//
15
// 3. Neither the name of the copyright holder nor the names of its contributors may be
16
// used to endorse or promote products derived from this software without specific
17
// prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
//
29
// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
30
31
#pragma once
32
33
#include "
crypto/crypto.h
"
34
#include "
cryptonote_basic/cryptonote_basic.h
"
35
36
#include "
single_tx_test_base.h
"
37
38
class
test_derive_secret_key
:
public
single_tx_test_base
39
{
40
public
:
41
static
const
size_t
loop_count
= 10000;
42
43
bool
init
()
44
{
45
if
(!
single_tx_test_base::init
())
46
return
false
;
47
48
crypto::generate_key_derivation
(
m_tx_pub_key
,
m_bob
.get_keys().m_view_secret_key,
m_key_derivation
);
49
m_spend_secret_key
=
m_bob
.get_keys().m_spend_secret_key;
50
51
return
true
;
52
}
53
54
bool
test
()
55
{
56
cryptonote::keypair
in_ephemeral;
57
crypto::derive_secret_key
(
m_key_derivation
, 0,
m_spend_secret_key
, in_ephemeral.
sec
);
58
return
true
;
59
}
60
61
private
:
62
crypto::key_derivation
m_key_derivation
;
63
crypto::secret_key
m_spend_secret_key
;
64
};
single_tx_test_base
Definition
single_tx_test_base.h:38
single_tx_test_base::init
bool init()
Definition
single_tx_test_base.h:40
single_tx_test_base::m_tx_pub_key
crypto::public_key m_tx_pub_key
Definition
single_tx_test_base.h:57
single_tx_test_base::m_bob
cryptonote::account_base m_bob
Definition
single_tx_test_base.h:55
test_derive_secret_key
Definition
derive_secret_key.h:39
test_derive_secret_key::loop_count
static const size_t loop_count
Definition
derive_secret_key.h:41
test_derive_secret_key::test
bool test()
Definition
derive_secret_key.h:54
test_derive_secret_key::init
bool init()
Definition
derive_secret_key.h:43
test_derive_secret_key::m_key_derivation
crypto::key_derivation m_key_derivation
Definition
derive_secret_key.h:62
test_derive_secret_key::m_spend_secret_key
crypto::secret_key m_spend_secret_key
Definition
derive_secret_key.h:63
crypto.h
cryptonote_basic.h
crypto::secret_key
epee::mlocked< tools::scrubbed< ec_scalar > > secret_key
Definition
crypto.h:72
crypto::key_derivation
POD_CLASS key_derivation
Definition
crypto.h:91
crypto::derive_secret_key
void derive_secret_key(const key_derivation &derivation, std::size_t output_index, const secret_key &base, secret_key &derived_key)
Definition
crypto.h:242
crypto::generate_key_derivation
bool generate_key_derivation(const public_key &key1, const secret_key &key2, key_derivation &derivation)
Definition
crypto.h:232
single_tx_test_base.h
cryptonote::keypair
Definition
cryptonote_basic.h:539
cryptonote::keypair::sec
crypto::secret_key sec
Definition
cryptonote_basic.h:541
Generated on
for Monero by
1.17.0