Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/crate-crypto/Ed448-Goldilocks
/ functions
Functions
233 in github.com/crate-crypto/Ed448-Goldilocks
⨍
Functions
233
◇
Types & classes
18
↓ 46 callers
Method
square
Sqaures a field element
src/field/u32/prime_field.rs:187
↓ 18 callers
Method
square_n
Squares a field element `n` times
src/field/mod.rs:61
↓ 12 callers
Function
montgomery_multiply
(x: &Scalar, y: &Scalar)
src/field/scalar.rs:400
↓ 12 callers
Method
to_bytes
(&self)
src/field/scalar.rs:166
↓ 12 callers
Method
to_extended
(&self)
src/curve/edwards/affine.rs:17
↓ 10 callers
Function
hex_to_field
(hex: &'static str)
src/curve/edwards/extended.rs:420
↓ 10 callers
Method
invert
Inverts a field element Previous chain length: 462, new length 460
src/field/mod.rs:38
↓ 9 callers
Method
add_extended
Adds an extensible point to an extended point Returns an extensible point (3.1) https://iacr.org/archive/asiacrypt2008/53500329/53500329.pdf
src/curve/twedwards/extensible.rs:77
↓ 9 callers
Method
to_extensible
Converts an AffinePoint to an ExtensiblePoint
src/curve/twedwards/affine.rs:60
↓ 8 callers
Method
double
XXX: See comment on addition, the formula is unified, so this will do for now https://iacr.org/archive/asiacrypt2008/53500329/53500329.pdf (3.1)
src/curve/edwards/extended.rs:210
↓ 7 callers
Function
double_and_add
Traditional double and add algorithm
src/curve/scalar_mul/double_and_add.rs:6
↓ 7 callers
Method
is_negative
(&self)
src/field/u32/prime_field.rs:123
↓ 7 callers
Method
to_extended
Converts an An AffinePoint to an ExtendedPoint
src/curve/twedwards/affine.rs:78
↓ 7 callers
Method
to_extensible
Converts an ExtendedPoint to an ExtensiblePoint
src/curve/twedwards/extended.rs:78
↓ 6 callers
Method
add
https://iacr.org/archive/asiacrypt2008/53500329/53500329.pdf (3.1) These formulas are unified, so for now we can use it for doubling. Will refactor la
src/curve/edwards/extended.rs:180
↓ 6 callers
Function
mul
XXX: This has been changed to use i128 to avoid using wrapping arithmetic; need to check bounds
src/field/u32/karatsuba.rs:17
↓ 5 callers
Method
decompress
(&self)
src/curve/edwards/extended.rs:41
↓ 5 callers
Method
strong_reduce
Reduces the field element to a canonical representation This is used when checking equality between two field elements and when encoding a field eleme
src/field/u32/prime_field.rs:254
↓ 5 callers
Method
to_untwisted
Uses a 2-isogeny to map the point to the Ed448-Goldilocks
src/curve/twedwards/extended.rs:132
↓ 4 callers
Method
compress
This will be simpler than the curve2519 case, as there is no need to lift the points XXX: Using the twisted edwards coordinates, for this a = -1 and d
src/decaf/decaf.rs:63
↓ 4 callers
Method
ct_eq
(&self, other: &Self)
src/field/mod.rs:19
↓ 4 callers
Method
negate
(&self)
src/curve/edwards/extended.rs:272
↓ 4 callers
Method
negate
Negates a point
src/curve/twedwards/extended.rs:153
↓ 4 callers
Function
sub_extra
Compute a - b mod p Computes a - b and conditionally computes the modulus if the result was negative
src/field/scalar.rs:368
↓ 4 callers
Method
to_projective_niels
Converts an Extensible point to a ProjectiveNiels Point
src/curve/twedwards/extensible.rs:167
↓ 4 callers
Function
variable_base
(point: &ExtendedPoint, s: &Scalar)
src/curve/scalar_mul/variable_base.rs:8
↓ 3 callers
Method
conditional_negate
(&mut self, choice: Choice)
src/curve/twedwards/projective.rs:41
↓ 3 callers
Method
conditional_negate
(&mut self, choice: Choice)
src/field/u32/prime_field.rs:61
↓ 3 callers
Method
decompress
XXX: We allow the identity point XXX: Clean this up to be more descriptive of what is happening
src/decaf/decaf.rs:91
↓ 3 callers
Method
inverse_square_root
Computes the inverse square root of a field element Returns the result and a boolean to indicate whether self was a Quadratic residue
src/field/mod.rs:77
↓ 3 callers
Method
scalar_mul
Generic scalar multiplication to compute s*P
src/curve/edwards/extended.rs:122
↓ 3 callers
Function
square
XXX: unroll and re-write
src/field/u32/karatsuba.rs:287
↓ 3 callers
Method
sub_extended
Subtracts an extensible point from an extended point Returns an extensible point This is a direct modification of the addition formula to the negation
src/curve/twedwards/extensible.rs:97
↓ 3 callers
Method
to_affine
(&self)
src/curve/edwards/extended.rs:230
↓ 3 callers
Method
to_extended
(&self)
src/curve/twedwards/projective.rs:51
↓ 3 callers
Method
to_twisted
(&self)
src/curve/edwards/extended.rs:268
↓ 3 callers
Method
weak_reduce
(&mut self)
src/field/u32/prime_field.rs:226
↓ 2 callers
Function
add
Computes a + b mod p
src/field/scalar.rs:345
↓ 2 callers
Method
add
Adds an AffinePoint onto an AffinePoint
src/curve/twedwards/affine.rs:48
↓ 2 callers
Method
add_projective_niels
Adds an extensible point to a ProjectiveNiels point Returns an extensible point (3.1)[Last set of formulas] https://iacr.org/archive/asiacrypt2008/535
src/curve/twedwards/extensible.rs:138
↓ 2 callers
Method
as_bytes
(&self)
src/ristretto/ristretto.rs:32
↓ 2 callers
Method
as_bytes
View the point as a byte slice
src/curve/montgomery/montgomery.rs:118
↓ 2 callers
Method
as_bytes
(&self)
src/decaf/decaf.rs:35
↓ 2 callers
Method
bits
XXX: Better if this method returns an array of 448 items
src/field/scalar.rs:135
↓ 2 callers
Method
compress
Standard compression; store Y and sign of X XXX: This needs more docs and is `compress` the conventional function name? I think to_bytes/encode is?
src/curve/edwards/extended.rs:160
↓ 2 callers
Method
ct_eq
(&self, other: &Self)
src/curve/edwards/extended.rs:70
↓ 2 callers
Method
ct_eq
(&self, other: &CompressedDecaf)
src/decaf/decaf.rs:22
↓ 2 callers
Method
double
Doubles an extended point
src/curve/twedwards/extended.rs:70
↓ 2 callers
Function
hex_to_field
(hex: &'static str)
src/curve/twedwards/extended.rs:176
↓ 2 callers
Method
invert
(&self)
src/field/scalar.rs:181
↓ 2 callers
Method
negate
Negates an AffinePoint
src/curve/twedwards/affine.rs:41
↓ 2 callers
Method
negate
Negates a field element
src/field/fiat_u64/prime_field.rs:180
↓ 2 callers
Method
negate
Negates a field element
src/field/u32/prime_field.rs:192
↓ 2 callers
Method
select
Selects a projective niels point from a lookup table in constant time
src/curve/scalar_mul/window/wnaf/mod.rs:26
↓ 2 callers
Method
to_affine
Converts an extended point to Affine co-ordinates
src/curve/twedwards/extended.rs:89
↓ 1 callers
Method
add
(self, rhs: Scalar)
src/field/scalar.rs:62
↓ 1 callers
Method
add_extensible
Adds two extensible points together by converting the other point to a ExtendedPoint
src/curve/twedwards/extensible.rs:71
↓ 1 callers
Method
add_no_reduce
Adds two field elements together Result is not reduced
src/field/u32/prime_field.rs:395
↓ 1 callers
Method
ct_eq
(&self, other: &CompressedRistretto)
src/ristretto/ristretto.rs:19
↓ 1 callers
Method
ct_eq
(&self, other: &MontgomeryPoint)
src/curve/montgomery/montgomery.rs:54
↓ 1 callers
Method
ct_eq
(&self, other: &Self)
src/curve/twedwards/extensible.rs:24
↓ 1 callers
Method
ct_eq
(&self, other: &Self)
src/curve/twedwards/extended.rs:19
↓ 1 callers
Method
ct_eq
(&self, other: &Self)
src/field/scalar.rs:28
↓ 1 callers
Function
differential_add_and_double
( P: &mut ProjectiveMontgomeryPoint, Q: &mut ProjectiveMontgomeryPoint, affine_PmQ: &FieldElement,
src/curve/montgomery/montgomery.rs:153
↓ 1 callers
Method
div_by_four
Divides a scalar by four without reducing mod p This is used in the 2-isogeny when mapping points from Ed448-Goldilocks to Twisted-Goldilocks
src/field/scalar.rs:95
↓ 1 callers
Method
edwards_isogeny
Edwards_Isogeny is derived from the doubling formula XXX: There is a duplicate method in the twisted edwards module to compute the dual isogeny XXX: N
src/curve/edwards/extended.rs:244
↓ 1 callers
Method
edwards_isogeny
Edwards_Isogeny is derived from the doubling formula XXX: There is a duplicate method in the twisted edwards module to compute the dual isogeny XXX: N
src/curve/twedwards/extended.rs:107
↓ 1 callers
Method
scalar_mod_four
Returns (scalar mod 4) * P in constant time
src/curve/edwards/extended.rs:134
↓ 1 callers
Method
square
(&self)
src/field/scalar.rs:178
↓ 1 callers
Method
sub_no_reduce
Subtracts the two field elements from each other Result is not reduced
src/field/u32/prime_field.rs:418
↓ 1 callers
Method
to_affine
(&self)
src/curve/montgomery/montgomery.rs:199
↓ 1 callers
Method
to_bytes
We encode the Field element by storing each consecutive into a u64
src/field/fiat_u64/prime_field.rs:163
↓ 1 callers
Method
to_bytes
We encode the Field element by storing each consecutive into a u64
src/field/u32/prime_field.rs:166
↓ 1 callers
Method
to_bytes_rfc_8032
Serialize the scalar into 57 bytes, per RFC 8032. Byte 56 will always be zero.
src/field/scalar.rs:296
↓ 1 callers
Method
to_extended
Converts an extensible point to an extended point
src/curve/twedwards/extensible.rs:158
↓ 1 callers
Method
to_montgomery
(&self)
src/curve/edwards/extended.rs:109
↓ 1 callers
Method
to_radix_16
This method was modified from Curve25519-Dalek codebase. [scalar.rs] We start with 14 u32s and convert them to 56 u8s. We then use the code copied fro
src/field/scalar.rs:105
Method
add
Adds an extended point to itself
src/curve/twedwards/extended.rs:74
Method
add
(self, other: &'a DecafPoint)
src/decaf/ops.rs:38
Method
add
(self, rhs: FieldElement56)
src/field/fiat_u64/prime_field.rs:65
Method
add
(self, rhs: FieldElement28)
src/field/u32/prime_field.rs:44
Method
add_affine_niels
Adds an extensible point to an AffineNiels point Returns an Extensible point
src/curve/twedwards/extensible.rs:117
Method
add_assign
(&mut self, _rhs: &'b ExtendedPoint)
src/curve/edwards/extended.rs:322
Method
add_carry
(a: u32, b: u64)
src/field/u32/prime_field.rs:265
Method
bias
Bias adds 'b' multiples of `p` to self
src/field/u32/prime_field.rs:197
Method
bot_half
(x: u8)
src/field/scalar.rs:112
Method
conditional_negate
(&mut self, choice: Choice)
src/field/fiat_u64/prime_field.rs:85
Method
conditional_select
(a: &Self, b: &Self, choice: Choice)
src/curve/edwards/extended.rs:28
Method
conditional_select
( a: &ProjectiveMontgomeryPoint, b: &ProjectiveMontgomeryPoint, choice: Choice, )
src/curve/montgomery/montgomery.rs:141
Method
conditional_select
(a: &Self, b: &Self, choice: Choice)
src/curve/twedwards/extended.rs:31
Method
conditional_select
(a: &Self, b: &Self, choice: Choice)
src/curve/twedwards/projective.rs:31
Method
conditional_select
(a: &Self, b: &Self, choice: Choice)
src/curve/twedwards/affine.rs:93
Method
conditional_select
( a: &FieldElement56, b: &FieldElement56, choice: Choice, )
src/field/fiat_u64/prime_field.rs:92
Method
conditional_select
( a: &FieldElement28, b: &FieldElement28, choice: Choice, )
src/field/u32/prime_field.rs:68
Method
decode
(&self)
src/ristretto/ristretto.rs:58
Method
default
()
src/curve/edwards/extended.rs:89
Method
default
()
src/curve/twedwards/extended.rs:49
Method
default
()
src/curve/twedwards/projective.rs:8
Method
default
()
src/curve/twedwards/affine.rs:20
Method
default
()
src/field/scalar.rs:80
next →
1–100 of 233, ranked by callers