MCPcopy Create free account

hub / github.com/crate-crypto/go-ipa / functions

Functions304 in github.com/crate-crypto/go-ipa

↓ 3 callersFunctionabsInt
Returns the absolute value and true if the value was negative
ipa/barycentric.go:192
↓ 3 callersFunctiongenerateRandomPoints
generateRandomPoints is a similar version of the one that exist in the ipa package but we're pulling it here for tests to avoid an import cycle and ou
banderwagon/precomp_test.go:102
↓ 3 callersFunctionmsmC5
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:521
↓ 3 callersFunctiontest_serialize_deserialize_proof
(t *testing.T, proof MultiProof)
multiproof_test.go:134
↓ 2 callersMethodAppendMessage
(message []byte, label []byte)
common/transcript.go:31
↓ 2 callersFunctionButterfly
go:noescape
bandersnatch/fr/element_ops_amd64.go:50
↓ 2 callersFunctionBytesLE
BytesLE returns the little-endian byte representation of a field element.
bandersnatch/fp/fp.go:41
↓ 2 callersMethodBytesUncompressedTrusted
BytesUncompressedTrusted returns the uncompressed serialized version of the element. The returned bytes can only be used with SetBytesUncompressed wit
banderwagon/element.go:65
↓ 2 callersMethodDivideOnDomain
DivideOnDomain computes f(x) - f(x_i) / x - x_i where x_i is an element in the domain
ipa/barycentric.go:136
↓ 2 callersFunctionExtendedAddNormalized
ExtendedAddNormalized computes p = p1 + p2. https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#addition-madd-2008-hwcd
bandersnatch/bandersnatch.go:130
↓ 2 callersFunctionGenerateRandomPoints
GenerateRandomPoints generates numPoints random points on the curve using hardcoded seed.
ipa/config.go:174
↓ 2 callersMethodLegendre
Legendre returns the Legendre symbol of z (either +1, -1, or 0.)
bandersnatch/fr/element.go:844
↓ 2 callersMethodMapToScalarField
MapToScalarField maps a group element to the scalar field.
banderwagon/element.go:287
↓ 2 callersFunctionMulBy13
go:noescape
bandersnatch/fr/element_ops_amd64.go:26
↓ 2 callersFunctionMulBy3
go:noescape
bandersnatch/fr/element_ops_amd64.go:20
↓ 2 callersFunctionMulBy5
go:noescape
bandersnatch/fr/element_ops_amd64.go:23
↓ 2 callersMethodNeg
Neg computes p = -p1
bandersnatch/bandersnatch.go:121
↓ 2 callersFunctionNewIPASettings
NewIPASettings generates the SRS, Q and precomputed weights for the barycentric formula. The SRS is generated as common.VectorLength random points whe
ipa/config.go:33
↓ 2 callersFunctionPointExtendedFromProj
PointExtendedFromProj converts a point in projective coordinates to extended coordinates.
bandersnatch/bandersnatch.go:101
↓ 2 callersMethodRead
Read deserializes a multi-proof from a reader.
multiproof.go:276
↓ 2 callersMethodRead
Read deserializes the IPA proof from the given reader.
ipa/prover.go:184
↓ 2 callersMethodScalarMul
ScalarMul multiplies the point by the given scalar using the precomputed points. It applies a trick to push a carry between windows since our precompu
banderwagon/precomp.go:124
↓ 2 callersMethodSetRawBytes
SetRawBytes reads up to Bytes (bytes needed to represent Element) from reader and interpret it as big endian uint64 used for fuzzing purposes only
bandersnatch/fr/element_fuzz.go:89
↓ 2 callersFunctionSqrtPrecomp
(x *Element)
bandersnatch/fp/sqrt.go:116
↓ 2 callersMethodToRegular
ToRegular returns z in regular form (doesn't mutate z)
bandersnatch/fr/element.go:633
↓ 2 callersFunction_butterflyGeneric
(a, b *Element)
bandersnatch/fr/element.go:586
↓ 2 callersFunction_fromMontGeneric
(z *Element)
bandersnatch/fr/element.go:401
↓ 2 callersFunctioncomputeBVector
(ic *IPAConfig, evalPoint fr.Element)
ipa/prover.go:246
↓ 2 callersFunctionfoldScalars
Computes c[i] =a[i] + b[i] * x returns c
ipa/config.go:94
↓ 2 callersFunctiongenRandomPolynomialOpenings
(t testing.TB, n int)
multiproof_test.go:321
↓ 2 callersFunctionmsmC10
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:774
↓ 2 callersFunctionmsmC11
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:826
↓ 2 callersFunctionmsmC12
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:878
↓ 2 callersFunctionmsmC13
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:930
↓ 2 callersFunctionmsmC14
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:982
↓ 2 callersFunctionmsmC15
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:1034
↓ 2 callersFunctionmsmC20
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:1131
↓ 2 callersFunctionmsmC21
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:1183
↓ 2 callersFunctionmsmC22
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:1235
↓ 2 callersFunctionmsmC4
(p *PointProj, points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:469
↓ 2 callersFunctionmsmC6
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:573
↓ 2 callersFunctionmsmC7
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:625
↓ 2 callersFunctionmsmC8
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:677
↓ 2 callersFunctionmsmC9
(p *PointProj,points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:722
↓ 2 callersFunctionmsmInnerPointProj
(p *PointProj, c int, points []PointAffine, scalars []fr.Element, splitFirstChunk bool)
bandersnatch/multiexp.go:299
↓ 2 callersFunctionmsmProcessChunkPointAffineDMA
(chunk uint64, res *PointProj, buckets []PointProj, c uint64, points []PointAffine, scalars []fr.Element)
bandersnatch/multiexp.go:402
↓ 2 callersFunctionmul
go:noescape
bandersnatch/fr/element_ops_amd64.go:41
↓ 2 callersFunctionpld
Taken from https://rosettacode.org/wiki/Polynomial_long_division#Go
ipa/barycentric_test.go:425
↓ 2 callersFunctionreduce
go:noescape
bandersnatch/fr/element_ops_amd64.go:47
↓ 2 callersMethodsetBigInt
setBigInt assumes 0 <= v < q
bandersnatch/fr/element.go:793
↓ 2 callersMethodsetBytes
(buf []byte, trusted bool)
banderwagon/element.go:191
↓ 2 callersFunctionsplitScalars
Splits a slice of scalars into two slices of equal length Eg [S1,S2,S3,S4] becomes [S1,S2] , [S3,S4]
ipa/config.go:126
↓ 2 callersFunctionsqrtAlg_GetPrecomputedRootOfUnity
sqrtAlg_GetPrecomputedRootOfUnity sets target to g^(multiplier << (order * sqrtParam_BlockSize)), where g is the fixed primitive 2^32th root of unity.
bandersnatch/fp/sqrt.go:105
↓ 2 callersFunctionsqrtAlg_NegDlogInSmallDyadicSubgroup
sqrtAlg_NegDlogInSmallDyadicSubgroup takes a (not necessarily primitive) root of unity x of order 2^sqrtParam_BlockSize. x has the form sqrtPrecomp_Re
bandersnatch/fp/sqrt.go:98
↓ 2 callersFunctionsubgroupCheck
(x fp.Element)
banderwagon/element.go:348
↓ 1 callersFunctionBatchMapToScalarField
BatchMapToScalarField maps a slice of group elements to the scalar field.
banderwagon/element.go:295
↓ 1 callersMethodBiggerModulus
()
bandersnatch/fr/element_fuzz.go:113
↓ 1 callersMethodBit
Bit returns the i'th bit, with lsb == bit 0. It is the responsability of the caller to convert from Montgomery to Regular form if needed
bandersnatch/fr/element.go:161
↓ 1 callersMethodBitLen
BitLen returns the minimum number of bits needed to represent z returns 0 if z == 0
bandersnatch/fr/element.go:594
↓ 1 callersFunctionElementsToBytes
ElementsToBytes serialises a slice of group elements in compressed form.
banderwagon/element.go:126
↓ 1 callersMethodEqual
Equal checks if two multi-proofs are equal.
multiproof.go:295
↓ 1 callersFunctionGenFr
GenFr generates an Fr element
bandersnatch/multiexp_test.go:36
↓ 1 callersMethodIsOnCurve
IsOnCurve returns true if p is on the curve.
banderwagon/element.go:394
↓ 1 callersFunctionMinusOne
MinusOne returns the field element -1.
bandersnatch/fp/fp.go:24
↓ 1 callersMethodMultiExp
MultiExp calculates the multi exponentiation of points and scalars.
banderwagon/multiexp.go:15
↓ 1 callersFunctionNewPrecompPoint
NewPrecompPoint creates a new PrecompPoint for the given point and window size.
banderwagon/precomp.go:85
↓ 1 callersFunctionPointEqualHex
(t *testing.T, point banderwagon.Element, expected string)
test_helper/poly.go:29
↓ 1 callersFunctionReadScalar
(r io.Reader)
common/common.go:44
↓ 1 callersFunctionReadUncompressedPoint
Reads an uncompressed affine point Point is not guaranteed to be in the prime subgroup
bandersnatch/bandersnatch.go:28
↓ 1 callersMethodSetBytesLECanonical
(e []byte)
bandersnatch/fr/element.go:740
↓ 1 callersMethodSetIdentity
SetIdentity sets p to the identity element.
banderwagon/element.go:362
↓ 1 callersMethodWrite
Write serializes a multi-proof to a writer.
multiproof.go:265
↓ 1 callersFunctionWriteUncompressedPoint
Writes an uncompressed affine point to an io.Writer
bandersnatch/bandersnatch.go:45
↓ 1 callersFunctionadd
go:noescape
bandersnatch/fr/element_ops_amd64.go:29
↓ 1 callersFunctionbatchProjToAffine
batchProjToAffine converts a slice of points in projective coordinates to affine coordinates. This code was pulled from gnark-crypto which unfortunate
banderwagon/precomp.go:155
↓ 1 callersFunctionbatchToExtendedPointNormalized
(points []bandersnatch.PointExtended)
banderwagon/precomp.go:199
↓ 1 callersFunctioncomputeBarycentricWeightForElement
computes A'(x_j) where x_j must be an element in the domain This is computed as the product of x_j - x_i where x_i is an element in the domain and x_i
ipa/barycentric.go:72
↓ 1 callersFunctioncomputeNumRounds
This function does log2(vector_size) Since we do not allow for 0 size vectors, this is checked since we also do not allow for vectors which are not p
ipa/config.go:153
↓ 1 callersFunctioncomputeY
ax^2 + y^2 = 1 + dx^2y^2 ax^2 -1 = dx^2y^2 - y^2 ax^2 -1 = y^2(dx^2 -1) ax^2 - 1 / (dx^2 - 1) = y^2
bandersnatch/bandersnatch.go:72
↓ 1 callersFunctiondouble
go:noescape
bandersnatch/fr/element_ops_amd64.go:38
↓ 1 callersFunctionevalOutsideDomain
another way to evaluate a point outside of the domain TODO, we can probably remove this and just interpolate and evaluate in tests
ipa/barycentric_test.go:156
↓ 1 callersFunctionfoldPoints
Computes c[i] =a[i] + b[i] * x returns c
ipa/config.go:110
↓ 1 callersFunctionfromMont
go:noescape
bandersnatch/fr/element_ops_amd64.go:44
↓ 1 callersFunctiongenFull
()
bandersnatch/fr/element_test.go:1801
↓ 1 callersFunctiongenRandomPolynomialOpening
(t testing.TB)
multiproof_test.go:351
↓ 1 callersFunctiongenerateChallenges
(transcript *common.Transcript, proof *IPAProof)
ipa/verifier.go:95
↓ 1 callersMethodgetInverseBarycentricWeight
(i int)
ipa/barycentric.go:184
↓ 1 callersMethodgetInvertedElement
(element int, is_neg bool)
ipa/barycentric.go:162
↓ 1 callersMethodgetRatioOfWeights
(numerator int, denominator int)
ipa/barycentric.go:173
↓ 1 callersFunctiongroupPolynomialsByEvaluationPoint
(fs [][]fr.Element, powersOfR []fr.Element, zs []uint8)
multiproof.go:302
↓ 1 callersFunctioninvSqrtEqDyadic
(z *Element)
bandersnatch/fp/sqrt.go:131
↓ 1 callersMethodmapToBaseField
computes X/Y
banderwagon/element.go:280
↓ 1 callersFunctionmsmReduceChunkPointAffineDMA
(p *PointProj, c int, chChunks []PointProj)
bandersnatch/multiexp.go:374
↓ 1 callersFunctionneg
go:noescape
bandersnatch/fr/element_ops_amd64.go:35
↓ 1 callersFunctionremoveDuplicatePoints
(intSlice []banderwagon.Element)
ipa/ipa_test.go:315
↓ 1 callersFunctionsplitPoints
Splits a slice of points into two slices of equal length Eg [P1,P2,P3,P4,P5,P6] becomes [P1,P2,P3] , [P4,P5,P6]
ipa/config.go:137
↓ 1 callersFunctionsqrtAlg_ComputeRelevantPowers
(z *Element, squareRootCandidate *feType_SquareRoot, rootOfUnity *feType_SquareRoot)
bandersnatch/fp/sqrt.go:192
↓ 1 callersFunctionsub
go:noescape
bandersnatch/fr/element_ops_amd64.go:32
↓ 1 callersFunctiontest_serialize_deserialize_proof
(t *testing.T, proof IPAProof)
ipa/ipa_test.go:299
↓ 1 callersFunctiontruncate
(s []fr.Element, to int)
ipa/barycentric_test.go:410
← previousnext →101–200 of 304, ranked by callers