efd

package
v0.0.0-...-3948e75 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2020 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Overview

Package efd provides the Explicit-Formulas Database.

References:

[efd]          Daniel J. Bernstein and Tanja Lange. Explicit-Formulas Database.
               https://hyperelliptic.org/EFD (accessed July 14, 2019)
[efdanalysis]  Daniel J. Bernstein and Tanja Lange. Analysis and optimization of elliptic-curve
               single-scalar multiplication. Cryptology ePrint Archive, Report 2007/455. 2007.
               https://eprint.iacr.org/2007/455

Index

Constants

This section is empty.

Variables

View Source
var All = Select()

Functions

func WithProgram

func WithProgram(f *Formula) bool

Types

type Formula

type Formula struct {
	Collection     string
	ID             string
	Tag            string
	Class          string
	Shape          *Shape
	Representation *Representation
	Operation      string
	URL            string

	Source     string
	AppliesTo  string
	Assume     []string
	Compute    []string
	Parameters []string
	Program    *ast.Program
}

func LookupFormula

func LookupFormula(id string) *Formula

func (Formula) AllParameters

func (f Formula) AllParameters() []string

AllParameters returns all parameter variables for this formula. This merges the parameters from the shape, representation and formula itself.

type Formulae

type Formulae []*Formula

func Select

func Select(predicates ...Predicate) Formulae

func (Formulae) Filter

func (f Formulae) Filter(predicates ...Predicate) Formulae

type Predicate

type Predicate func(*Formula) bool

func WithClass

func WithClass(class string) Predicate

func WithOperation

func WithOperation(op string) Predicate

func WithRepresentation

func WithRepresentation(repr string) Predicate

func WithShape

func WithShape(shape string) Predicate

type Representation

type Representation struct {
	Collection string
	ID         string
	Tag        string
	Class      string
	Shape      *Shape

	Name       string
	Assume     []string
	Parameters []string
	Variables  []string
	Satisfying []string
}

func LookupRepresentation

func LookupRepresentation(id string) *Representation

type Shape

type Shape struct {
	Collection string
	ID         string
	Tag        string
	Class      string

	Name            string
	Parameters      []string
	Coordinates     []string
	A               [7]string
	Satisfying      []string
	Addition        []string
	Doubling        []string
	Negation        []string
	Neutral         []string
	FromWeierstrass []string
	ToWeierstrass   []string
}

func LookupShape

func LookupShape(id string) *Shape

Directories

Path Synopsis
op3
ast
eval
Package eval provides an evaluator for op3 programs.
Package eval provides an evaluator for op3 programs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL