mirror of
https://github.com/arnaucube/math.git
synced 2026-01-11 08:21:31 +01:00
split paper notes files
This commit is contained in:
87
notes_bls-sig.tex
Normal file
87
notes_bls-sig.tex
Normal file
@@ -0,0 +1,87 @@
|
||||
\documentclass{article}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{amsthm}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{enumerate}
|
||||
\usepackage{hyperref}
|
||||
\hypersetup{
|
||||
colorlinks,
|
||||
citecolor=black,
|
||||
filecolor=black,
|
||||
linkcolor=black,
|
||||
urlcolor=blue
|
||||
}
|
||||
\usepackage{xcolor}
|
||||
|
||||
% prevent warnings of underfull \hbox:
|
||||
\usepackage{etoolbox}
|
||||
\apptocmd{\sloppy}{\hbadness 4000\relax}{}{}
|
||||
|
||||
\theoremstyle{definition}
|
||||
\newtheorem{definition}{Def}[section]
|
||||
\newtheorem{theorem}[definition]{Thm}
|
||||
|
||||
|
||||
\title{Notes on BLS Signatures}
|
||||
\author{arnaucube}
|
||||
\date{}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
Notes taken while reading about BLS signatures \cite{bls-sig-eth2}. Usually while reading papers I take handwritten notes, this document contains some of them re-written to $LaTeX$.
|
||||
|
||||
The notes are not complete, don't include all the steps neither all the proofs.
|
||||
\end{abstract}
|
||||
|
||||
% \tableofcontents
|
||||
|
||||
\section{BLS signatures}
|
||||
|
||||
\paragraph{Key generation}
|
||||
$sk \in \mathbb{Z}_q$, $pk = [sk] \cdot g_1$, where $g_1 \in G_1$, and is the generator.
|
||||
|
||||
\paragraph{Signature}
|
||||
$$\sigma = [sk] \cdot H(m)$$
|
||||
where $H$ is a function that maps to a point in $G_2$. So $H(m), \sigma \in G_2$.
|
||||
|
||||
\paragraph{Verification}
|
||||
$$e(g_1, \sigma) == e(pk, H(m))$$
|
||||
|
||||
Unfold:
|
||||
$$e(pk, H(m)) = e([sk] \cdot g_1, H(m) = e(g_1, H(m))^{sk} = e(g_1, [sk] \cdot H(m)) = e(g_1, \sigma))$$
|
||||
|
||||
\paragraph{Aggregation}
|
||||
Signatures aggregation:
|
||||
$$\sigma_{aggr} = \sigma_1 + \sigma_2 + \ldots + \sigma_n$$
|
||||
where $\sigma_{aggr} \in G_2$, and an aggregated signatures is indistinguishible from a non-aggregated signature.
|
||||
|
||||
\vspace{0.5cm}
|
||||
Public keys aggregation:
|
||||
$$pk_{aggr} = pk_1 + pk_2 + \ldots + pk_n$$
|
||||
where $pk_{aggr} \in G_1$, and an aggregated public keys is indistinguishible from a non-aggregated public key.
|
||||
|
||||
|
||||
\paragraph{Verification of aggregated signatures}
|
||||
Identical to verification of a normal signature as long as we use the same corresponding aggregated public key:
|
||||
$$e(g_1, \sigma_{aggr})==e(pk_{aggr}, H(m))$$
|
||||
|
||||
Unfold:
|
||||
$$\fbox{e(pk_{aggr}, H(m))}= e(pk_1 + pk_2 + \ldots + pk_n, H(m)) =$$
|
||||
$$=e([sk_1] \cdot g_1 + [sk_2] \cdot g_1 + \ldots + [sk_n] \cdot g_1, H(m))=$$
|
||||
$$=e([sk_1 + sk_2 + \ldots + sk_n] \cdot g_1, H(m))=$$
|
||||
$$=e(g_1, H(m))^{(sk_1 + sk_2 + \ldots + sk_n)}=$$
|
||||
$$=e(g_1, [sk_1 + sk_2 + \ldots + sk_n] \cdot H(m))=$$
|
||||
$$=e(g_1, [sk_1] \cdot H(m) + [sk_2] \cdot H(m) + \ldots + [sk_n] \cdot H(m))=$$
|
||||
$$=e(g_1, \sigma_1 + \sigma_2 + \ldots + \sigma_n)= \fbox{e(g_1, \sigma_{aggr})}$$
|
||||
|
||||
|
||||
Note: in the current notes $pk \in G_1$ and $\sigma, H(m) \in G_2$, but we could use $\sigma, H(m) \in G_1$ and $pk \in G_2$.
|
||||
|
||||
\bibliography{paper-notes.bib}
|
||||
\bibliographystyle{unsrt}
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user