Just some notes on RSA
Recently, I’ve realized that it is not so trivial to fund a precise but still quite understandable definition of RSA
cipher and the underling math problem. So, here it is:
The RSA problem
Given $n = pq$, where $p$ and $q$ are large prime numbers, and an integer $e$ such that $e$ is coprime with
$\phi(n) = (p-1)(q-1)$ (Euler’s totient function...
Edwards curves and EdDSA
Twisted Edwards curves1 has a form of $ax^2 + y^2 = 1 +
dx^2y^2$ (for fields with characteristic not 2) where
the curve order 2 can be represented as $l \cdot 2^c$,
where $c$ is a natural number, $l$ is a big prime number. So, it is obvious that our elliptic group has two
subgroups and for the cryptography purposes wew always may select the grou...
Oblivious transfer & Garbled circuits
Imagine Alice has $n$ values $m_i$, and she wants to share one of this value with Bob. Note that Bob does not want to
reveal what exactly value he has selected. The solution to this problem is called “Oblivious transfer”. There exists a
well known protocol that leverages an encryption scheme $E,D$ that owns a commutative property:
\[\forall k_1...
Singular curves
The Weierstrass normal form of elliptic curves (in fields with characteristic != 2 and != 3) $y^2 = x^3 + ax + b$
over $Z_p$ field has found many applications in cryptography. But this curve form has also two types: non-singular (
that can be used in crypto) and singular (that can’t). Let’s take a look why singular curves causes problems in
cryp...
Launching Linea stack
Recently, my team has been working mainly on the launching the Linea L2 stack. It has been a long way, starting from the
investigating the prover code with aim to improve its performance up to launching the whole system.
Here is the docker-compose example that can help any team to
launch their own L2. It also contains the brief overview of the ...
Elliptic Curves
Definition 1
The set of all lines in three-dimensional space that pass through the origin is called the projective plane. Any
line that passes through the origin and does not lie in the $XOY$ plane (i.e., $z \neq 0$) can be associated
with a point $(x, y, 1)$. For a vector $l$ with coordinates $(X, Y, Z)$ where $Z \neq 0$, the corresponding
poi...
Block cipher mode of operation
Block cipher is an algorithm that performs encryption and decryption of the plaintext by blocks (for example of 128
bit). It’s obvious that to encode plaintext with different from block sizes we need a separate high-level module that
will perform split and append operations on the plaintext in a couple with some other transformations. Such trans...
15 post articles, 2 pages.