Electroneum
Toggle main menu visibility
Loading...
Searching...
No Matches
delegated_pow.cpp
Go to the documentation of this file.
1
// Copyrights(c) 2017-2018, The Electroneum Project
2
3
#include "gtest/gtest.h"
4
5
#include "
crypto/crypto.h
"
6
7
std::vector<std::string>
keypair
=
crypto::create_ed25519_keypair
();
8
std::string
privateKey
= boost::algorithm::unhex(
keypair
[0]);
9
std::string
publicKey
= boost::algorithm::unhex(
keypair
[1]);
10
std::string
message
(
"Message requiring signing"
);
11
std::string
unusedMessage
(
"Unused message"
);
12
std::string
validSignature
=
crypto::sign_message
(
message
,
privateKey
);
13
std::string
invalidSignature
=
crypto::sign_message
(
message
,
keypair
[0]);
14
std::string
blankInvalidSignature
=
crypto::sign_message
(
message
,
""
);
15
16
TEST
(
ed25519_signature
, CreateKeyPair)
17
{
18
ASSERT_EQ
(
keypair
.size(), 2);
19
ASSERT_EQ
(
keypair
[0].size(), 64);
20
ASSERT_EQ
(
keypair
[1].size(), 64);
21
ASSERT_EQ
(
privateKey
.size(), 32);
22
ASSERT_EQ
(
publicKey
.size(), 32);
23
}
24
25
TEST
(DelegatedPOW, SignMessage)
26
{
27
ASSERT_EQ
(
validSignature
.size(), 64);
28
ASSERT_EQ
(
invalidSignature
.size(), 0);
29
ASSERT_EQ
(
blankInvalidSignature
.size(), 0);
30
}
31
32
TEST
(DelegatedPOW, VerifySignature)
33
{
34
EXPECT_TRUE
(
crypto::verify_signature
(
message
,
publicKey
,
validSignature
));
35
EXPECT_FALSE
(
crypto::verify_signature
(
message
,
privateKey
,
validSignature
));
36
EXPECT_FALSE
(
crypto::verify_signature
(
unusedMessage
,
publicKey
,
validSignature
));
37
EXPECT_FALSE
(
crypto::verify_signature
(
message
,
publicKey
,
invalidSignature
));
38
EXPECT_FALSE
(
crypto::verify_signature
(
message
,
privateKey
,
invalidSignature
));
39
EXPECT_FALSE
(
crypto::verify_signature
(
unusedMessage
,
publicKey
,
invalidSignature
));
40
}
crypto.h
keypair
std::vector< std::string > keypair
Definition
delegated_pow.cpp:7
publicKey
std::string publicKey
Definition
delegated_pow.cpp:9
privateKey
std::string privateKey
Definition
delegated_pow.cpp:8
message
std::string message("Message requiring signing")
unusedMessage
std::string unusedMessage("Unused message")
validSignature
std::string validSignature
Definition
delegated_pow.cpp:12
invalidSignature
std::string invalidSignature
Definition
delegated_pow.cpp:13
blankInvalidSignature
std::string blankInvalidSignature
Definition
delegated_pow.cpp:14
ed25519_signature
unsigned char ed25519_signature[64]
Definition
ed25519.h:10
ASSERT_EQ
#define ASSERT_EQ(val1, val2)
Definition
gtest.h:1956
EXPECT_TRUE
#define EXPECT_TRUE(condition)
Definition
gtest.h:1859
TEST
#define TEST(test_case_name, test_name)
Definition
gtest.h:2187
EXPECT_FALSE
#define EXPECT_FALSE(condition)
Definition
gtest.h:1862
crypto::verify_signature
bool verify_signature(const std::string &message, const std::string &publicKey, const std::string &signature)
Definition
crypto.h:380
crypto::sign_message
std::string sign_message(const std::string &message, const std::string &privateKey)
Definition
crypto.h:376
crypto::create_ed25519_keypair
std::vector< std::string > create_ed25519_keypair()
Definition
crypto.h:388
tests
unit_tests
delegated_pow.cpp
Generated on
for Electroneum by
1.17.0