# Why pairing based crypto is suitable for some particular cryptographic primitives?

Why pairing based crypto is being widely used in some special crypto primitives as ID based crypto and variations of standard signatures? I mean taking as deep as possible what makes it suitable for that schemes while other schemes do not feet?

-

– mikeazo♦ Aug 28 '12 at 14:23

## 1 Answer

Crypto based on cyclic groups is (at a very high level) about "hiding" things "in the exponent" and then manipulating those values as they live in the exponent. As an example, in a cyclic group $\langle g\rangle$, you can "hide" a random value $x$ as $g^x$.

Without a bilinear pairing, all you can really do "in the exponent" are linear/affine (degree-1) combinations of these hidden values. That is, given $g^{x_1}, \ldots, g^{x_n}$, you can obtain $g^{a_0 + a_1 x_1 + \cdots + a_n x_n}$ for known coefficients $a_i$.

With a bilinear pairing, you can do degree-2 combinations. This is huge, it allows you to "multiply hidden values together in the exponent". This extra expressivity is what lends itself to a wider variety of cryptographic primitives, like identity-based and functional encryption, etc.

There are other tools like lattices that also have a lot of algebraic structure. The capabilities of lattices are somewhat incomparable to those of groups with bilinear pairings. But more of these "functional encryption" applications are now being achieved using lattices as well. So none of these applications are probably unique to bilinear pairings, it is a bit of a historical accident that we have seen an explosion in techniques and applications of bilinear pairings.

-

And taking this more deep what actually a bilinear pair is? I mean ok it's a mapping from two groups into another one. This mapping can be formulated as a non-linear function?What is this $e:GxG->G_1$ that all books describe?How i can more precisely formualte $e$? – curious Sep 24 '12 at 18:30
Not sure at what level you're asking. Maybe reading about the Weil pairing and Tate pairing will give you some idea of how these things work. – Mikero Sep 25 '12 at 2:47
i am asking that if a have a bilinear map G1xG1->G2 who defines where in G2 the elements of G1 are mapped?Is it a function?In all scientific papers that they use b.maps they just mention there is map. but not what exactly the map is and how is being defined... – curious Oct 10 '12 at 21:40
Can you give me an example of a degree-2 combination? I.e given $g^{x_1}, \ldots ,g^{x_n}$ as a consequence of bilinearity i can have $g^{x_1 \ldots x_2}$ ? – curious Oct 26 '12 at 14:14
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 10, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9295531511306763, "perplexity_flag": "middle"}