Skip to content

A modified version of the Bitcoin secp256k1 library that exposes scalar and point manipulation functions

License

Notifications You must be signed in to change notification settings

exfinen/secp256k1-export

 
 

Repository files navigation

secp256k1-export

The Bitcoin secp256k1 library, based on version 0.6.0, modified to export scalar and point manipulation functions.

Usage

  1. Build the library
./autogen.sh
./configure
make
  1. Link .libs/libsecp256k1.a or .libs/libsecp256k1.{so,dylib} to your project
  2. Include include/secp256k1_export.h and call functions defined in the header

Sample code

#include <stdio.h>
#include "secp256k1_export.h"

int main() {
  secp256k1_gej_alias g;
  secp256k1_gej_alias sum1;
  secp256k1_gej_alias sum2;
  secp256k1_gej_alias prod;
  secp256k1_scalar four;

  secp256k1_export_group_get_base_point(&g);
  secp256k1_export_group_add(&sum1, &g, &g);
  secp256k1_export_group_add(&sum2, &sum1, &sum1);

  secp256k1_export_scalar_set_int(&four, 4);
  secp256k1_export_group_ecmult(&prod, &four);

  int r = secp256k1_export_group_eq(&sum2, &prod);
  printf("%s\n", r == 1 ? "equal" : "not equal");

  return 0;
}

About

A modified version of the Bitcoin secp256k1 library that exposes scalar and point manipulation functions

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 91.7%
  • Sage 2.1%
  • CMake 1.5%
  • Assembly 1.4%
  • M4 1.2%
  • Python 1.1%
  • Other 1.0%