finitefields 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/galois.ts +86 -27
- package/main.js +2 -0
- package/main.ts +2 -0
- package/package.json +1 -1
- package/galois.d.ts.map +0 -1
- package/galois.js.map +0 -1
- package/main.d.ts.map +0 -1
- package/main.js.map +0 -1
- package/polynomial.d.ts.map +0 -1
- package/polynomial.js.map +0 -1
package/galois.ts
CHANGED
|
@@ -19,17 +19,16 @@ fail = (...args:any[]): never => {
|
|
|
19
19
|
return void 0 as never;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
const arithmetics = (p:bigint,op:fieldops) =>
|
|
22
|
+
const arithmeticsℤp = (p:bigint,op:fieldops) =>
|
|
23
23
|
(op==fieldops.$add) ?
|
|
24
|
-
(a:bigint,b:bigint) => (a+b)%p :
|
|
24
|
+
(a:bigint,b:bigint=0n) => (a+b)%p :
|
|
25
25
|
(op==fieldops.$sub) ?
|
|
26
|
-
(a:bigint,b:bigint) => (a-b)%p :
|
|
26
|
+
(a:bigint,b:bigint=0n) => ((a-b)<1)?(a-b+p):(a-b)%p :
|
|
27
27
|
(op==fieldops.$mul) ?
|
|
28
|
-
(a:bigint,b:bigint) => (a*b)%p :
|
|
29
|
-
(op==fieldops.$
|
|
30
|
-
(a:bigint
|
|
31
|
-
fail();
|
|
32
|
-
|
|
28
|
+
(a:bigint,b:bigint=0n) => (a*b)%p :
|
|
29
|
+
(op==fieldops.$inv) ?
|
|
30
|
+
(a:bigint) => (!a)?fail('0 has no inverse'):Util.sqmul(a,(p-2n),p) :
|
|
31
|
+
fail('unknown field operation');
|
|
33
32
|
|
|
34
33
|
Util = {
|
|
35
34
|
countbits(x:bigint): bigint {
|
|
@@ -87,6 +86,45 @@ Util = {
|
|
|
87
86
|
return (val%max);
|
|
88
87
|
else
|
|
89
88
|
return val;
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
eea(x:bigint,p:bigint): bigint {
|
|
92
|
+
return fail('eea() not implemented') as never;
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
sqmul(a:bigint,e:bigint,p:bigint): bigint {
|
|
96
|
+
let bitstring:boolean[];
|
|
97
|
+
let bitlen:bigint;
|
|
98
|
+
let n:bigint;
|
|
99
|
+
let val:bigint;
|
|
100
|
+
let mul:(y:bigint,z:bigint,p_:bigint)=>bigint;
|
|
101
|
+
let sq:(y:bigint,p_:bigint)=>bigint;
|
|
102
|
+
|
|
103
|
+
log(`${a}^${e} (mod ${p}) = `);
|
|
104
|
+
|
|
105
|
+
mul = (y:bigint,z:bigint,p_:bigint):bigint => ((y*z)%p_);
|
|
106
|
+
sq = (y:bigint,p_:bigint):bigint => ((y*y)%p_);
|
|
107
|
+
|
|
108
|
+
val = a;
|
|
109
|
+
bitlen = this.countbits(e);
|
|
110
|
+
if (!bitlen)
|
|
111
|
+
return fail('error: n ≯ 0');
|
|
112
|
+
n = (bitlen-1n);
|
|
113
|
+
bitstring = new Array<boolean>(Number(bitlen))
|
|
114
|
+
.fill(false,0,Number(bitlen))
|
|
115
|
+
.map((x:boolean,idx:number):boolean =>
|
|
116
|
+
(((e>>n--)&1n)===1n) && (!!idx));
|
|
117
|
+
// log(bitstring.map((x:boolean):number => (x)?1:0));
|
|
118
|
+
bitstring
|
|
119
|
+
.forEach((x:boolean):void => {
|
|
120
|
+
val = (x) ?
|
|
121
|
+
mul(a,sq(val,p),p) :
|
|
122
|
+
sq(a,p);
|
|
123
|
+
|
|
124
|
+
return void 0;
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
return (val%p);
|
|
90
128
|
}
|
|
91
129
|
}
|
|
92
130
|
|
|
@@ -94,10 +132,14 @@ enum fieldops {
|
|
|
94
132
|
$add,
|
|
95
133
|
$sub,
|
|
96
134
|
$mul,
|
|
97
|
-
$
|
|
135
|
+
$inv
|
|
98
136
|
}
|
|
99
137
|
|
|
100
138
|
interface Igalois {
|
|
139
|
+
add: (a:bigint,b:bigint)=>bigint;
|
|
140
|
+
sub: (a:bigint,b:bigint)=>bigint;
|
|
141
|
+
mul: (a:bigint,b:bigint)=>bigint;
|
|
142
|
+
inv: (a:bigint)=>bigint;
|
|
101
143
|
verify:()=>void;
|
|
102
144
|
constructor:Function;
|
|
103
145
|
}
|
|
@@ -106,38 +148,55 @@ interface Iutil {
|
|
|
106
148
|
isprime: (p:bigint,bitlen?:bigint,s?:number)=>boolean;
|
|
107
149
|
countbits: (x:bigint)=>bigint;
|
|
108
150
|
rnd: (bitlen:bigint,max:bigint)=>bigint;
|
|
151
|
+
eea: (x:bigint,p:bigint)=>bigint;
|
|
152
|
+
sqmul: (a:bigint,e:bigint,p:bigint)=>bigint;
|
|
109
153
|
}
|
|
110
154
|
|
|
111
|
-
class GF implements Igalois {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
155
|
+
abstract class GF implements Igalois {
|
|
156
|
+
protected modulus: bigint;
|
|
157
|
+
protected bitlen: bigint;
|
|
158
|
+
public abstract add: (a:bigint,b:bigint)=>bigint;
|
|
159
|
+
public abstract sub: typeof this.add;
|
|
160
|
+
public abstract mul: typeof this.add;
|
|
161
|
+
public abstract inv: (a:bigint)=>bigint;
|
|
162
|
+
|
|
163
|
+
public abstract verify(): void;
|
|
164
|
+
|
|
165
|
+
constructor(field:bigint,bitlen:bigint) {
|
|
166
|
+
this.modulus = field;
|
|
167
|
+
this.bitlen = bitlen;
|
|
168
|
+
this.verify();
|
|
169
|
+
|
|
170
|
+
return this;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
class PrimeField extends GF implements Igalois {
|
|
176
|
+
public add: (a:bigint,b:bigint)=>bigint;
|
|
177
|
+
public sub: typeof this.add;
|
|
178
|
+
public mul: typeof this.add;
|
|
179
|
+
public inv: (a:bigint)=>bigint;
|
|
118
180
|
|
|
119
181
|
public verify(): void {
|
|
120
182
|
if (!Util.isprime(this.modulus))
|
|
121
|
-
return fail(
|
|
183
|
+
return fail('error: p ∉ ℙ');
|
|
122
184
|
else if (Util.countbits(this.modulus) > this.bitlen)
|
|
123
|
-
return fail(
|
|
185
|
+
return fail('error: p ≮ 2ⁿ', this.bitlen);
|
|
124
186
|
|
|
125
187
|
return void 0;
|
|
126
188
|
}
|
|
127
189
|
|
|
128
190
|
constructor(field:bigint,bitlen:bigint) {
|
|
129
|
-
|
|
130
|
-
this.
|
|
131
|
-
this.
|
|
132
|
-
|
|
133
|
-
this.
|
|
134
|
-
this.sub = arithmetics(this.modulus, fieldops.$sub);
|
|
135
|
-
this.mul = arithmetics(this.modulus, fieldops.$mul);
|
|
136
|
-
this.div = arithmetics(this.modulus, fieldops.$div);
|
|
191
|
+
super(field,bitlen);
|
|
192
|
+
this.add = arithmeticsℤp(this.modulus, fieldops.$add);
|
|
193
|
+
this.sub = arithmeticsℤp(this.modulus, fieldops.$sub);
|
|
194
|
+
this.mul = arithmeticsℤp(this.modulus, fieldops.$mul);
|
|
195
|
+
this.inv = arithmeticsℤp(this.modulus, fieldops.$inv);
|
|
137
196
|
|
|
138
197
|
return this;
|
|
139
198
|
}
|
|
140
199
|
|
|
141
200
|
}
|
|
142
201
|
|
|
143
|
-
export { Util,
|
|
202
|
+
export { Util, PrimeField };
|
package/main.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* main.ts */
|
|
2
2
|
import { Polynomial } from './polynomial.js';
|
|
3
|
+
import { Util, PrimeField } from './galois.js';
|
|
3
4
|
let log;
|
|
4
5
|
log = console.log;
|
|
5
6
|
let p1;
|
|
@@ -20,4 +21,5 @@ p2 = new Polynomial({ tobject: 0n, x3: 1n, x2: 0n, x: 1n, 1: 1n }, 2n);
|
|
|
20
21
|
p3 = new Polynomial(1n << 254n, 2n);
|
|
21
22
|
log(p3, p3.eval());
|
|
22
23
|
// log(p3.eval());
|
|
24
|
+
export { Polynomial, Util, PrimeField };
|
|
23
25
|
//# sourceMappingURL=main.js.map
|
package/main.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* main.ts */
|
|
2
2
|
import { Polynomial } from './polynomial.js';
|
|
3
|
+
import { Util,PrimeField } from './galois.js';
|
|
3
4
|
|
|
4
5
|
let log:(...x:any[])=>void;
|
|
5
6
|
log = console.log;
|
|
@@ -26,3 +27,4 @@ p3 = new Polynomial(1n<<254n, 2n);
|
|
|
26
27
|
log(p3, p3.eval());
|
|
27
28
|
// log(p3.eval());
|
|
28
29
|
|
|
30
|
+
export { Polynomial,Util,PrimeField };
|
package/package.json
CHANGED
package/galois.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"galois.d.ts","sourceRoot":"","sources":["galois.ts"],"names":[],"mappings":"AAWA,QAAA,IAAI,IAAI,EAAC,KAAK,CAAC;AAwFf,UAAU,OAAO;IACb,MAAM,EAAC,MAAI,IAAI,CAAC;IAChB,WAAW,EAAC,QAAQ,CAAC;CACxB;AAED,UAAU,KAAK;IACX,OAAO,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,EAAC,MAAM,KAAG,OAAO,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,KAAG,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC,MAAM,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,KAAG,MAAM,CAAC;CAC3C;AAED,cAAM,EAAG,YAAW,OAAO;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,GAAG,CAAkB;IAEtB,MAAM,IAAI,IAAI;gBAST,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM;CAazC;AAED,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC"}
|
package/galois.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"galois.js","sourceRoot":"","sources":["galois.ts"],"names":[],"mappings":"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"}
|
package/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":""}
|
package/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,IAAI,GAAsB,CAAC;AAC3B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AAElB,IAAI,EAAa,CAAC;AAClB,IAAI,EAAa,CAAC;AAClB,IAAI,EAAa,CAAC;AAClB,IAAI,EAAS,CAAC;AACd,IAAI,EAAS,CAAC;AACd,IAAI,EAAS,CAAC;AACd,IAAI,EAAS,CAAC;AAEd,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACf,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACf,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACf,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAEf,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1C,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAC,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClE,4BAA4B;AAC5B,8BAA8B;AAC9B,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,IAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAElC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACnB,kBAAkB"}
|
package/polynomial.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polynomial.d.ts","sourceRoot":"","sources":["polynomial.ts"],"names":[],"mappings":"AAWA,QAAA,IAAI,GAAG,EAAC,CAAC,EAAE,EAAC,MAAM,EAAE,EAAC,EAAE,EAAC,MAAM,EAAE,KAAG,MAAM,CAAC;AAc1C,KAAK,OAAO,GAAG;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,CAAC,EAAC,MAAM,CAAA;CAAC,CAAC;AACnC,KAAK,MAAM,GAAG,OAAO,EAAE,CAAC;AAExB,KAAK,EAAE,GACD,SAAS,GACT,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAEX,KAAK,UAAU,GACT,MAAM,GACN,MAAM,EAAE,GACR,OAAO,CAAC;AAEd,KAAK,OAAO,GAAG;KACV,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM;CACrB,CAAA;AAED,UAAU,WAAW;IACjB,OAAO,CAAC,GAAG,EAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAC,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,GAAG,EAAC,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,KAAK,EAAC,MAAM,GAAG,OAAO,CAAC;IACnC,IAAI,IAAI,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;CACzB;AAED,cAAM,UAAW,YAAW,WAAW;IACnC,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAQ;IAErB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,EAAE;IAIpC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAE,GAAG,EAAC,MAAM,EAAE,GAAG,MAAM,EAAE;IAenD,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAC,MAAM,EAAE,EAAE,KAAK,EAAC,MAAM,GAAG,MAAM;IAInD,MAAM,CAAC,SAAS,CAAC,GAAG,EAAC,MAAM,EAAE,EAAE,KAAK,EAAC,MAAM,EAAE,GAAG,EAAC,MAAM,GAAG,MAAM;IAmBhE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,UAAU,GAAG,UAAU;gBAa/B,GAAG,EAAC,UAAU,EAAE,KAAK,EAAC,MAAM;IAmCxC,OAAO,CAAC,GAAG,EAAC,MAAM,EAAE,GAAG,IAAI;IAS3B,OAAO,CAAC,GAAG,EAAC,OAAO,GAAG,IAAI;IAW1B,OAAO,CAAC,GAAG,EAAC,MAAM,GAAG,IAAI;IASzB,WAAW,CAAC,KAAK,EAAC,MAAM,GAAG,OAAO;IAclC,IAAI,IAAI,MAAM;CAGxB;AAED,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC"}
|
package/polynomial.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"polynomial.js","sourceRoot":"","sources":["polynomial.ts"],"names":[],"mappings":"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"}
|