@auxo-dev/o1js-encrypt
Advanced tools
| import { Field, Scalar } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| export { Input, DecProof, EncProof, Dec, Enc }; | ||
| export { InputCom, EncCom, DecCom, EncComProof, DecComProof }; | ||
| export declare const EMPTY_COMMITMENT: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| export declare const PADDING_BIT: import("o1js/dist/node/lib/provable/bool.js").Bool; | ||
| export { InputCom, EncComProof, DecComProof, EncCom, DecCom }; | ||
| declare const Input_base: (new (value: { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| }) => { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -19,3 +16,3 @@ }) & { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -27,6 +24,3 @@ }, { | ||
| }; | ||
| c: { | ||
| head: bigint; | ||
| tail: bigint; | ||
| }; | ||
| c: bigint; | ||
| U: { | ||
@@ -39,3 +33,3 @@ x: bigint; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -49,6 +43,3 @@ }; | ||
| }; | ||
| c: Bit255 | { | ||
| head: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| tail: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group | { | ||
@@ -60,3 +51,3 @@ x: bigint | number | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -66,3 +57,3 @@ }; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -75,3 +66,3 @@ }) => { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -83,6 +74,3 @@ }) => { | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -98,6 +86,3 @@ x: string; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -109,3 +94,3 @@ x: string; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -115,3 +100,3 @@ }; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -145,10 +130,2 @@ }; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -158,8 +135,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -169,4 +144,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -235,10 +209,2 @@ declare const EncProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -248,8 +214,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<void>; | ||
| }; | ||
@@ -259,4 +223,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -304,3 +267,3 @@ declare const DecProof_base: { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -310,3 +273,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -318,3 +281,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -327,6 +290,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: { | ||
| head: bigint; | ||
| tail: bigint; | ||
| }; | ||
| c: bigint; | ||
| U: { | ||
@@ -340,3 +300,3 @@ x: bigint; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -351,6 +311,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: Bit255 | { | ||
| head: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| tail: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group | { | ||
@@ -363,3 +320,3 @@ x: bigint | number | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -370,3 +327,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -380,3 +337,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -389,6 +346,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -405,6 +359,3 @@ x: string; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -417,3 +368,3 @@ x: string; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -424,3 +375,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -455,10 +406,2 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -468,8 +411,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -479,4 +420,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -545,10 +485,2 @@ declare const EncComProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -558,8 +490,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar, typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -569,4 +499,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -573,0 +502,0 @@ declare const DecComProof_base: { |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.PADDING_BIT = exports.EMPTY_COMMITMENT = exports.DecComProof = exports.EncComProof = exports.DecCom = exports.EncCom = exports.InputCom = exports.Enc = exports.Dec = exports.EncProof = exports.DecProof = exports.Input = void 0; | ||
| exports.DecCom = exports.EncCom = exports.DecComProof = exports.EncComProof = exports.InputCom = exports.Enc = exports.Dec = exports.EncProof = exports.DecProof = exports.Input = void 0; | ||
| const o1js_1 = require("o1js"); | ||
| const auxo_libs_1 = require("@auxo-dev/auxo-libs"); | ||
| exports.EMPTY_COMMITMENT = (0, o1js_1.Field)(0); | ||
| exports.PADDING_BIT = (0, o1js_1.Bool)(false); | ||
| class Input extends (0, o1js_1.Struct)({ | ||
| pubKey: o1js_1.Group, | ||
| c: auxo_libs_1.Bit255, | ||
| c: o1js_1.Field, | ||
| U: o1js_1.Group, | ||
@@ -20,3 +18,3 @@ }) { | ||
| encrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Field], | ||
| async method(input, plain, random) { | ||
@@ -26,15 +24,7 @@ let U = o1js_1.Group.generator.scale(random); | ||
| let k = o1js_1.Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let kBits = auxo_libs_1.Bit255.fromBits([...k.toBits(), exports.PADDING_BIT]); | ||
| let plainBits = auxo_libs_1.Bit255.fromScalar(plain); | ||
| let cipherBits = auxo_libs_1.Bit255.xor(kBits, plainBits); | ||
| cipherBits.assertEquals(input.c, auxo_libs_1.Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| let c = auxo_libs_1.Utils.fieldXOR(k, plain); | ||
| c.assertEquals(input.c, auxo_libs_1.Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| U.assertEquals(input.U, auxo_libs_1.Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -51,17 +41,10 @@ }); | ||
| decrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Scalar], | ||
| async method(input, plain, prvKey) { | ||
| let V = input.U.scale(prvKey); | ||
| let k = o1js_1.Poseidon.hash(input.U.toFields().concat(V.toFields())); | ||
| let kBits = auxo_libs_1.Bit255.fromBits([...k.toBits(), exports.PADDING_BIT]); | ||
| let decrypted = auxo_libs_1.Bit255.xor(kBits, input.c); | ||
| decrypted.assertEquals(auxo_libs_1.Bit255.fromScalar(plain), auxo_libs_1.Utils.buildAssertMessage(Dec.name, 'decrypt', "Incorrect decryption")); | ||
| let m = auxo_libs_1.Utils.fieldXOR(k, input.c); | ||
| m.assertEquals(plain, auxo_libs_1.Utils.buildAssertMessage(Dec.name, 'decrypt', "Incorrect decryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -75,3 +58,3 @@ }); | ||
| pubKey: o1js_1.Group, | ||
| c: auxo_libs_1.Bit255, | ||
| c: o1js_1.Field, | ||
| U: o1js_1.Group, | ||
@@ -87,3 +70,3 @@ commitment: o1js_1.Field, | ||
| encrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Field], | ||
| async method(input, plain, random) { | ||
@@ -93,16 +76,8 @@ let U = o1js_1.Group.generator.scale(random); | ||
| let k = o1js_1.Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let kBits = auxo_libs_1.Bit255.fromBits([...k.toBits(), exports.PADDING_BIT]); | ||
| let plainBits = auxo_libs_1.Bit255.fromScalar(plain); | ||
| let cipherBits = auxo_libs_1.Bit255.xor(kBits, plainBits); | ||
| cipherBits.assertEquals(input.c, auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| let c = auxo_libs_1.Utils.fieldXOR(k, plain); | ||
| c.assertEquals(input.c, auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| U.assertEquals(input.U, auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([plain.toFields(), random.toFields()].flat()), auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([plain, random]), auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -119,24 +94,11 @@ }); | ||
| decrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Scalar, o1js_1.Field], | ||
| async method(input, plain, prvKey, random) { | ||
| let V = input.U.scale(prvKey); | ||
| let k = o1js_1.Poseidon.hash(input.U.toFields().concat(V.toFields())); | ||
| let kBits = auxo_libs_1.Bit255.fromBits([...k.toBits(), exports.PADDING_BIT]); | ||
| let decrypted = auxo_libs_1.Bit255.xor(kBits, input.c); | ||
| o1js_1.Group.generator | ||
| .scale(prvKey) | ||
| .assertEquals(input.pubKey, auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| decrypted.assertEquals(auxo_libs_1.Bit255.fromScalar(plain), auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([ | ||
| decrypted.toScalar().toFields(), | ||
| random.toFields(), | ||
| ].flat()), auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| let m = auxo_libs_1.Utils.fieldXOR(k, input.c); | ||
| m.assertEquals(plain, auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([m, random].flat()), auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -143,0 +105,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hash-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/hash-encoding.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"hash-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/hash-encoding.ts"],"names":[],"mappings":";;;AAAA,+BAAyE;AACzE,mDAA4C;AAM5C,MAAM,KAAM,SAAQ,IAAA,aAAM,EAAC;IACvB,MAAM,EAAE,YAAK;IACb,CAAC,EAAE,YAAK;IACR,CAAC,EAAE,YAAK;CACX,CAAC;CAAG;AAPI,sBAAK;AASd,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC;IAClB,IAAI,yBAAmC;IACvC,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE;QACL,OAAO,EAAE;YACL,aAAa,EAAE,CAAC,YAAK,EAAE,YAAK,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,KAAY,EAAE,MAAa;gBAClD,IAAI,CAAC,GAAG,YAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAG,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,iBAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC,YAAY,CACV,KAAK,CAAC,CAAC,EACP,iBAAK,CAAC,kBAAkB,CACpB,GAAG,CAAC,IAAI,EACR,SAAS,yBAEZ,CACJ,CAAC;gBACF,CAAC,CAAC,YAAY,CACV,KAAK,CAAC,CAAC,EACP,iBAAK,CAAC,kBAAkB,CACpB,GAAG,CAAC,IAAI,EACR,SAAS,yBAEZ,CACJ,CAAC;YACN,CAAC;SACJ;KACJ;CACJ,CAAC,CAAC;AAvCsC,kBAAG;AAyC5C,MAAM,QAAS,SAAQ,gBAAS,CAAC,KAAK,CAAC,GAAG,CAAC;CAAG;AAzCpB,4BAAQ;AA2ClC,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC;IAClB,IAAI,yBAAmC;IACvC,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE;QACL,OAAO,EAAE;YACL,aAAa,EAAE,CAAC,YAAK,EAAE,aAAM,CAAC;YAC9B,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,KAAY,EAAE,MAAc;gBACnD,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,eAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,iBAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,YAAY,CACV,KAAK,EACL,iBAAK,CAAC,kBAAkB,CACpB,GAAG,CAAC,IAAI,EACR,SAAS,yBAEZ,CACJ,CAAC;YACN,CAAC;SACJ;KACJ;CACJ,CAAC,CAAC;AAhEiC,kBAAG;AAkEvC,MAAM,QAAS,SAAQ,gBAAS,CAAC,KAAK,CAAC,GAAG,CAAC;CAAG;AAlE9B,4BAAQ;AAoExB,MAAM,QAAS,SAAQ,IAAA,aAAM,EAAC;IAC1B,MAAM,EAAE,YAAK;IACb,CAAC,EAAE,YAAK;IACR,CAAC,EAAE,YAAK;IACR,UAAU,EAAE,YAAK;CACpB,CAAC;CAAG;AAxEI,4BAAQ;AA0EjB,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC;IACrB,IAAI,yBAAmC;IACvC,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE;QACL,OAAO,EAAE;YACL,aAAa,EAAE,CAAC,YAAK,EAAE,YAAK,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,KAAe,EAAE,KAAY,EAAE,MAAa;gBACrD,IAAI,CAAC,GAAG,YAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAG,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,iBAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC,YAAY,CACV,KAAK,CAAC,CAAC,EACP,iBAAK,CAAC,kBAAkB,CACpB,MAAM,CAAC,IAAI,EACX,SAAS,yBAEZ,CACJ,CAAC;gBACF,CAAC,CAAC,YAAY,CACV,KAAK,CAAC,CAAC,EACP,iBAAK,CAAC,kBAAkB,CACpB,MAAM,CAAC,IAAI,EACX,SAAS,yBAEZ,CACJ,CAAC;gBACF,KAAK,CAAC,UAAU,CAAC,YAAY,CACzB,eAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAC9B,iBAAK,CAAC,kBAAkB,CACpB,MAAM,CAAC,IAAI,EACX,SAAS,yBAEZ,CACJ,CAAC;YACN,CAAC;SACJ;KACJ;CACJ,CAAC,CAAC;AAhH0C,wBAAM;AAkHnD,MAAM,WAAY,SAAQ,gBAAS,CAAC,KAAK,CAAC,MAAM,CAAC;CAAG;AAlHjC,kCAAW;AAoH9B,MAAM,MAAM,GAAG,IAAA,gBAAS,EAAC;IACrB,IAAI,yBAAmC;IACvC,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE;QACL,OAAO,EAAE;YACL,aAAa,EAAE,CAAC,YAAK,EAAE,aAAM,EAAE,YAAK,CAAC;YACrC,KAAK,CAAC,MAAM,CACR,KAAe,EACf,KAAY,EACZ,MAAc,EACd,MAAa;gBAEb,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,eAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,iBAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,YAAY,CACV,KAAK,EACL,iBAAK,CAAC,kBAAkB,CACpB,MAAM,CAAC,IAAI,EACX,SAAS,yBAEZ,CACJ,CAAC;gBACF,KAAK,CAAC,UAAU,CAAC,YAAY,CACzB,eAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EACjC,iBAAK,CAAC,kBAAkB,CACpB,MAAM,CAAC,IAAI,EACX,SAAS,yBAEZ,CACJ,CAAC;YACN,CAAC;SACJ;KACJ;CACJ,CAAC,CAAC;AAtJkD,wBAAM;AAwJ3D,MAAM,WAAY,SAAQ,gBAAS,CAAC,KAAK,CAAC,MAAM,CAAC;CAAG;AAxJpB,kCAAW"} |
| import { Field, Group, Scalar } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| export { encrypt, decrypt }; | ||
| export { homomorphicEncrypt, homomorphicDecrypt }; | ||
| export { BabyStep, bruteForce, prepareBabySteps, loadBabySteps, babyStepGiantStep, }; | ||
| declare function encrypt(m: Scalar, pbK: Group, b: Scalar, isCommitting?: boolean): { | ||
| c: Bit255; | ||
| declare function encrypt(m: Field, pbK: Group, b: Field, isCommitting?: boolean): { | ||
| c: Field; | ||
| U: Group; | ||
| commitment: Field; | ||
| }; | ||
| declare function decrypt(c: Bit255, U: Group, prvK: Scalar, isCommitting?: boolean, random?: Scalar): { | ||
| m: Scalar; | ||
| declare function decrypt(c: Field, U: Group, prvK: Scalar, isCommitting?: boolean, random?: import("o1js/dist/node/lib/provable/field").Field): { | ||
| m: Field; | ||
| commitment: Field; | ||
| }; | ||
| declare function homomorphicEncrypt(m: Scalar, pbK: Group, b: Scalar, isCommitting?: boolean): { | ||
| declare function homomorphicEncrypt(m: Field, pbK: Group, b: Field, isCommitting?: boolean): { | ||
| C: Group; | ||
@@ -20,9 +19,9 @@ R: Group; | ||
| }; | ||
| declare function bruteForce(point: Group, step?: bigint, max?: bigint): Scalar; | ||
| declare function bruteForce(point: Group, step?: bigint, max?: bigint): Field; | ||
| declare const BabyStep_base: (new (value: { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) & { | ||
@@ -32,3 +31,3 @@ _isStruct: true; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }, { | ||
@@ -40,3 +39,3 @@ pointHash: bigint; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
@@ -46,10 +45,10 @@ } & { | ||
| pointHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: bigint | Scalar; | ||
| scalar: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
| toInput: (x: { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
@@ -61,3 +60,3 @@ fields?: Field[] | undefined; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
@@ -72,7 +71,7 @@ pointHash: string; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
| empty: () => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
@@ -84,7 +83,7 @@ }; | ||
| declare function loadBabySteps(file: string): Array<bigint[]>; | ||
| declare function babyStepGiantStep(point: Group, babySteps: Map<string, bigint>, step?: bigint, max?: bigint): Scalar; | ||
| declare function babyStepGiantStep(point: Group, babySteps: Map<string, bigint>, step?: bigint, max?: bigint): Field; | ||
| declare function homomorphicDecrypt(ciphers: { | ||
| C: Group; | ||
| R: Group; | ||
| }[], prvK: Scalar, step: bigint, max: bigint, isCommitting?: boolean, random?: Scalar): { | ||
| }[], prvK: Scalar, step: bigint, max: bigint, isCommitting?: boolean, random?: import("o1js/dist/node/lib/provable/field").Field): { | ||
| acc_cipher: { | ||
@@ -94,4 +93,4 @@ C: Group; | ||
| }; | ||
| acc_plain: Scalar; | ||
| acc_plain: Field; | ||
| commitment: Field; | ||
| }; |
@@ -20,15 +20,11 @@ "use strict"; | ||
| let k = o1js_1.Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let c = auxo_libs_1.Bit255.fromBigInt(k.toBigInt()).xor(auxo_libs_1.Bit255.fromScalar(m)); | ||
| let commitment = isCommitting | ||
| ? o1js_1.Poseidon.hash([m.toFields(), b.toFields()].flat()) | ||
| : (0, o1js_1.Field)(0); | ||
| let c = auxo_libs_1.Utils.fieldXOR(k, m); | ||
| let commitment = isCommitting ? o1js_1.Poseidon.hash([m, b]) : (0, o1js_1.Field)(0); | ||
| return { c, U, commitment }; | ||
| } | ||
| function decrypt(c, U, prvK, isCommitting = false, random = o1js_1.Scalar.from(0n)) { | ||
| function decrypt(c, U, prvK, isCommitting = false, random = (0, o1js_1.Field)(0n)) { | ||
| let V = U.add(o1js_1.Group.generator).scale(prvK).sub(o1js_1.Group.generator.scale(prvK)); | ||
| let k = o1js_1.Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let m = auxo_libs_1.Bit255.fromBigInt(k.toBigInt()).xor(c).toScalar(); | ||
| let commitment = isCommitting | ||
| ? o1js_1.Poseidon.hash([m.toFields(), random.toFields()].flat()) | ||
| : (0, o1js_1.Field)(0); | ||
| let m = auxo_libs_1.Utils.fieldXOR(k, c); | ||
| let commitment = isCommitting ? o1js_1.Poseidon.hash([m, random]) : (0, o1js_1.Field)(0); | ||
| return { m, commitment }; | ||
@@ -39,5 +35,3 @@ } | ||
| let R = o1js_1.Group.generator.scale(b); | ||
| let commitment = isCommitting | ||
| ? o1js_1.Poseidon.hash([m.toFields(), b.toFields()].flat()) | ||
| : (0, o1js_1.Field)(0); | ||
| let commitment = isCommitting ? o1js_1.Poseidon.hash([m, b].flat()) : (0, o1js_1.Field)(0); | ||
| return { C, R, commitment }; | ||
@@ -50,5 +44,5 @@ } | ||
| } | ||
| function bruteForce(point, step = 1n, max = o1js_1.Scalar.ORDER) { | ||
| function bruteForce(point, step = 1n, max = o1js_1.Field.ORDER) { | ||
| let found = false; | ||
| let testValue = o1js_1.Scalar.from(0n); | ||
| let testValue = o1js_1.Field.from(0n); | ||
| while (true) { | ||
@@ -62,3 +56,3 @@ found = point | ||
| else { | ||
| testValue = testValue.add(o1js_1.Scalar.from(step)); | ||
| testValue = testValue.add(o1js_1.Field.from(step)); | ||
| if (testValue.toBigInt() > BigInt(max)) | ||
@@ -71,3 +65,3 @@ throw new Error('No valid value found!'); | ||
| pointHash: o1js_1.Field, | ||
| scalar: o1js_1.Scalar, | ||
| scalar: o1js_1.Field, | ||
| }) { | ||
@@ -80,3 +74,3 @@ } | ||
| let babyStep = [ | ||
| o1js_1.Poseidon.hash(o1js_1.Group.generator.scale(o1js_1.Scalar.from(i)).toFields()).toBigInt(), | ||
| o1js_1.Poseidon.hash(o1js_1.Group.generator.scale((0, o1js_1.Field)(i)).toFields()).toBigInt(), | ||
| BigInt(i), | ||
@@ -100,6 +94,4 @@ ]; | ||
| } | ||
| function babyStepGiantStep(point, babySteps, step = 1n, max = o1js_1.Scalar.ORDER) { | ||
| function babyStepGiantStep(point, babySteps, step = 1n, max = o1js_1.Field.ORDER) { | ||
| let m = Math.ceil(Math.sqrt(Number(max / step))); | ||
| console.log('m:', m); | ||
| console.log('Number of baby steps:', babySteps.size); | ||
| let testPoint = point; | ||
@@ -110,3 +102,3 @@ let giantStep = o1js_1.Group.generator.scale(m).neg(); | ||
| if (babySteps.has(index)) | ||
| return o1js_1.Scalar.from(BigInt(i * m) + babySteps.get(index)); | ||
| return (0, o1js_1.Field)(BigInt(i * m) + babySteps.get(index)); | ||
| testPoint = testPoint.add(giantStep); | ||
@@ -116,7 +108,7 @@ } | ||
| } | ||
| function homomorphicDecrypt(ciphers, prvK, step, max, isCommitting = false, random = o1js_1.Scalar.from(0n)) { | ||
| function homomorphicDecrypt(ciphers, prvK, step, max, isCommitting = false, random = (0, o1js_1.Field)(0)) { | ||
| let acc_cipher = accumulateCiphers(ciphers); | ||
| let acc_plain = bruteForce(acc_cipher.C.sub(acc_cipher.R.scale(prvK)), step, max); | ||
| let commitment = isCommitting | ||
| ? o1js_1.Poseidon.hash([acc_plain.toFields(), random.toFields()].flat()) | ||
| ? o1js_1.Poseidon.hash([acc_plain, random]) | ||
| : (0, o1js_1.Field)(0); | ||
@@ -123,0 +115,0 @@ return { acc_cipher, acc_plain, commitment }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/ecelgamal/lib.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/ecelgamal/lib.ts"],"names":[],"mappings":"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"} |
@@ -133,10 +133,2 @@ import { Field, Scalar } from 'o1js'; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -146,8 +138,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -157,4 +147,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -223,10 +212,2 @@ declare const EncProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -236,8 +217,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<void>; | ||
| }; | ||
@@ -247,4 +226,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -430,10 +408,2 @@ declare const DecProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -443,8 +413,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -454,4 +422,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -520,10 +487,2 @@ declare const EncComProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -533,8 +492,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar, typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -544,4 +501,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -548,0 +504,0 @@ declare const DecComProof_base: { |
@@ -20,3 +20,3 @@ "use strict"; | ||
| encrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Field], | ||
| async method(input, plain, random) { | ||
@@ -31,8 +31,2 @@ let C = o1js_1.Group.generator | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -49,3 +43,3 @@ }); | ||
| decrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Scalar], | ||
| async method(input, acc_plain, prvKey) { | ||
@@ -56,8 +50,2 @@ let M = o1js_1.Group.generator.scale(acc_plain); | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -82,3 +70,3 @@ }); | ||
| encrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Field], | ||
| async method(input, plain, random) { | ||
@@ -91,11 +79,5 @@ let C = o1js_1.Group.generator | ||
| R.assertEquals(input.R, auxo_libs_1.Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([plain.toFields(), random.toFields()].flat()), auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([plain, random]), auxo_libs_1.Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -112,15 +94,9 @@ }); | ||
| decrypt: { | ||
| privateInputs: [o1js_1.Scalar, o1js_1.Scalar, o1js_1.Scalar], | ||
| privateInputs: [o1js_1.Field, o1js_1.Scalar, o1js_1.Field], | ||
| async method(input, acc_plain, prvKey, random) { | ||
| let M = o1js_1.Group.generator.scale(acc_plain); | ||
| M.assertEquals(input.C.sub(input.R.scale(prvKey)), auxo_libs_1.Utils.buildAssertMessage(Dec.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([acc_plain.toFields(), random.toFields()].flat()), auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(o1js_1.Poseidon.hash([acc_plain, random]), auxo_libs_1.Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -127,0 +103,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"point-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/point-encoding.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"point-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/point-encoding.ts"],"names":[],"mappings":"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"} |
| import { Field, Scalar } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| export { Input, DecProof, EncProof, Dec, Enc }; | ||
| export { InputCom, EncCom, DecCom, EncComProof, DecComProof }; | ||
| export declare const EMPTY_COMMITMENT: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| export declare const PADDING_BIT: import("o1js/dist/node/lib/provable/bool.js").Bool; | ||
| export { InputCom, EncComProof, DecComProof, EncCom, DecCom }; | ||
| declare const Input_base: (new (value: { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| }) => { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -19,3 +16,3 @@ }) & { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -27,6 +24,3 @@ }, { | ||
| }; | ||
| c: { | ||
| head: bigint; | ||
| tail: bigint; | ||
| }; | ||
| c: bigint; | ||
| U: { | ||
@@ -39,3 +33,3 @@ x: bigint; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -49,6 +43,3 @@ }; | ||
| }; | ||
| c: Bit255 | { | ||
| head: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| tail: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group | { | ||
@@ -60,3 +51,3 @@ x: bigint | number | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -66,3 +57,3 @@ }; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -75,3 +66,3 @@ }) => { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -83,6 +74,3 @@ }) => { | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -98,6 +86,3 @@ x: string; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -109,3 +94,3 @@ x: string; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -115,3 +100,3 @@ }; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -145,10 +130,2 @@ }; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -158,8 +135,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -169,4 +144,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -235,10 +209,2 @@ declare const EncProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -248,8 +214,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<void>; | ||
| }; | ||
@@ -259,4 +223,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -304,3 +267,3 @@ declare const DecProof_base: { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -310,3 +273,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -318,3 +281,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -327,6 +290,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: { | ||
| head: bigint; | ||
| tail: bigint; | ||
| }; | ||
| c: bigint; | ||
| U: { | ||
@@ -340,3 +300,3 @@ x: bigint; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -351,6 +311,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: Bit255 | { | ||
| head: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| tail: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group | { | ||
@@ -363,3 +320,3 @@ x: bigint | number | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -370,3 +327,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -380,3 +337,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -389,6 +346,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -405,6 +359,3 @@ x: string; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -417,3 +368,3 @@ x: string; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -424,3 +375,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -455,10 +406,2 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -468,8 +411,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -479,4 +420,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -545,10 +485,2 @@ declare const EncComProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -558,8 +490,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar, typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -569,4 +499,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -573,0 +502,0 @@ declare const DecComProof_base: { |
@@ -1,10 +0,8 @@ | ||
| import { Bool, Field, Group, Poseidon, Scalar, Struct, ZkProgram } from 'o1js'; | ||
| import { Bit255, Utils } from '@auxo-dev/auxo-libs'; | ||
| import { Field, Group, Poseidon, Scalar, Struct, ZkProgram } from 'o1js'; | ||
| import { Utils } from '@auxo-dev/auxo-libs'; | ||
| export { Input, DecProof, EncProof, Dec, Enc }; | ||
| export { InputCom, EncCom, DecCom, EncComProof, DecComProof }; | ||
| export const EMPTY_COMMITMENT = Field(0); | ||
| export const PADDING_BIT = Bool(false); | ||
| export { InputCom, EncComProof, DecComProof, EncCom, DecCom }; | ||
| class Input extends Struct({ | ||
| pubKey: Group, | ||
| c: Bit255, | ||
| c: Field, | ||
| U: Group, | ||
@@ -18,3 +16,3 @@ }) { | ||
| encrypt: { | ||
| privateInputs: [Scalar, Scalar], | ||
| privateInputs: [Field, Field], | ||
| async method(input, plain, random) { | ||
@@ -24,15 +22,7 @@ let U = Group.generator.scale(random); | ||
| let k = Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let kBits = Bit255.fromBits([...k.toBits(), PADDING_BIT]); | ||
| let plainBits = Bit255.fromScalar(plain); | ||
| let cipherBits = Bit255.xor(kBits, plainBits); | ||
| cipherBits.assertEquals(input.c, Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| let c = Utils.fieldXOR(k, plain); | ||
| c.assertEquals(input.c, Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| U.assertEquals(input.U, Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -47,17 +37,10 @@ }); | ||
| decrypt: { | ||
| privateInputs: [Scalar, Scalar], | ||
| privateInputs: [Field, Scalar], | ||
| async method(input, plain, prvKey) { | ||
| let V = input.U.scale(prvKey); | ||
| let k = Poseidon.hash(input.U.toFields().concat(V.toFields())); | ||
| let kBits = Bit255.fromBits([...k.toBits(), PADDING_BIT]); | ||
| let decrypted = Bit255.xor(kBits, input.c); | ||
| decrypted.assertEquals(Bit255.fromScalar(plain), Utils.buildAssertMessage(Dec.name, 'decrypt', "Incorrect decryption")); | ||
| let m = Utils.fieldXOR(k, input.c); | ||
| m.assertEquals(plain, Utils.buildAssertMessage(Dec.name, 'decrypt', "Incorrect decryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -69,3 +52,3 @@ }); | ||
| pubKey: Group, | ||
| c: Bit255, | ||
| c: Field, | ||
| U: Group, | ||
@@ -80,3 +63,3 @@ commitment: Field, | ||
| encrypt: { | ||
| privateInputs: [Scalar, Scalar], | ||
| privateInputs: [Field, Field], | ||
| async method(input, plain, random) { | ||
@@ -86,16 +69,8 @@ let U = Group.generator.scale(random); | ||
| let k = Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let kBits = Bit255.fromBits([...k.toBits(), PADDING_BIT]); | ||
| let plainBits = Bit255.fromScalar(plain); | ||
| let cipherBits = Bit255.xor(kBits, plainBits); | ||
| cipherBits.assertEquals(input.c, Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| let c = Utils.fieldXOR(k, plain); | ||
| c.assertEquals(input.c, Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| U.assertEquals(input.U, Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([plain.toFields(), random.toFields()].flat()), Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([plain, random]), Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -110,24 +85,11 @@ }); | ||
| decrypt: { | ||
| privateInputs: [Scalar, Scalar, Scalar], | ||
| privateInputs: [Field, Scalar, Field], | ||
| async method(input, plain, prvKey, random) { | ||
| let V = input.U.scale(prvKey); | ||
| let k = Poseidon.hash(input.U.toFields().concat(V.toFields())); | ||
| let kBits = Bit255.fromBits([...k.toBits(), PADDING_BIT]); | ||
| let decrypted = Bit255.xor(kBits, input.c); | ||
| Group.generator | ||
| .scale(prvKey) | ||
| .assertEquals(input.pubKey, Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| decrypted.assertEquals(Bit255.fromScalar(plain), Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([ | ||
| decrypted.toScalar().toFields(), | ||
| random.toFields(), | ||
| ].flat()), Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| let m = Utils.fieldXOR(k, input.c); | ||
| m.assertEquals(plain, Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([m, random].flat()), Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -134,0 +96,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"hash-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/hash-encoding.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"hash-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/hash-encoding.ts"],"names":[],"mappings":"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"} |
| import { Field, Group, Scalar } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| export { encrypt, decrypt }; | ||
| export { homomorphicEncrypt, homomorphicDecrypt }; | ||
| export { BabyStep, bruteForce, prepareBabySteps, loadBabySteps, babyStepGiantStep, }; | ||
| declare function encrypt(m: Scalar, pbK: Group, b: Scalar, isCommitting?: boolean): { | ||
| c: Bit255; | ||
| declare function encrypt(m: Field, pbK: Group, b: Field, isCommitting?: boolean): { | ||
| c: Field; | ||
| U: Group; | ||
| commitment: Field; | ||
| }; | ||
| declare function decrypt(c: Bit255, U: Group, prvK: Scalar, isCommitting?: boolean, random?: Scalar): { | ||
| m: Scalar; | ||
| declare function decrypt(c: Field, U: Group, prvK: Scalar, isCommitting?: boolean, random?: import("o1js/dist/node/lib/provable/field").Field): { | ||
| m: Field; | ||
| commitment: Field; | ||
| }; | ||
| declare function homomorphicEncrypt(m: Scalar, pbK: Group, b: Scalar, isCommitting?: boolean): { | ||
| declare function homomorphicEncrypt(m: Field, pbK: Group, b: Field, isCommitting?: boolean): { | ||
| C: Group; | ||
@@ -20,9 +19,9 @@ R: Group; | ||
| }; | ||
| declare function bruteForce(point: Group, step?: bigint, max?: bigint): Scalar; | ||
| declare function bruteForce(point: Group, step?: bigint, max?: bigint): Field; | ||
| declare const BabyStep_base: (new (value: { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) & { | ||
@@ -32,3 +31,3 @@ _isStruct: true; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }, { | ||
@@ -40,3 +39,3 @@ pointHash: bigint; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
@@ -46,10 +45,10 @@ } & { | ||
| pointHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: bigint | Scalar; | ||
| scalar: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
| toInput: (x: { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
@@ -61,3 +60,3 @@ fields?: Field[] | undefined; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
@@ -72,7 +71,7 @@ pointHash: string; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
| empty: () => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
@@ -84,7 +83,7 @@ }; | ||
| declare function loadBabySteps(file: string): Array<bigint[]>; | ||
| declare function babyStepGiantStep(point: Group, babySteps: Map<string, bigint>, step?: bigint, max?: bigint): Scalar; | ||
| declare function babyStepGiantStep(point: Group, babySteps: Map<string, bigint>, step?: bigint, max?: bigint): Field; | ||
| declare function homomorphicDecrypt(ciphers: { | ||
| C: Group; | ||
| R: Group; | ||
| }[], prvK: Scalar, step: bigint, max: bigint, isCommitting?: boolean, random?: Scalar): { | ||
| }[], prvK: Scalar, step: bigint, max: bigint, isCommitting?: boolean, random?: import("o1js/dist/node/lib/provable/field").Field): { | ||
| acc_cipher: { | ||
@@ -94,4 +93,4 @@ C: Group; | ||
| }; | ||
| acc_plain: Scalar; | ||
| acc_plain: Field; | ||
| commitment: Field; | ||
| }; |
| import * as fs from 'fs'; | ||
| import { Field, Group, Poseidon, Scalar, Struct } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| import { Field, Group, Poseidon, Struct } from 'o1js'; | ||
| import { Utils } from '@auxo-dev/auxo-libs'; | ||
| export { encrypt, decrypt }; | ||
@@ -11,15 +11,11 @@ export { homomorphicEncrypt, homomorphicDecrypt }; | ||
| let k = Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let c = Bit255.fromBigInt(k.toBigInt()).xor(Bit255.fromScalar(m)); | ||
| let commitment = isCommitting | ||
| ? Poseidon.hash([m.toFields(), b.toFields()].flat()) | ||
| : Field(0); | ||
| let c = Utils.fieldXOR(k, m); | ||
| let commitment = isCommitting ? Poseidon.hash([m, b]) : Field(0); | ||
| return { c, U, commitment }; | ||
| } | ||
| function decrypt(c, U, prvK, isCommitting = false, random = Scalar.from(0n)) { | ||
| function decrypt(c, U, prvK, isCommitting = false, random = Field(0n)) { | ||
| let V = U.add(Group.generator).scale(prvK).sub(Group.generator.scale(prvK)); | ||
| let k = Poseidon.hash([U.toFields(), V.toFields()].flat()); | ||
| let m = Bit255.fromBigInt(k.toBigInt()).xor(c).toScalar(); | ||
| let commitment = isCommitting | ||
| ? Poseidon.hash([m.toFields(), random.toFields()].flat()) | ||
| : Field(0); | ||
| let m = Utils.fieldXOR(k, c); | ||
| let commitment = isCommitting ? Poseidon.hash([m, random]) : Field(0); | ||
| return { m, commitment }; | ||
@@ -30,5 +26,3 @@ } | ||
| let R = Group.generator.scale(b); | ||
| let commitment = isCommitting | ||
| ? Poseidon.hash([m.toFields(), b.toFields()].flat()) | ||
| : Field(0); | ||
| let commitment = isCommitting ? Poseidon.hash([m, b].flat()) : Field(0); | ||
| return { C, R, commitment }; | ||
@@ -41,5 +35,5 @@ } | ||
| } | ||
| function bruteForce(point, step = 1n, max = Scalar.ORDER) { | ||
| function bruteForce(point, step = 1n, max = Field.ORDER) { | ||
| let found = false; | ||
| let testValue = Scalar.from(0n); | ||
| let testValue = Field.from(0n); | ||
| while (true) { | ||
@@ -53,3 +47,3 @@ found = point | ||
| else { | ||
| testValue = testValue.add(Scalar.from(step)); | ||
| testValue = testValue.add(Field.from(step)); | ||
| if (testValue.toBigInt() > BigInt(max)) | ||
@@ -62,3 +56,3 @@ throw new Error('No valid value found!'); | ||
| pointHash: Field, | ||
| scalar: Scalar, | ||
| scalar: Field, | ||
| }) { | ||
@@ -70,3 +64,3 @@ } | ||
| let babyStep = [ | ||
| Poseidon.hash(Group.generator.scale(Scalar.from(i)).toFields()).toBigInt(), | ||
| Poseidon.hash(Group.generator.scale(Field(i)).toFields()).toBigInt(), | ||
| BigInt(i), | ||
@@ -90,6 +84,4 @@ ]; | ||
| } | ||
| function babyStepGiantStep(point, babySteps, step = 1n, max = Scalar.ORDER) { | ||
| function babyStepGiantStep(point, babySteps, step = 1n, max = Field.ORDER) { | ||
| let m = Math.ceil(Math.sqrt(Number(max / step))); | ||
| console.log('m:', m); | ||
| console.log('Number of baby steps:', babySteps.size); | ||
| let testPoint = point; | ||
@@ -100,3 +92,3 @@ let giantStep = Group.generator.scale(m).neg(); | ||
| if (babySteps.has(index)) | ||
| return Scalar.from(BigInt(i * m) + babySteps.get(index)); | ||
| return Field(BigInt(i * m) + babySteps.get(index)); | ||
| testPoint = testPoint.add(giantStep); | ||
@@ -106,7 +98,7 @@ } | ||
| } | ||
| function homomorphicDecrypt(ciphers, prvK, step, max, isCommitting = false, random = Scalar.from(0n)) { | ||
| function homomorphicDecrypt(ciphers, prvK, step, max, isCommitting = false, random = Field(0)) { | ||
| let acc_cipher = accumulateCiphers(ciphers); | ||
| let acc_plain = bruteForce(acc_cipher.C.sub(acc_cipher.R.scale(prvK)), step, max); | ||
| let commitment = isCommitting | ||
| ? Poseidon.hash([acc_plain.toFields(), random.toFields()].flat()) | ||
| ? Poseidon.hash([acc_plain, random]) | ||
| : Field(0); | ||
@@ -113,0 +105,0 @@ return { acc_cipher, acc_plain, commitment }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/ecelgamal/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAClD,OAAO,EACH,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GACpB,CAAC;AAoBF,SAAS,OAAO,CACZ,CAAS,EACT,GAAU,EACV,CAAS,EACT,YAAY,GAAG,KAAK;IAMpB,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,UAAU,GAAG,YAAY;QACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CACZ,CAAS,EACT,CAAQ,EACR,IAAY,EACZ,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAExB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1D,IAAI,UAAU,GAAG,YAAY;QACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CACvB,CAAS,EACT,GAAU,EACV,CAAS,EACT,YAAY,GAAG,KAAK;IAEpB,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,UAAU,GAAG,YAAY;QACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiC;IAIxD,OAAO,OAAO,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACZ,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC,EACD,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,CACnC,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,KAAY,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,KAAK;IAC3D,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,OAAO,IAAI,EAAE,CAAC;QACV,KAAK,GAAG,KAAK;aACR,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;aACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;aAClB,SAAS,EAAE,CAAC;QAEjB,IAAI,KAAK;YAAE,OAAO,SAAS,CAAC;aACvB,CAAC;YACF,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,QAAS,SAAQ,MAAM,CAAC;IAC1B,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,MAAM;CACjB,CAAC;CAAG;AAEL,SAAS,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IACpD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,QAAQ,GAAG;YACX,QAAQ,CAAC,IAAI,CACT,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACnD,CAAC,QAAQ,EAAE;YACZ,MAAM,CAAC,CAAC,CAAC;SACZ,CAAC;QACF,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACD,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,iBAAiB,CACtB,KAAY,EACZ,SAA8B,EAC9B,IAAI,GAAG,EAAE,EACT,GAAG,GAAG,MAAM,CAAC,KAAK;IAElB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;QAC9D,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CACvB,OAAiC,EACjC,IAAY,EACZ,IAAY,EACZ,GAAW,EACX,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAMxB,IAAI,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,UAAU,CACtB,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC1C,IAAI,EACJ,GAAG,CACN,CAAC;IACF,IAAI,UAAU,GAAG,YAAY;QACzB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACjD,CAAC"} | ||
| {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/ecelgamal/lib.ts"],"names":[],"mappings":"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"} |
@@ -133,10 +133,2 @@ import { Field, Scalar } from 'o1js'; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -146,8 +138,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -157,4 +147,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -223,10 +212,2 @@ declare const EncProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -236,8 +217,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<void>; | ||
| }; | ||
@@ -247,4 +226,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -430,10 +408,2 @@ declare const DecProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -443,8 +413,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -454,4 +422,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -520,10 +487,2 @@ declare const EncComProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -533,8 +492,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar, typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -544,4 +501,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -548,0 +504,0 @@ declare const DecComProof_base: { |
@@ -18,3 +18,3 @@ import { Bool, Field, Group, Poseidon, Scalar, Struct, ZkProgram } from 'o1js'; | ||
| encrypt: { | ||
| privateInputs: [Scalar, Scalar], | ||
| privateInputs: [Field, Field], | ||
| async method(input, plain, random) { | ||
@@ -29,8 +29,2 @@ let C = Group.generator | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -45,3 +39,3 @@ }); | ||
| decrypt: { | ||
| privateInputs: [Scalar, Scalar], | ||
| privateInputs: [Field, Scalar], | ||
| async method(input, acc_plain, prvKey) { | ||
@@ -52,8 +46,2 @@ let M = Group.generator.scale(acc_plain); | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -75,3 +63,3 @@ }); | ||
| encrypt: { | ||
| privateInputs: [Scalar, Scalar], | ||
| privateInputs: [Field, Field], | ||
| async method(input, plain, random) { | ||
@@ -84,11 +72,5 @@ let C = Group.generator | ||
| R.assertEquals(input.R, Utils.buildAssertMessage(Enc.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([plain.toFields(), random.toFields()].flat()), Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([plain, random]), Utils.buildAssertMessage(EncCom.name, 'encrypt', "Incorrect encryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -103,15 +85,9 @@ }); | ||
| decrypt: { | ||
| privateInputs: [Scalar, Scalar, Scalar], | ||
| privateInputs: [Field, Scalar, Field], | ||
| async method(input, acc_plain, prvKey, random) { | ||
| let M = Group.generator.scale(acc_plain); | ||
| M.assertEquals(input.C.sub(input.R.scale(prvKey)), Utils.buildAssertMessage(Dec.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([acc_plain.toFields(), random.toFields()].flat()), Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| input.commitment.assertEquals(Poseidon.hash([acc_plain, random]), Utils.buildAssertMessage(DecCom.name, 'decrypt', "Incorrect decryption")); | ||
| }, | ||
| }, | ||
| dummy: { | ||
| privateInputs: [], | ||
| async method() { | ||
| return; | ||
| }, | ||
| }, | ||
| }, | ||
@@ -118,0 +94,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"point-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/point-encoding.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"point-encoding.js","sourceRoot":"","sources":["../../../../src/ecelgamal/point-encoding.ts"],"names":[],"mappings":"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"} |
| import { Field, Scalar } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| export { Input, DecProof, EncProof, Dec, Enc }; | ||
| export { InputCom, EncCom, DecCom, EncComProof, DecComProof }; | ||
| export declare const EMPTY_COMMITMENT: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| export declare const PADDING_BIT: import("o1js/dist/node/lib/provable/bool.js").Bool; | ||
| export { InputCom, EncComProof, DecComProof, EncCom, DecCom }; | ||
| declare const Input_base: (new (value: { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| }) => { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -19,3 +16,3 @@ }) & { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -27,6 +24,3 @@ }, { | ||
| }; | ||
| c: { | ||
| head: bigint; | ||
| tail: bigint; | ||
| }; | ||
| c: bigint; | ||
| U: { | ||
@@ -39,3 +33,3 @@ x: bigint; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -49,6 +43,3 @@ }; | ||
| }; | ||
| c: Bit255 | { | ||
| head: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| tail: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group | { | ||
@@ -60,3 +51,3 @@ x: bigint | number | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -66,3 +57,3 @@ }; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -75,3 +66,3 @@ }) => { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -83,6 +74,3 @@ }) => { | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -98,6 +86,3 @@ x: string; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -109,3 +94,3 @@ x: string; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -115,3 +100,3 @@ }; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -145,10 +130,2 @@ }; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -158,8 +135,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -169,4 +144,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -235,10 +209,2 @@ declare const EncProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -248,8 +214,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<void>; | ||
| }; | ||
@@ -259,4 +223,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -304,3 +267,3 @@ declare const DecProof_base: { | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -310,3 +273,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -318,3 +281,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -327,6 +290,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: { | ||
| head: bigint; | ||
| tail: bigint; | ||
| }; | ||
| c: bigint; | ||
| U: { | ||
@@ -340,3 +300,3 @@ x: bigint; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -351,6 +311,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: Bit255 | { | ||
| head: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| tail: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group | { | ||
@@ -363,3 +320,3 @@ x: bigint | number | import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -370,3 +327,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -380,3 +337,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -389,6 +346,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -405,6 +359,3 @@ x: string; | ||
| }; | ||
| c: { | ||
| head: string; | ||
| tail: string; | ||
| }; | ||
| c: string; | ||
| U: { | ||
@@ -417,3 +368,3 @@ x: string; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -424,3 +375,3 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| pubKey: import("o1js/dist/node/lib/provable/group.js").Group; | ||
| c: Bit255; | ||
| c: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| U: import("o1js/dist/node/lib/provable/group.js").Group; | ||
@@ -455,10 +406,2 @@ commitment: import("o1js/dist/node/lib/provable/field.js").Field; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -468,8 +411,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -479,4 +420,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -545,10 +485,2 @@ declare const EncComProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -558,8 +490,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar, typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -569,4 +499,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -573,0 +502,0 @@ declare const DecComProof_base: { |
| import { Field, Group, Scalar } from 'o1js'; | ||
| import { Bit255 } from '@auxo-dev/auxo-libs'; | ||
| export { encrypt, decrypt }; | ||
| export { homomorphicEncrypt, homomorphicDecrypt }; | ||
| export { BabyStep, bruteForce, prepareBabySteps, loadBabySteps, babyStepGiantStep, }; | ||
| declare function encrypt(m: Scalar, pbK: Group, b: Scalar, isCommitting?: boolean): { | ||
| c: Bit255; | ||
| declare function encrypt(m: Field, pbK: Group, b: Field, isCommitting?: boolean): { | ||
| c: Field; | ||
| U: Group; | ||
| commitment: Field; | ||
| }; | ||
| declare function decrypt(c: Bit255, U: Group, prvK: Scalar, isCommitting?: boolean, random?: Scalar): { | ||
| m: Scalar; | ||
| declare function decrypt(c: Field, U: Group, prvK: Scalar, isCommitting?: boolean, random?: import("o1js/dist/node/lib/provable/field").Field): { | ||
| m: Field; | ||
| commitment: Field; | ||
| }; | ||
| declare function homomorphicEncrypt(m: Scalar, pbK: Group, b: Scalar, isCommitting?: boolean): { | ||
| declare function homomorphicEncrypt(m: Field, pbK: Group, b: Field, isCommitting?: boolean): { | ||
| C: Group; | ||
@@ -20,9 +19,9 @@ R: Group; | ||
| }; | ||
| declare function bruteForce(point: Group, step?: bigint, max?: bigint): Scalar; | ||
| declare function bruteForce(point: Group, step?: bigint, max?: bigint): Field; | ||
| declare const BabyStep_base: (new (value: { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) & { | ||
@@ -32,3 +31,3 @@ _isStruct: true; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }, { | ||
@@ -40,3 +39,3 @@ pointHash: bigint; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
@@ -46,10 +45,10 @@ } & { | ||
| pointHash: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: bigint | Scalar; | ||
| scalar: string | number | bigint | import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
| toInput: (x: { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
@@ -61,3 +60,3 @@ fields?: Field[] | undefined; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }) => { | ||
@@ -72,7 +71,7 @@ pointHash: string; | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
| empty: () => { | ||
| pointHash: import("o1js/dist/node/lib/provable/field").Field; | ||
| scalar: Scalar; | ||
| scalar: import("o1js/dist/node/lib/provable/field").Field; | ||
| }; | ||
@@ -84,7 +83,7 @@ }; | ||
| declare function loadBabySteps(file: string): Array<bigint[]>; | ||
| declare function babyStepGiantStep(point: Group, babySteps: Map<string, bigint>, step?: bigint, max?: bigint): Scalar; | ||
| declare function babyStepGiantStep(point: Group, babySteps: Map<string, bigint>, step?: bigint, max?: bigint): Field; | ||
| declare function homomorphicDecrypt(ciphers: { | ||
| C: Group; | ||
| R: Group; | ||
| }[], prvK: Scalar, step: bigint, max: bigint, isCommitting?: boolean, random?: Scalar): { | ||
| }[], prvK: Scalar, step: bigint, max: bigint, isCommitting?: boolean, random?: import("o1js/dist/node/lib/provable/field").Field): { | ||
| acc_cipher: { | ||
@@ -94,4 +93,4 @@ C: Group; | ||
| }; | ||
| acc_plain: Scalar; | ||
| acc_plain: Field; | ||
| commitment: Field; | ||
| }; |
@@ -133,10 +133,2 @@ import { Field, Scalar } from 'o1js'; | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -146,8 +138,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -157,4 +147,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| encrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -223,10 +212,2 @@ declare const EncProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -236,8 +217,6 @@ publicInputType: typeof Input; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<void>; | ||
| }; | ||
@@ -247,4 +226,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: Input, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| dummy: (publicInput: Input, ...args: [] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| decrypt: (publicInput: Input, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar] & any[]) => Promise<import("o1js").Proof<Input, void>>; | ||
| }; | ||
@@ -430,10 +408,2 @@ declare const DecProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -443,8 +413,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| encrypt: [typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| encrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -454,4 +422,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| encrypt: (publicInput: InputCom, ...args: [Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| encrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -520,10 +487,2 @@ declare const EncComProof_base: { | ||
| }; | ||
| dummy: { | ||
| rows: number; | ||
| digest: string; | ||
| gates: import("o1js/dist/node/snarky.js").Gate[]; | ||
| publicInputSize: number; | ||
| print(): void; | ||
| summary(): Partial<Record<import("o1js/dist/node/snarky.js").GateType | "Total rows", number>>; | ||
| }; | ||
| }>; | ||
@@ -533,8 +492,6 @@ publicInputType: typeof InputCom; | ||
| privateInputTypes: { | ||
| decrypt: [typeof Scalar, typeof Scalar, typeof Scalar]; | ||
| dummy: []; | ||
| decrypt: [typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field), typeof Scalar, typeof import("o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("o1js/dist/node/lib/provable/field.js").Field) => import("o1js/dist/node/lib/provable/field.js").Field)]; | ||
| }; | ||
| rawMethods: { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<void>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<void>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<void>; | ||
| }; | ||
@@ -544,4 +501,3 @@ proofsEnabled: boolean; | ||
| } & { | ||
| decrypt: (publicInput: InputCom, ...args: [Scalar, Scalar, Scalar] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| dummy: (publicInput: InputCom, ...args: [] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| decrypt: (publicInput: InputCom, ...args: [import("o1js/dist/node/lib/provable/field.js").Field, Scalar, import("o1js/dist/node/lib/provable/field.js").Field] & any[]) => Promise<import("o1js").Proof<InputCom, void>>; | ||
| }; | ||
@@ -548,0 +504,0 @@ declare const DecComProof_base: { |
+2
-2
| { | ||
| "name": "@auxo-dev/o1js-encrypt", | ||
| "version": "1.0.3", | ||
| "version": "1.1.0", | ||
| "description": "", | ||
@@ -64,5 +64,5 @@ "author": "", | ||
| "dependencies": { | ||
| "@auxo-dev/auxo-libs": "^1.0.2", | ||
| "@auxo-dev/auxo-libs": "^1.0.6", | ||
| "o1js": "1.8.0" | ||
| } | ||
| } |
224284
-1.1%4109
-9.79%Updated