Coder Social home page Coder Social logo

otrv4 / ed448 Goto Github PK

View Code? Open in Web Editor NEW
40.0 40.0 7.0 4.4 MB

A golang implementation of Ed448-Goldilocks. This is a mirror of https://bugs.otr.im/otrv4/ed448

License: GNU General Public License v3.0

Go 99.63% Makefile 0.31% Sage 0.06%
cryptography ed448-goldilocks elliptic-curves

ed448's Issues

public key size is 56 bytes, but not 57 bytes

otrv4/ed448 public key size is 56 bytes, private key size is 144 bytes, signature is 112 bytes

According the rfc8032 standard: https://tools.ietf.org/html/rfc8032

  1. EdDSA uses small public keys (32 or 57 bytes) and signatures (64 or 114 bytes) for Ed25519 and Ed448, respectively;

Why are pub/priv/sig sizes for otrv4/ed448 are so different from a rfc8032 standard?
What standard does otrv4/ed448 implementation follow?

Implement encodings

In accordance with Mike Hamburg's paper.

  • implement bigNumber arithmetic // merged
  • implement the 3 decaf new functions: equality, encoding and decoding // merged
  • implement the new scalar operations
  • implement the new point operations // check if all are done
  • change the point representation: projective coordinates
  • implement a generator for the base point according to the new coordinates // this should be on otr4
  • implement elligator2
  • implement montgomery mul and use it on 'decode_long'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.