-
Notifications
You must be signed in to change notification settings - Fork 102
Expand file tree
/
Copy pathNEWS
More file actions
128 lines (82 loc) · 3.99 KB
/
Copy pathNEWS
File metadata and controls
128 lines (82 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
The PBC pairing-based cryptography library. See COPYING for license.
Ben Lynn
Changes between PBC version 1.0.0 and 0.5.14
* New tests with GoogleTest.
* C++ wrapper.
* Visual C++ 2013 port.
* Various fixes.
Changes between PBC version 0.5.14 and 0.5.13
* Eta pairing (type I), by Homer Hsing
Changes between PBC version 0.5.13 and 0.5.12
* Many thanks to Homer Hsing for volunteering to maintain this library.
* Flattened nested functions.
* Bugfix for test script.
Changes between PBC version 0.5.12 and 0.5.11
* Fixed a parsing bug reported by Michael Adjedj.
Changes between PBC version 0.5.11 and 0.5.10
* Support native win32 compilation via autotools. Thanks to Michael Rushanan.
Changes between PBC version 0.5.10 and 0.5.9
* pairing_init_pbc_param() fix thanks to Michael Adjedj.
Changes between PBC version 0.5.9 and 0.5.8
* Bugfix thanks to Michael Adjedj.
* Reduce high exponents for exponentiations in finite groups.
Changes between PBC version 0.5.8 and 0.5.7
* Changed the license to LGPL.
Changes between PBC version 0.5.7 and 0.5.6
* Faster multi-pairing (product of pairings) for A, A1, and D pairings.
Contributed by Zhang Ye.
* New API functions element_pairing() and element_prod_pairing().
Changes between PBC version 0.5.6 and 0.5.5
* Projective coordinates for A1 pairings. Contributed by Zhang Ye.
* Bugfix for affine coordinates for A pairings. Contributed by Zhang Ye.
* Optionally suppress error messages. Based on code by Geremy Condra.
Changes between PBC version 0.5.5 and 0.5.4
* Fixed bug reported by Zhang Ye: comparisons with the identity element in the
input groups was broken.
* Fixed bug reported by Mario Di Raimondo: comparisons in G2 for some pairing
types were broken. (Different representatives of the same coset are now
considered equal.)
Changes between PBC version 0.5.4 and 0.5.3
* Accessors for coordinates of points and coefficients of polynomials.
Changes between PBC version 0.5.3 and 0.5.2
* Revamped pairing-based calculator.
Changes between PBC version 0.5.2 and 0.5.1
* Fixed pbc_param_set_str().
* Add DLL to Windows release.
Changes between PBC version 0.5.1 and 0.5.0
* Fixed pbc_param_t parsing bugs, and added error detection.
* Increased buffer size in pbc_demo_pairing_init() so the sample parameters
actually work.
== New in PBC 0.5.0 ==
The largest changes involve pairing initialization and pairing parameters.
For pairing initialization, supply a buffer containing pairing parameters
instead of a `FILE *` stream. For example, rather than:
pairing_init_inp_str(pairing, stdin);
write something like:
char s[1024];
size_t count = fread(s, 1, 1024, stdin);
if (!count) pbc_die("input error");
if (pairing_init_set_buf(pairing, s, count)) pbc_die("pairing init failed");
For file reads, personally I like to use mmap() which suits
pairing_init_set_buf().
The `pbc_param_t` data type for pairing parameters replaces `a_param_t`, ...,
`g_param_t`. Having the same data type for all pairing parameter types
simplifies the library, though some functions had to be changed slightly.
At last, one can initialize a `pairing_t` from a `pbc_param_t`:
pairing_t p;
pbc_param_t par;
pbc_param_init_a_gen(par, 160, 512);
pairing_init_pbc_param(p, par);
pbc_param_clear(par);
=== Minor differences ===
I trimmed the API. The file stream operations are gone. I removed the
fetch_ops_t and tracker_t types: the standard C library already provides
routines for reading from disk to memory.
I refactored to avoid exposing `symtab_t` and `darray_t`, and undocumented
routines such as `poly_alloc()`. I mostly preserved the headers that define
these functions, but they are no longer included by `pbc.h`.
I replaced the CMake files with `simple.make`, which I use during development,
though I test the autotools build before release.
To reduce symbol pollution, all official functions and variables of the PBC
now start with `pbc_`, `field_`, `element_` or `pairing_`. Other names mostly
have hidden visibility in a shared library. Watch out for renamed functions.