Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
sgxwallet
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董子豪
sgxwallet
Commits
07c553db
Unverified
Commit
07c553db
authored
May 26, 2020
by
Stan Kladko
Committed by
GitHub
May 26, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #94 from skalenetwork/SKALE-1880-FIX-WARNINGS
Skale 1880 fix warnings
parents
7f2d4e74
ce9a74eb
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
31 additions
and
37 deletions
+31
-37
Log.h
Log.h
+1
-0
DomainParameters.c
secure_enclave/DomainParameters.c
+4
-0
Point.c
secure_enclave/Point.c
+12
-20
Point.h
secure_enclave/Point.h
+2
-2
Signature.c
secure_enclave/Signature.c
+10
-13
Signature.h
secure_enclave/Signature.h
+2
-2
No files found.
Log.h
View file @
07c553db
...
...
@@ -21,6 +21,7 @@
@date 2018
*/
#ifndef _LOG_H
#define _LOG_H
...
...
secure_enclave/DomainParameters.c
View file @
07c553db
...
...
@@ -94,6 +94,10 @@ void domain_parameters_set_hex(domain_parameters curve, char* name, char* p, cha
/*Release memory*/
void
domain_parameters_clear
(
domain_parameters
curve
)
{
if
(
!
curve
)
return
;
mpz_clear
(
curve
->
p
);
mpz_clear
(
curve
->
a
);
mpz_clear
(
curve
->
b
);
...
...
secure_enclave/Point.c
View file @
07c553db
...
...
@@ -55,20 +55,7 @@ void point_at_infinity(point p)
}
/*Print point to standart output stream*/
void
point_print
(
point
p
)
{
/* //Write something if point is a infinity
if(p->infinity)
{
printf("Point is at infinity!");
}else{
printf("\nPoint: (\n\t");
//mpz_out_str(stdout, 10, p->x);
printf("\n,\n\t");
//mpz_out_str(stdout, 10, p->y);
printf("\n)\n");
}*/
}
/*Set a point from another point*/
void
point_set
(
point
R
,
point
P
)
...
...
@@ -82,16 +69,19 @@ void point_set(point R, point P)
}
/*Set point from strings of a base from 2-62*/
void
point_set_str
(
point
p
,
const
char
*
x
,
const
char
*
y
,
int
base
)
int
point_set_str
(
point
p
,
const
char
*
x
,
const
char
*
y
,
int
base
)
{
mpz_set_str
(
p
->
x
,
x
,
base
);
mpz_set_str
(
p
->
y
,
y
,
base
);
if
(
mpz_set_str
(
p
->
x
,
x
,
base
)
!=
0
||
mpz_set_str
(
p
->
y
,
y
,
base
)
!=
0
)
{
return
1
;
}
return
0
;
}
/*Set point from hexadecimal strings*/
void
point_set_hex
(
point
p
,
const
char
*
x
,
const
char
*
y
)
int
point_set_hex
(
point
p
,
const
char
*
x
,
const
char
*
y
)
{
point_set_str
(
p
,
x
,
y
,
16
);
return
point_set_str
(
p
,
x
,
y
,
16
);
}
/*Set point from decimal unsigned long ints*/
...
...
@@ -292,7 +282,7 @@ Loops through the integer bit per bit, if a bit is 1 then x is added to the resu
This is not the most effecient method of point multiplication, but it's faster than P+P+P+... which is not computational feasiable.
*/
int
bits
=
mpz_sizeinbase
(
multiplier
,
2
);
unsigned
long
int
bit
=
0
;
long
int
bit
=
0
;
while
(
bit
<=
bits
)
{
if
(
mpz_tstbit
(
multiplier
,
bit
))
...
...
@@ -392,6 +382,8 @@ char* point_compress(point P)
/*Release point*/
void
point_clear
(
point
p
)
{
if
(
!
p
)
return
;
mpz_clear
(
p
->
x
);
mpz_clear
(
p
->
y
);
free
(
p
);
...
...
secure_enclave/Point.h
View file @
07c553db
...
...
@@ -46,7 +46,7 @@ EXTERNC void point_inverse(point R, point P, domain_parameters curve);
EXTERNC
void
point_print
(
point
p
);
/*Set point from hexadecimal strings*/
EXTERNC
void
point_set_hex
(
point
p
,
const
char
*
x
,
const
char
*
y
);
EXTERNC
int
point_set_hex
(
point
p
,
const
char
*
x
,
const
char
*
y
);
/*Set point from decimal unsigned long ints*/
EXTERNC
void
point_set_ui
(
point
p
,
unsigned
long
int
x
,
unsigned
long
int
y
);
...
...
@@ -61,7 +61,7 @@ EXTERNC void point_doubling(point R, point P, domain_parameters curve);
EXTERNC
void
point_multiplication
(
point
R
,
mpz_t
multiplier
,
point
P
,
domain_parameters
curve
);
/*Set point from strings of a base from 2-62*/
EXTERNC
void
point_set_str
(
point
p
,
const
char
*
x
,
const
char
*
y
,
int
base
);
EXTERNC
int
point_set_str
(
point
p
,
const
char
*
x
,
const
char
*
y
,
int
base
);
/*Compare two points return 1 if not the same, returns 0 if they are the same*/
EXTERNC
bool
point_cmp
(
point
P
,
point
Q
);
...
...
secure_enclave/Signature.c
View file @
07c553db
...
...
@@ -49,24 +49,19 @@ signature signature_init() {
return
sig
;
}
/*Print signature to standart output stream*/
void
signature_print
(
signature
sig
)
{
/*printf("\nSignature (r,s): \n\t(");
mpz_out_str(stdout, 10, sig->r);
printf(",\n\t");
mpz_out_str(stdout, 10, sig->s);
printf(")\n");*/
}
/*Set signature from strings of a base from 2-62*/
void
signature_set_str
(
signature
sig
,
const
char
*
r
,
const
char
*
s
,
int
base
)
{
mpz_set_str
(
sig
->
r
,
r
,
base
);
mpz_set_str
(
sig
->
s
,
s
,
base
);
int
signature_set_str
(
signature
sig
,
const
char
*
r
,
const
char
*
s
,
int
base
)
{
if
(
mpz_set_str
(
sig
->
r
,
r
,
base
)
!=
0
||
mpz_set_str
(
sig
->
s
,
s
,
base
)
!=
0
)
{
return
1
;
}
return
0
;
}
/*Set signature from hexadecimal strings*/
void
signature_set_hex
(
signature
sig
,
const
char
*
r
,
const
char
*
s
)
{
signature_set_str
(
sig
,
r
,
s
,
16
);
int
signature_set_hex
(
signature
sig
,
const
char
*
r
,
const
char
*
s
)
{
return
signature_set_str
(
sig
,
r
,
s
,
16
);
}
/*Set signature from decimal unsigned long ints*/
...
...
@@ -184,6 +179,8 @@ void signature_sign(signature sig, mpz_t message, mpz_t private_key, domain_para
/*Release signature*/
void
signature_free
(
signature
sig
)
{
if
(
!
sig
)
return
;
mpz_clear
(
sig
->
r
);
mpz_clear
(
sig
->
s
);
free
(
sig
);
...
...
secure_enclave/Signature.h
View file @
07c553db
...
...
@@ -44,10 +44,10 @@ typedef struct signature_s* signature;
EXTERNC
signature
signature_init
();
/*Set signature from strings of a base from 2-62*/
EXTERNC
void
signature_set_str
(
signature
sig
,
const
char
*
r
,
const
char
*
s
,
int
base
);
EXTERNC
int
signature_set_str
(
signature
sig
,
const
char
*
r
,
const
char
*
s
,
int
base
);
/*Set signature from hexadecimal strings*/
EXTERNC
void
signature_set_hex
(
signature
sig
,
const
char
*
r
,
const
char
*
s
);
EXTERNC
int
signature_set_hex
(
signature
sig
,
const
char
*
r
,
const
char
*
s
);
/*Set signature from decimal unsigned long ints*/
EXTERNC
void
signature_set_ui
(
signature
sig
,
unsigned
long
int
r
,
unsigned
long
int
s
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment