@ohos-ports/crypto 0.0.0-stage → 0.3.1-beta.1
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/LICENSE +7 -0
- package/README.md +60 -2
- package/dist/bech32.d.ts +53 -0
- package/dist/bech32.js +187 -0
- package/dist/blake2b.d.ts +7 -0
- package/dist/blake2b.js +213 -0
- package/dist/bls12_318.d.ts +48 -0
- package/dist/bls12_318.js +268 -0
- package/dist/ed25519.d.ts +55 -0
- package/dist/ed25519.js +721 -0
- package/dist/hasGlobalWebCrypto.d.ts +1 -0
- package/dist/hasGlobalWebCrypto.js +21 -0
- package/dist/hmacSHA512.d.ts +6 -0
- package/dist/hmacSHA512.js +14 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +30 -0
- package/dist/keccak.d.ts +4 -0
- package/dist/keccak.js +43 -0
- package/dist/kes/constants.d.ts +2 -0
- package/dist/kes/constants.js +5 -0
- package/dist/kes/index.d.ts +0 -0
- package/dist/kes/index.js +0 -0
- package/dist/kes/macro/sum_kes.d.ts +15 -0
- package/dist/kes/macro/sum_kes.js +9 -0
- package/dist/kes/singleKes.d.ts +0 -0
- package/dist/kes/singleKes.js +0 -0
- package/dist/noble/_assert.d.ts +23 -0
- package/dist/noble/_assert.js +55 -0
- package/dist/noble/_md.d.ts +29 -0
- package/dist/noble/_md.js +170 -0
- package/dist/noble/_shortw_utils.d.ts +61 -0
- package/dist/noble/_shortw_utils.js +63 -0
- package/dist/noble/_u64.d.ts +28 -0
- package/dist/noble/_u64.js +116 -0
- package/dist/noble/abstract/bls.d.ts +119 -0
- package/dist/noble/abstract/bls.js +334 -0
- package/dist/noble/abstract/curve.d.ts +83 -0
- package/dist/noble/abstract/curve.js +319 -0
- package/dist/noble/abstract/edwards.d.ts +85 -0
- package/dist/noble/abstract/edwards.js +508 -0
- package/dist/noble/abstract/hash-to-curve.d.ts +57 -0
- package/dist/noble/abstract/hash-to-curve.js +220 -0
- package/dist/noble/abstract/modular.d.ts +122 -0
- package/dist/noble/abstract/modular.js +455 -0
- package/dist/noble/abstract/montgomery.d.ts +28 -0
- package/dist/noble/abstract/montgomery.js +172 -0
- package/dist/noble/abstract/utils.d.ts +106 -0
- package/dist/noble/abstract/utils.js +442 -0
- package/dist/noble/bls12_381.d.ts +95 -0
- package/dist/noble/bls12_381.js +1434 -0
- package/dist/noble/crypto.d.ts +1 -0
- package/dist/noble/crypto.js +4 -0
- package/dist/noble/curves/curve.d.ts +69 -0
- package/dist/noble/curves/curve.js +167 -0
- package/dist/noble/curves/modular.d.ts +122 -0
- package/dist/noble/curves/modular.js +442 -0
- package/dist/noble/curves/utils.d.ts +93 -0
- package/dist/noble/curves/utils.js +385 -0
- package/dist/noble/curves/weierstrass.d.ts +240 -0
- package/dist/noble/curves/weierstrass.js +1178 -0
- package/dist/noble/ed25519.d.ts +100 -0
- package/dist/noble/ed25519.js +494 -0
- package/dist/noble/hmac.d.ts +25 -0
- package/dist/noble/hmac.js +101 -0
- package/dist/noble/index.d.ts +2 -0
- package/dist/noble/index.js +20 -0
- package/dist/noble/keccak.d.ts +58 -0
- package/dist/noble/keccak.js +289 -0
- package/dist/noble/ripemd_160.d.ts +20 -0
- package/dist/noble/ripemd_160.js +147 -0
- package/dist/noble/secp256k1.d.ts +98 -0
- package/dist/noble/secp256k1.js +309 -0
- package/dist/noble/sha256.d.ts +34 -0
- package/dist/noble/sha256.js +146 -0
- package/dist/noble/sha512.d.ts +66 -0
- package/dist/noble/sha512.js +301 -0
- package/dist/noble/utils.d.ts +90 -0
- package/dist/noble/utils.js +278 -0
- package/dist/ripemd_160.d.ts +1 -0
- package/dist/ripemd_160.js +23 -0
- package/dist/rust_vrf_reimpl/curves.d.ts +162 -0
- package/dist/rust_vrf_reimpl/curves.js +4225 -0
- package/dist/rust_vrf_reimpl/vrf03.d.ts +60 -0
- package/dist/rust_vrf_reimpl/vrf03.js +373 -0
- package/dist/rust_vrf_reimpl/vrf10.d.ts +73 -0
- package/dist/rust_vrf_reimpl/vrf10.js +468 -0
- package/dist/rust_vrf_reimpl/vrf10_batch.d.ts +53 -0
- package/dist/rust_vrf_reimpl/vrf10_batch.js +245 -0
- package/dist/secp256k1.d.ts +4 -0
- package/dist/secp256k1.js +33 -0
- package/dist/sha2_256.d.ts +16 -0
- package/dist/sha2_256.js +403 -0
- package/dist/sha2_512.d.ts +16 -0
- package/dist/sha2_512.js +256 -0
- package/dist/sha3.d.ts +17 -0
- package/dist/sha3.js +181 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.js +120 -0
- package/dist/utils/assert.d.ts +3 -0
- package/dist/utils/assert.js +55 -0
- package/dist/utils/base32.d.ts +5 -0
- package/dist/utils/base32.js +52 -0
- package/dist/utils/bigintToBuffer.d.ts +1 -0
- package/dist/utils/bigintToBuffer.js +27 -0
- package/dist/utils/bytesToHex.d.ts +2 -0
- package/dist/utils/bytesToHex.js +15 -0
- package/dist/utils/getRandomValues.d.ts +4 -0
- package/dist/utils/getRandomValues.js +12 -0
- package/dist/utils/hexToBytes.d.ts +2 -0
- package/dist/utils/hexToBytes.js +14 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/positiveMod.d.ts +1 -0
- package/dist/utils/positiveMod.js +11 -0
- package/dist/utils/promisifySync.d.ts +0 -0
- package/dist/utils/promisifySync.js +0 -0
- package/dist/utils/rotr32.d.ts +2 -0
- package/dist/utils/rotr32.js +7 -0
- package/dist/vrf.d.ts +74 -0
- package/dist/vrf.js +286 -0
- package/package.json +49 -4
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ripemd160 = void 0;
|
|
4
|
+
var uint8array_utils_1 = require("@harmoniclabs/uint8array-utils");
|
|
5
|
+
var ripemd_160_1 = require("./noble/ripemd_160.js");
|
|
6
|
+
function ripemd160(input) {
|
|
7
|
+
if (typeof input === "string") {
|
|
8
|
+
if (input.startsWith("0x"))
|
|
9
|
+
input = (0, uint8array_utils_1.fromHex)(input.toLowerCase().slice(2));
|
|
10
|
+
else if (isHex(input))
|
|
11
|
+
input = (0, uint8array_utils_1.fromHex)(input.toLowerCase());
|
|
12
|
+
else
|
|
13
|
+
input = (0, uint8array_utils_1.fromUtf8)(input);
|
|
14
|
+
}
|
|
15
|
+
if (!(input instanceof Uint8Array))
|
|
16
|
+
input = new Uint8Array(input);
|
|
17
|
+
// throw new Error("ripemd160: input must be Uint8Array or string");
|
|
18
|
+
return new ripemd_160_1.RIPEMD160().update(input).digest();
|
|
19
|
+
}
|
|
20
|
+
exports.ripemd160 = ripemd160;
|
|
21
|
+
function isHex(str) {
|
|
22
|
+
return /^[0-9A-Fa-f]*$/.test(str);
|
|
23
|
+
}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
export declare class FieldElem51 {
|
|
2
|
+
readonly bytes: BigUint64Array;
|
|
3
|
+
constructor(bytes: BigUint64Array);
|
|
4
|
+
static zero(): FieldElem51;
|
|
5
|
+
static one(): FieldElem51;
|
|
6
|
+
static minus_one(): FieldElem51;
|
|
7
|
+
static get EDWARDS_D(): FieldElem51;
|
|
8
|
+
static get EDWARDS_D2(): FieldElem51;
|
|
9
|
+
static fromBytes(bytes: Uint8Array): FieldElem51;
|
|
10
|
+
static elligator_encode(r_0: FieldElem51): MontgomeryPoint;
|
|
11
|
+
static elligator_encode_var_time(r_0: FieldElem51): MontgomeryPoint;
|
|
12
|
+
static conditional_select(a: FieldElem51, b: FieldElem51, choice: boolean): FieldElem51;
|
|
13
|
+
static get MONTGOMERY_A_NEG(): FieldElem51;
|
|
14
|
+
static get MONTGOMERY_A(): FieldElem51;
|
|
15
|
+
pow2k(k: number): FieldElem51;
|
|
16
|
+
square2(): FieldElem51;
|
|
17
|
+
add(_rhs: FieldElem51): FieldElem51;
|
|
18
|
+
static reduce(limbs: BigUint64Array): FieldElem51;
|
|
19
|
+
sub(_rhs: FieldElem51): FieldElem51;
|
|
20
|
+
mul(_rhs: FieldElem51): FieldElem51;
|
|
21
|
+
invert(): FieldElem51;
|
|
22
|
+
pow22501(): [FieldElem51, FieldElem51];
|
|
23
|
+
square(): FieldElem51;
|
|
24
|
+
static sqrt_ratio_i(u: FieldElem51, v: FieldElem51): [boolean, FieldElem51];
|
|
25
|
+
is_negative(): boolean;
|
|
26
|
+
conditional_negate(choice: boolean): void;
|
|
27
|
+
conditional_assign(other: FieldElem51, choice: boolean): void;
|
|
28
|
+
clone(): FieldElem51;
|
|
29
|
+
neg(): FieldElem51;
|
|
30
|
+
negate(): FieldElem51;
|
|
31
|
+
ct_eq(other: FieldElem51): boolean;
|
|
32
|
+
static get SQRT_M1(): FieldElem51;
|
|
33
|
+
pow_p58(): FieldElem51;
|
|
34
|
+
toBytes(): Uint8Array & {
|
|
35
|
+
length: 32;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export declare class MontgomeryPoint {
|
|
39
|
+
readonly bytes: Uint8Array;
|
|
40
|
+
constructor(bytes: Uint8Array);
|
|
41
|
+
to_edwards(sign_bit: 0 | 1): EdwardsPoint | undefined;
|
|
42
|
+
}
|
|
43
|
+
export declare class EdwardsPoint {
|
|
44
|
+
readonly X: FieldElem51;
|
|
45
|
+
readonly Y: FieldElem51;
|
|
46
|
+
readonly Z: FieldElem51;
|
|
47
|
+
readonly T: FieldElem51;
|
|
48
|
+
constructor(X: FieldElem51, Y: FieldElem51, Z: FieldElem51, T: FieldElem51);
|
|
49
|
+
mulByPow2(k: number): EdwardsPoint;
|
|
50
|
+
equals(other: EdwardsPoint): boolean;
|
|
51
|
+
static get DOUBLE_BASE_COMPRESSED(): Uint8Array;
|
|
52
|
+
static get BASEPOINT_ED25519_COMPRESSED(): Uint8Array;
|
|
53
|
+
static get BASEPOINT_ED25519(): EdwardsPoint;
|
|
54
|
+
is_valid(): boolean;
|
|
55
|
+
static vartime_multiscalar_mul(scalars: Uint8Array[], points: EdwardsPoint[]): EdwardsPoint;
|
|
56
|
+
double(): EdwardsPoint;
|
|
57
|
+
static vartime_double_scalar_mul_basepoint(neg_challenge: Uint8Array, pk: EdwardsPoint, response: Uint8Array): EdwardsPoint;
|
|
58
|
+
ct_eq(other: EdwardsPoint): boolean;
|
|
59
|
+
static decompress(compressed: Uint8Array): EdwardsPoint | undefined;
|
|
60
|
+
static uncompress(compressed: Uint8Array): EdwardsPoint | undefined;
|
|
61
|
+
is_small_order(): boolean;
|
|
62
|
+
is_identity(): boolean;
|
|
63
|
+
clone(): EdwardsPoint;
|
|
64
|
+
static get IDENTITY(): EdwardsPoint;
|
|
65
|
+
add(other: EdwardsPoint): EdwardsPoint;
|
|
66
|
+
addProjectiveNiels(other: ProjectiveNielsPoint): CompletedPoint;
|
|
67
|
+
subProjectiveNiels(other: ProjectiveNielsPoint): CompletedPoint;
|
|
68
|
+
addAffineNielsPoint(other: AffineNielsPoint): CompletedPoint;
|
|
69
|
+
subAffineNielsPoint(other: AffineNielsPoint): CompletedPoint;
|
|
70
|
+
toProjectiveNiels(): ProjectiveNielsPoint;
|
|
71
|
+
mul_by_cofactor(): EdwardsPoint;
|
|
72
|
+
compress(): Uint8Array & {
|
|
73
|
+
length: 32;
|
|
74
|
+
};
|
|
75
|
+
compressed_is_negative(): boolean;
|
|
76
|
+
mul_by_pow_2(k: number): EdwardsPoint;
|
|
77
|
+
toProjective(): ProjectivePoint;
|
|
78
|
+
scalarMul(scalar: Uint8Array): EdwardsPoint;
|
|
79
|
+
}
|
|
80
|
+
declare class AffineNielsPoint {
|
|
81
|
+
readonly y_plus_x: FieldElem51;
|
|
82
|
+
readonly y_minus_x: FieldElem51;
|
|
83
|
+
readonly xy2d: FieldElem51;
|
|
84
|
+
constructor(y_plus_x: FieldElem51, y_minus_x: FieldElem51, xy2d: FieldElem51);
|
|
85
|
+
}
|
|
86
|
+
export declare const ED25519_BASEPOINT_POINT: EdwardsPoint;
|
|
87
|
+
export declare class ProjectiveNielsPoint {
|
|
88
|
+
readonly Y_plus_X: FieldElem51;
|
|
89
|
+
readonly Y_minus_X: FieldElem51;
|
|
90
|
+
readonly Z: FieldElem51;
|
|
91
|
+
readonly T2d: FieldElem51;
|
|
92
|
+
constructor(Y_plus_X: FieldElem51, Y_minus_X: FieldElem51, Z: FieldElem51, T2d: FieldElem51);
|
|
93
|
+
clone(): ProjectiveNielsPoint;
|
|
94
|
+
/** not really, but useful to debug */
|
|
95
|
+
compress(): Uint8Array & {
|
|
96
|
+
length: 32;
|
|
97
|
+
};
|
|
98
|
+
compressed_is_negative(): boolean;
|
|
99
|
+
static identity(): ProjectiveNielsPoint;
|
|
100
|
+
/**
|
|
101
|
+
* # WARNING
|
|
102
|
+
*
|
|
103
|
+
* **I FOUND NO IMPLEMENTATION** (Thanks generics)
|
|
104
|
+
*
|
|
105
|
+
* I am ASSUMING this is what is meant to happen
|
|
106
|
+
*
|
|
107
|
+
*/
|
|
108
|
+
conditional_negate(choice: boolean): void;
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* I HAD TO FUCKING REVERSE ENGENEER THIS SHIT
|
|
112
|
+
*
|
|
113
|
+
* WHO THE FUCK TOUGHT MACROS WERE A GOOD IDEA IN RUST?
|
|
114
|
+
*/
|
|
115
|
+
neg(): ProjectiveNielsPoint;
|
|
116
|
+
conditional_assign(other: ProjectiveNielsPoint, choice: boolean): void;
|
|
117
|
+
static tableFromEdwardPoint(point: EdwardsPoint): LookupTableProjectiveNielsPoint;
|
|
118
|
+
}
|
|
119
|
+
export declare class LookupTableProjectiveNielsPoint {
|
|
120
|
+
readonly points: ProjectiveNielsPoint[];
|
|
121
|
+
constructor(points: ProjectiveNielsPoint[]);
|
|
122
|
+
static readonly SIZE = 8;
|
|
123
|
+
static readonly SIZE_NEG = -8;
|
|
124
|
+
static readonly SIZE_RANGE: number[];
|
|
125
|
+
static readonly SIZE_RANGE_MIN = 1;
|
|
126
|
+
static readonly SIZE_RANGE_MAX = 8;
|
|
127
|
+
static readonly CONVERSION_RANGE: number[];
|
|
128
|
+
static readonly CONVERSION_RANGE_MAX = 7;
|
|
129
|
+
select(pos: number): ProjectiveNielsPoint;
|
|
130
|
+
}
|
|
131
|
+
export declare function decompressCompressedEdwardsY(bytes: Uint8Array): EdwardsPoint | undefined;
|
|
132
|
+
export declare class CompletedPoint {
|
|
133
|
+
readonly X: FieldElem51;
|
|
134
|
+
readonly Y: FieldElem51;
|
|
135
|
+
readonly Z: FieldElem51;
|
|
136
|
+
readonly T: FieldElem51;
|
|
137
|
+
constructor(X: FieldElem51, Y: FieldElem51, Z: FieldElem51, T: FieldElem51);
|
|
138
|
+
clone(): CompletedPoint;
|
|
139
|
+
toProjective(): ProjectivePoint;
|
|
140
|
+
toExtended(): EdwardsPoint;
|
|
141
|
+
}
|
|
142
|
+
export declare class ProjectivePoint {
|
|
143
|
+
readonly X: FieldElem51;
|
|
144
|
+
readonly Y: FieldElem51;
|
|
145
|
+
readonly Z: FieldElem51;
|
|
146
|
+
constructor(X: FieldElem51, Y: FieldElem51, Z: FieldElem51);
|
|
147
|
+
is_valid(): boolean;
|
|
148
|
+
clone(): ProjectivePoint;
|
|
149
|
+
toExtended(): EdwardsPoint;
|
|
150
|
+
static get IDENTITY(): ProjectivePoint;
|
|
151
|
+
double(): CompletedPoint;
|
|
152
|
+
}
|
|
153
|
+
export declare function scalar_from_u64(n: bigint | number): Uint8Array;
|
|
154
|
+
export declare function scalar_from_bytes_mod_order_wide(input: Uint8Array): Uint8Array;
|
|
155
|
+
export declare function mul_scalars(a: Uint8Array, b: Uint8Array): Uint8Array;
|
|
156
|
+
export declare function add_scalars(a: Uint8Array, b: Uint8Array): Uint8Array;
|
|
157
|
+
declare function unpacked_scalar_from_bytes(input: Uint8Array): BigUint64Array;
|
|
158
|
+
export declare const unpack_scalar: typeof unpacked_scalar_from_bytes;
|
|
159
|
+
export declare function unpacked_scalar_from_bytes_wide(input: Uint8Array): BigUint64Array;
|
|
160
|
+
export declare function pack_unpacked_scalar(input: BigUint64Array): Uint8Array;
|
|
161
|
+
export declare function negate_scalar(scalar: Uint8Array): Uint8Array;
|
|
162
|
+
export {};
|