summaryrefslogtreecommitdiffstats
path: root/moon-abe/pbc-0.5.14/doc/pairingfns.txt
diff options
context:
space:
mode:
Diffstat (limited to 'moon-abe/pbc-0.5.14/doc/pairingfns.txt')
-rw-r--r--moon-abe/pbc-0.5.14/doc/pairingfns.txt69
1 files changed, 0 insertions, 69 deletions
diff --git a/moon-abe/pbc-0.5.14/doc/pairingfns.txt b/moon-abe/pbc-0.5.14/doc/pairingfns.txt
deleted file mode 100644
index 4ea4bf13..00000000
--- a/moon-abe/pbc-0.5.14/doc/pairingfns.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-== Pairing functions ==
-
-An application should first initialize a pairing object. This causes PBC
-to setup curves, groups and other mathematical miscellany. After that,
-elements can be initialized and manipulated for cryptographic operations.
-
-Parameters for various pairings are included with the PBC library distribution
-in the `param` subdirectory, and some are suitable for cryptographic use. Some
-programs in the `gen` subdirectory may be used to generate parameters (see
-<<bundlechap>>). Also, see the PBC website for many more
-pairing parameters.
-
-Pairings involve three groups of prime order. The PBC library calls them G1,
-G2, and GT, and calls the order r. The pairing is a bilinear map that takes two
-elements as input, one from G1 and one from G2, and outputs an element of GT.
-
-The elements of G2 are at least as long as G1; G1 is guaranteed to be the
-shorter of the two. Sometimes G1 and G2 are the same group (i.e. the pairing
-is symmetric) so their elements can be mixed freely. In this case the
-+pairing_is_symmetric+ function returns 1.
-
-Bilinear pairings are stored in the data type +pairing_t+. Functions that
-operate on them start with +pairing_+.
-
-=== Initializing pairings ===
-
-To initialize a pairing from an ASCIIZ string:
-
- pairing_t pairing;
- pairing_init_set_str(pairing, s); // Where s is a char *.
-
-The string 's' holds _pairing parameters_ in a text format. The +param+
-subdirectory contains several examples.
-
-Alternatively, call:
-
- pairing_t pairing;
- pairing_init_pbc_param(pairing, param);
-
-where 'param' is an initialized `pbc_param_t` (see <<paramchap>>).
-
-include::gen/pairing_init.txt[]
-
-=== Applying pairings ===
-
-The function `pairing_apply` can be called to apply a bilinear map. The order
-of the inputs is important. The first, which holds the output, must be from the
-group GT. The second must be from G1, the third from G2, and the fourth must be
-the +pairing_t+ variable that relates them.
-
-In some applications, the programmer may know that many pairings with the same
-G1 input will be computed. If so, preprocessing should be used to avoid
-repeating many calculations saving time in the long run. A variable of type
-+pairing_pp_t+ should be declared, initialized with the fixed G1 element, and
-then used to compute pairings:
-
- pairing_pp_t pp;
- pairing_pp_init(pp, x, pairing); // x is some element of G1
- pairing_pp_apply(r1, y1, pp); // r1 = e(x, y1)
- pairing_pp_apply(r2, y2, pp); // r2 = e(x, y2)
- pairing_pp_clear(pp); // don't need pp anymore
-
-Never mix and match G1, G2, and GT groups from different pairings.
-
-include::gen/pairing_apply.txt[]
-
-=== Other pairing functions ===
-
-include::gen/pairing_op.txt[]