Home > lbn

lbn

Lbn is a project mainly written in C and LUA, it's free.

A a big-number library for Lua

This is a big-number library for Lua 5.1. It handles only integers and is suitable for number-theoretical and cryptographic applications. It is based on the bn subsystem of OpenSSL cryptographic library: http://www.openssl.org/docs/crypto/bn.html If you're running Unix, you probably already have OpenSSL installed.

To try the library, just edit Makefile to reflect your installation of Lua and then run make. This will build the library and run a simple test. For detailed installation instructions, see http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/install.html

There is no manual but the library is simple and intuitive; see the summary below. Read also test.lua, which shows the library in action.

This code is hereby placed in the public domain. Please send comments, suggestions, and bug reports to [email protected] .


bn library: add(x,y) compare(x,y) pow(x,y) div(x,y) div(x,y) powmod(x,y,m) eq(x,y) divmod(x,y) random(bits) lt(x,y) gcd(x,y) rmod(x,y) mod(x,y) invmod(x) sqr(x) mul(x,y) isneg(x) sqrmod(x) pow(x,y) isodd(x) sqrtmod(x) sub(x,y) isone(x) sub(x,y) tostring(x) isprime(x,[checks]) submod(x,y,m) unm(x) iszero(x) text(t) abs(x) mod(x,y) tohex(x) add(x,y) mul(x,y) tonumber(x) addmod(x,y,m) mulmod(x,y,m) tostring(x) aprime(bits) neg(x) totext(x) bits(x) number(x) version


Previous:alden