You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let $U = \{A_1, \dots, A_n\}$ be the universe of attributes.
118
118
A set $\mathcal{A} \subseteq2^{U}$ is monotone if for all $B \in\mathcal{A}$ and $C \supseteq B$, $C \in\mathcal{A}$.
119
-
An access structure $\mathcal{A}$ is a non-empty subset of $2^U$, i.e. $\mathcal{A} \in2^U \backslash\{\emptyset\}$. A monotone access structure is an access structure that is monotone.
119
+
An access structure $\mathcal{A}$ is a non-empty subset of $2^U$, i.e. $\mathcal{A} \in2^U \backslash\{\emptyset\}$.
120
+
A monotone access structure is an access structure that is monotone.
120
121
The sets in $\mathcal{A}$ are called the \emph{authorized sets}, those not in $\mathcal{A}$ are called the \emph{unauthorized sets}.
121
122
\end{definition}
122
123
123
-
Intuitively, the monotonicity of an access structure means that adding an attribute to an authorized set cannot result in an unauthorized set.
124
+
Intuitively, if an access structure is monotone it means that adding an attribute to an authorized set cannot result in an unauthorized set.
124
125
125
126
\subsection{Access Trees}\label{sec:access-trees}
126
127
@@ -309,39 +310,47 @@ \subsection{Secret Sharing in Attribute Based Encryption}\label{sec:lss-in-acces
309
310
\section{Elliptic Curves}
310
311
\label{sec:ec}
311
312
312
-
The mathematics of modern cryptosystems (including, but not limited to ABE) work any group that satisfies the axioms (see below), and \glspl{ec} are just one of them.
313
-
Because \Glspl{ec} allow for shorter key lengths than, e.g. groups modulo a prime, they have become very popular for use in cryptography.
313
+
The mathematics of modern cryptosystems (including, but not limited to ABE) work on any group that satisfies the axioms (see below), and \glspl{ec} are just one of them.
314
+
Because \Glspl{ec} allow for shorter key lengths than, e.g. groups modulo a prime, they have become very popular in cryptography.
314
315
Exact definitions and notations differ, these are taken from the textbook \emph{Introduction to Modern Cryptography} by Katz and Lindell~\cite{katz_introduction_2015}.
315
316
316
317
\subsection{Group Axioms}\label{sec:group}
317
-
\begin{definition}~\cite{katz_introduction_2015}. A \emph{Group} $\langle\mathbb{G}, \circ, e\rangle$ consists of a set $\mathbb{G}$ together with a binary operation $\circ$ for which these four conditions hold:
318
+
\begin{definition}~\cite{katz_introduction_2015}. A \emph{Group} $\langle\mathbb{G}, +, 0\rangle$ consists of a set $\mathbb{G}$ together with a binary operation $+$ and an element $0\in\mathbb{G}$ for which these four conditions hold:
318
319
\begin{itemize}
319
-
\item Closure: For all $g, h \in\mathbb{G}$, $g \circ h \in\mathbb{G}$.
320
-
\item Existence of identity: There is an element $e\in\mathbb{G}$, called the \emph{identity}, such that for all $g \in\mathbb{G}$, $g \circ e = g = e \circ g$.
321
-
\item Existence of inverse: For every $g \in\mathbb{G}$ there exists an \emph{inverse} element $h \in\mathbb{G}$ such that $g \circ h = e = h \circ g$.
322
-
\item Associativity: For all $g_1, g_2, g_3\in\mathbb{G}$, $(g_1\circ g_2) \circ g_3 = g_1 (\circ g_2\circ g_3)$.
320
+
\item Closure: For all $g, h \in\mathbb{G}$, $g + h \in\mathbb{G}$.
321
+
\item Existence of identity: There is an element $0\in\mathbb{G}$, called the \emph{identity}, such that for all $g \in\mathbb{G}$, $g + 0 = g = 0 + g$.
322
+
\item Existence of inverse: For every $g \in\mathbb{G}$ there exists an \emph{inverse} element $h \in\mathbb{G}$ such that $g + h = 0 = h + g$.
323
+
\item Associativity: For all $g_1, g_2, g_3\in\mathbb{G}$, $(g_1+ g_2) + g_3 = g_1 (+ g_2+ g_3)$.
323
324
\end{itemize}
324
325
If $\mathbb{G}$ has a finite number of elements, the group $\mathbb{G}$ is called finite and $|\mathbb{G}|$ denotes the order of the group.
325
326
326
-
A group $\mathbb{G}$ with operation $\circ$ is called \emph{abelian} or commutative if, in addition, the following holds:
327
+
A group $\mathbb{G}$ with operation $+$ is called \emph{abelian} or commutative if, in addition, the following holds:
327
328
\begin{itemize}
328
-
\item Commutativity: For all $g, h \in\mathbb{G}, g \circ h = h \circ g$.
329
+
\item Commutativity: For all $g, h \in\mathbb{G}, g + h = h + g$.
329
330
\end{itemize}
330
331
331
332
When the binary operation is clear from context, we simply use $\mathbb{G}$ to denote the group.
332
333
333
-
We also define \emph{Group Exponentiation}: $g \in\mathbb{G}, m \in\mathbb{N}^+$, then $mg = \underbrace{g \circ\cdots\circ g}_{m \text{ times}}$.
334
+
We also define \emph{Group Exponentiation}: $g \in\mathbb{G}, m \in\mathbb{N}^+$, then $mg = \underbrace{g +\cdots+ g}_{m \text{ times}}$.
334
335
\end{definition}
335
336
336
337
337
-
Usually, the symbol used to denote the group operation is not the $\circ$ from above, but either $+$ or $\cdot$. These are called \emph{additive} and \emph{multiplicative} notation, respectively.
338
-
It is important to remember, though, that the group operation might be defined completely differently!
338
+
This notation (``$+$'' for the group operation and $0$ for neutral element) is called \emph{additive notation}.
339
+
Sometimes, \emph{multiplicative notation} is used: The group operation is denoted by ``$\cdot''$ and the neutral element by ``$1$''.
340
+
341
+
It is important to remember that even though the symbols $+$ and $\cdot$ are used, they might be defined completely differently from regular addition and multiplication!
339
342
340
343
In multiplicative notation, the group exponentiation of $g \in\mathbb{G}$ with $m \in\mathbb{N}^+$ is written as $g^m$, in additive groups it is written as $m \cdot g$.
341
344
345
+
\begin{definition}
346
+
An (additive) group $\mathbb{G}$ is cyclic if there is an element $g \in\mathbb{G}$ that generates $\mathbb{G}$, i.e. $\mathbb{G} = \langle g \rangle = \{k \cdot g | k \in\mathbb{Z}\}$.
347
+
\end{definition}
348
+
342
349
An example for an additive group is $\langle\mathbb{Z}_N, +_N, 0\rangle$ with $\mathbb{Z}_N = \{0, 1, \dots, N-1\}$ and $+_N$ the normal addition modulo $N$.
343
350
This group is cyclic with generator $1$.
344
-
If $p$ is prime, then $\langle\mathbb{Z}^*_p, \cdot_p, 1\rangle$ is a group with $\mathbb{Z}^*_p = \{k \in\mathbb{Z}_p | \text{gcd}(k,p) = 1\}$ and $\cdot_p$ the normal multiplication modulo $p$.
351
+
If $p$ is prime, then $\langle\mathbb{Z}^*_p, \cdot_p, 1\rangle$ is a multiplicative group with $\mathbb{Z}^*_p = \{k \in\mathbb{Z}_p | \text{gcd}(k,p) = 1\}$ and $\cdot_p$ the normal multiplication modulo $p$.
\caption[Elliptic curve point addition]{Elliptic curve point addition\\(Image by \href{https://commons.wikimedia.org/wiki/File:ECClines-2.svg}{SuperManu}, licensed under \href{https://creativecommons.org/licenses/by-sa/3.0/deed.en}{Creative Commons}.)}
392
+
\caption[Elliptic curve point addition]{Elliptic curve point addition (note that here, $\mathcal{O}$ is denoted by $0$)\\(Image by \href{https://commons.wikimedia.org/wiki/File:ECClines-2.svg}{SuperManu}, licensed under \href{https://creativecommons.org/licenses/by-sa/3.0/deed.en}{Creative Commons}.)}
384
393
\label{fig:ecc-point-addition}
385
394
\end{figure}
386
395
@@ -399,19 +408,17 @@ \subsection{Groups on Elliptic Curves}
399
408
The points of an \gls{ec} $E(\mathbb{Z}_p)$ plus the addition law as stated in Definition~\ref{def:point-add} form an abelian (commutative) group~\cite{katz_introduction_2015, washington_elliptic_2008}:
400
409
\end{theorem}
401
410
\begin{proof}
402
-
A formal proof is outside the scope of this thesis, but here's some informal reasoning about the group axioms:
411
+
A formal proof is outside the scope of this thesis, but consider this informal reasoning about the group axioms:
403
412
\begin{itemize}
404
413
\item Existence of Identity: $P + \mathcal{O} = P$ (as per definition)
405
-
\item Commutativity: For all $P_1, P_2\in E(\mathbb{Z}_p)$, $P_1 + P_2 = P_2 + P_1$ (because the line through $P_1$ and $P_2$ will be the same)
406
414
\item Unique inverse: For all $P = (x,y) \in E(\mathbb{Z}_p)$, the unique inverse is $-P = (x, -y)$ (because the line through $P$ and $-P$ will be vertical).
407
415
\item Associativity: For all $P_1, P_2, P_3\in E(\mathbb{Z}_p)$, $(P_1 + P_2) + P_3 = P_1 + (P_2 + P_3)$ (much less obvious, see e.g.~\cite[chapter 2.4]{washington_elliptic_2008} for a proof).
416
+
\item Commutativity: For all $P_1, P_2\in E(\mathbb{Z}_p)$, $P_1 + P_2 = P_2 + P_1$ (because the line through $P_1$ and $P_2$ will be the same)
408
417
\end{itemize}
409
418
\end{proof}
410
419
411
420
Of particular interest to cryptography are \emph{cyclic} groups on \glspl{ec}:
412
-
\begin{definition}
413
-
An (additive) group $\mathbb{G}$ is cyclic if there is an element $g \in\mathbb{G}$ that generates $\mathbb{G}$, i.e. $\mathbb{G} = \langle g \rangle = \{k \cdot g | k \in\mathbb{Z}\}$.
414
-
\end{definition}
421
+
415
422
416
423
Translated to our \glspl{ec}, this means that there is a generator point $P \in E(\mathbb{Z}_p)$, such that every point $Q \in E(\mathbb{Z}_p)$ can be obtained by repeatedly adding $P$ to itself using the point addition from Definition~\ref{def:point-add}.
417
424
@@ -428,7 +435,7 @@ \subsection{Groups on Elliptic Curves}
428
435
There is an important consequence to this fact: If a group has prime order, all points except the identity are generators.
429
436
This stems from the fact that a prime number has exactly two divisors: One (the order of the identity) and itself (the order of all other points).
430
437
431
-
Again, translated to \glspl{ec} this means that if the number of points $\#E(\mathbb{Z}_p)$ on a curve is prime, all points except $\mathcal{O}$ are generators.
438
+
Again, translated to \glspl{ec} this means that if the number of points $|E(\mathbb{Z}_p)|$ on a curve is prime, all points except $\mathcal{O}$ are generators.
432
439
These cyclic \gls{ec} groups are exactly the groups we are interested in for doing actual cryptography.
433
440
The ease of finding generators is one reason, but not the only one.
434
441
For a detailed explanation, see \cite[p.~321]{katz_introduction_2015}.
@@ -458,8 +465,7 @@ \subsection{Groups on Elliptic Curves}
\subsection{Use of elliptic curves and pairings in ABE}
485
491
Elliptic curves are already widely used in \glslink{pkes}{asymmetric cryptography}.
486
-
Bilinear pairings, on the other hand, are relatively new and have given rise to a whole new class of cryptographic algorithms, the \emph{pairing-based cryptography}.
492
+
Bilinear pairings, on the other hand, are relatively new and have given rise to a whole new class of cryptographic algorithms, the so-called \emph{pairing-based cryptography}.
487
493
For example, pairings are used to construct \gls{ibe}, a three-party \gls{dh}~\cite{joux_one_2000} or short \glspl{dss}~\cite{boneh_short_2001}.
488
494
489
495
Most \acrshortpl{abes} make use of bilinear pairings, and even pairing-free schemes (see next section) need an implementation of the \gls{ec} operations.
490
496
These operations are the building blocks of the \acrshortpl{abes} presented in chapter~\ref{chapter:constructions} and by far the most expensive operations performed by the schemes.
491
497
Therefore, the performance of an \acrshort{abe} implementation greatly depends on the performance of the \gls{ec} and pairing implementation.
492
-
For this reason, pairing implementations are considered in chapter~\ref{chap:related-work} and our own pairing implementation is evaluated separately in chapter~\ref{chap:evaluation}.
498
+
For this reason, pairing implementations from literature are considered in chapter~\ref{chap:related-work} and our pairing library is evaluated separately in chapter~\ref{chap:evaluation}.
0 commit comments