Giter Site home page Giter Site logo

ecdsautils's People

Contributors

anotherwon avatar apfohl avatar kaechele avatar neocturne avatar smoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ecdsautils's Issues

Refactor reusable library out of ecdsautil

Ticket to track refactoring.

Current plan: create a library libecdsautil with a header libecdsautil/ecdsa.h. Proposed API:

typedef struct _ecdsa_signature {
  ecc_int256_t r;
  ecc_int256_t s;
} ecdsa_signature_t;

typedef struct _ecdsa_verify_context {
  ecc_25519_work_t s1;
  ecc_int256_t u2;
  ecc_int256_t r;
} ecdsa_verify_context_t;

bool ecdsa_is_valid_pubkey(const ecc_25519_work_t *pubkey);

void ecdsa_sign_legacy(ecdsa_signature_t *signature, const ecc_int256_t *hash, const ecc_int256_t *secret);

void ecdsa_verify_prepare_legacy(ecdsa_verify_context_t *ctx, const ecc_int256_t *hash, const ecdsa_signature_t *signature);
bool ecdsa_verify_legacy(const ecdsa_verify_context_t *ctx, const ecc_25519_work_t *pubkey);
int ecdsa_verify_list_legacy(const ecdsa_verify_context_t *ctx, const ecc_25519_work_t **pubkey);

The _legacy suffix is supposed to convey that these functions are based on the old legacy curve of libuecc and not Ed25519. Ed25519 support could be added in a subsequent commit.

haveged needed

Hello,

I just compiled ecdsautils and the necessary library on a fresh Debian 8. Haveged is not installed there by default and ecdsautils just hangs for several minutes, if you try to create a private key.

There should be at least a hint, that the package is needed or it should be checked for in the make file.

Regards,
Matthias

merge binaries

ecdsautils' binaries could be merged into a single binary:

ecdsautils help
ecdsautils keygen
ecdsautils sign
ecdsautils verify

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.