The Pairing-Based Cryptography Library

News Archive 9

Released pbc-0.3.11

Fixed a bug in the element_to_bytes() function for finite fields causing the output to depend on the host byte order.

Behind the scenes, code was cleaned. For example, I got rid of the curve_t data type which I found confusing, and did not fit with my philosophy of shoehorning every algebraic structure into the field_t data type.

Wed Oct 4 15:02:05 PDT 2006

Released pbc-0.3.10

The main improvement is Hovav Shacham’s preprocessed element exponentiation routines. See the manual for details.

Tue Oct 3 00:29:29 PDT 2006

Mailing List Created

Hovav Shacham and I created a mailing list to discuss the development of the PBC library.

From now, if you have any PBC-related questions please send them to pbc-devel at googlegroups dot com.

Mon Oct 2 16:57:54 PDT 2006

pbc-0.3.9 Released

I spent most of my time since the last release on a new test program confusingly named pbc. It allows interactive testing of the library. During the development I felt I may have been better off working on performance improvements instead of squandering time on a hand-written parser and interpreter, but now that it works, I’m pleased with the results. I have yet to document it. The following session shows how it can be used:

$ test/pbc
Pairing-Based Calculator
> a=rnd(G1)
> b=rnd(G2)
> c=pairing(a,b,A)
> c
[8123908995412397222629407861526403178767561618899656268507645810910469570940171
354920981464587606639849486738202862428348258236992210185732214124221043399 1895
53814264885989040711088624722149213923285853653986751240825585711288561007379288
8682665226785064897799276077038762941403815137279201878124496544381814]
> r=rand(Zr)
> c^r
[3657835355267111517147932281225731429445945576520458069770856379924948048294629
981309298603543337841873858888814047590238596753897868865331802933313743255 5062
40043246682709738369359568183546905789682883656306401246404807118581570274256476
4691903194225678537056515561674449527079685938158385917551215894965196]
> ar=a^r
> pairing(ar, b)
expect three arguments
runtime error (error code = 0)
> pairing(ar,b,A)
[3657835355267111517147932281225731429445945576520458069770856379924948048294629
981309298603543337841873858888814047590238596753897868865331802933313743255 5062
40043246682709738369359568183546905789682883656306401246404807118581570274256476
4691903194225678537056515561674449527079685938158385917551215894965196]
> br=b^r
> pairing(a,br,A)
[3657835355267111517147932281225731429445945576520458069770856379924948048294629
981309298603543337841873858888814047590238596753897868865331802933313743255 5062
40043246682709738369359568183546905789682883656306401246404807118581570274256476
4691903194225678537056515561674449527079685938158385917551215894965196]

There are actually no prompts. I edited them in afterwards to show exactly what I was typing.

I made a couple of minor fixes so that mingw can compile PBC. The resulting binaries for Windows are on the download page.

I generally get worse times with the Windows binaries, and they seem to vary more from run to run.

Fri Sep 29 12:33:33 PDT 2006

pbc-0.3.8 Released

I rewrote element_vfprintf() so it does not use GNU C extensions. PBC should now compile under mingw, though I have to test this.

Thu Sep 28 15:06:39 PDT 2006

News: 0 1 2 3 4 5 6 7 8 9 10 11