@@ -5,6 +5,9 @@ use common::finite_field::FiniteFieldElement;
5
5
use elliptic_curve:: elliptic_curve:: EllipticCurve ;
6
6
use elliptic_curve:: elliptic_curve:: EllipticCurvePoint ;
7
7
use elliptic_curve:: encryption:: Encryption ;
8
+ use flate2:: read:: ZlibDecoder ;
9
+ use flate2:: write:: ZlibEncoder ;
10
+ use flate2:: Compression ;
8
11
use gpsl:: external_function:: ExternalFuncReturn ;
9
12
use gpsl:: external_function:: ExternalFuncStatus ;
10
13
use gpsl:: node:: Node ;
@@ -17,6 +20,7 @@ use serde::Deserialize;
17
20
use serde:: Serialize ;
18
21
use std:: env;
19
22
use std:: fs:: File ;
23
+ use std:: io:: prelude:: * ;
20
24
use std:: io:: BufRead ;
21
25
use std:: io:: BufReader ;
22
26
use std:: io:: Read ;
@@ -71,9 +75,12 @@ struct Config {
71
75
impl Config {
72
76
fn read_file ( file : & str ) -> String {
73
77
let mut file = fs:: File :: open ( file) . unwrap ( ) ;
74
- let mut contents = String :: new ( ) ;
75
- file. read_to_string ( & mut contents) . unwrap ( ) ;
76
- contents
78
+ let mut contents = Vec :: new ( ) ;
79
+ file. read_to_end ( & mut contents) . unwrap ( ) ;
80
+ let mut d = ZlibDecoder :: new ( & contents[ ..] ) ;
81
+ let mut s = String :: new ( ) ;
82
+ d. read_to_string ( & mut s) . unwrap ( ) ;
83
+ s
77
84
}
78
85
pub fn from_file ( file : & str ) -> Self {
79
86
let file = Config :: read_file ( file) ;
@@ -83,7 +90,7 @@ impl Config {
83
90
if let Some ( private_key) = config. private_key {
84
91
let decoded = base64:: decode ( & private_key) . unwrap ( ) ;
85
92
let s = std:: str:: from_utf8 ( & decoded) . unwrap ( ) ;
86
- Some ( U512 :: from_str ( s ) . unwrap ( ) )
93
+ Some ( U512 :: from_str_radix ( s , 10 ) . unwrap ( ) )
87
94
} else {
88
95
None
89
96
}
@@ -93,7 +100,8 @@ impl Config {
93
100
if let Some ( public_key) = config. public_key {
94
101
let decoded = base64:: decode ( & public_key) . unwrap ( ) ;
95
102
let s = std:: str:: from_utf8 ( & decoded) . unwrap ( ) ;
96
- Some ( EllipticCurvePoint :: from_str ( s) . unwrap ( ) )
103
+ let r = EllipticCurvePoint :: from_str ( s) . unwrap ( ) ;
104
+ Some ( r)
97
105
} else {
98
106
None
99
107
}
@@ -113,7 +121,7 @@ impl Config {
113
121
[Mod(4767914906170010398, 6139062703770505681), Mod(2445476831433994309, 6139062703770505681)]]]
114
122
*/
115
123
116
- fn main ( ) {
124
+ fn o_main ( ) {
117
125
let p = U512 :: from_str_radix ( "1009" , 10 ) . unwrap ( ) ;
118
126
119
127
let secp256_k1_a = FiniteFieldElement :: new ( U512 :: from ( 37u8 ) , p) ;
@@ -139,6 +147,7 @@ fn main() {
139
147
b : secp256_k1_b,
140
148
}
141
149
} ;
150
+
142
151
let r = U512 :: from_str_radix ( "7" , 10 ) . unwrap ( ) ;
143
152
144
153
let f = EllipticCurvePoint :: weil ( pp, pd, r) ;
@@ -149,11 +158,11 @@ fn main() {
149
158
let q = pp * s;
150
159
let qd = pd * sd;
151
160
152
- let ra = U512 :: from_str_radix ( "1 " , 10 ) . unwrap ( ) ;
161
+ let ra = U512 :: from_str_radix ( "20 " , 10 ) . unwrap ( ) ;
153
162
let rad = U512 :: from_str_radix ( "26" , 10 ) . unwrap ( ) ;
154
163
155
164
let m = U512 :: from_str_radix ( "2" , 10 ) . unwrap ( ) ;
156
- let md = U512 :: from_str_radix ( "3 " , 10 ) . unwrap ( ) ;
165
+ let md = U512 :: from_str_radix ( "2 " , 10 ) . unwrap ( ) ;
157
166
158
167
let s1 = pp * m + q * ra;
159
168
let t1 = pp * ra;
@@ -264,7 +273,7 @@ fn generate_encryption() -> Encryption {
264
273
}
265
274
}
266
275
267
- fn o_main ( ) {
276
+ fn main ( ) {
268
277
env:: set_var ( "RUST_LOG" , "info" ) ;
269
278
env_logger:: init ( ) ;
270
279
let args = Args :: parse ( ) ;
@@ -434,8 +443,10 @@ fn client(args: Args) {
434
443
435
444
let mut file = File :: create ( "gpsl_conf.toml" ) . unwrap ( ) ;
436
445
let config_file = ConfigFile :: from_config ( config. clone ( ) ) ;
437
- file. write_all ( serde_json:: to_string ( & config_file) . unwrap ( ) . as_bytes ( ) )
446
+ let mut e = ZlibEncoder :: new ( Vec :: new ( ) , Compression :: default ( ) ) ;
447
+ e. write_all ( toml:: to_string ( & config_file) . unwrap ( ) . as_bytes ( ) )
438
448
. unwrap ( ) ;
449
+ file. write_all ( & e. finish ( ) . unwrap ( ) ) . unwrap ( ) ;
439
450
440
451
config
441
452
} ;
0 commit comments