Table 2 Mapping of the surveyed iterative techniques into the proposed framework.

From: A generalized framework for elliptic curves based PRNG and its utilization in image encryption

Ref. no.

Parameters initialization

Points generation

Points manipulation

Bits extraction

Notes

Ref.23, 2015

Point P on the curve and a key \(e\)

Using \(e\), find \({K}_{0}\)

Using \(e\), initialize LFSR

LFSR outputs \({C}_{i}\)

\({K}_{i}=X({K}_{i-1}P)+{C}_{i-1}\)

\({S}_{i}={K}_{i}P+{K}_{0}P\)

Convert the x-coordinate of \({S}_{i}\) to binary form

Apply truncation on x-coordinate bits

The LFSR increased the period and introduced randomness in the keystream

Ref.24, 2015

Pick an EC, \(E\), and a generator point \(G\) on E

Point \({U}_{0}\in E({F}_{p})\)

Increment index \(i\)

Use the chaotic map to get the binary sequence \({b}_{i}\)

\({U}_{i}=i\left(1+{b}_{i}\right)G+{U}_{0}\)

Convert the point \({U}_{i}\) into its binary form

Apply the map \({U}_{2\times 2}(x,y)\) or the map \({U}_{3\times 3}(x,y)\) on the point \({U}_{i}\), where \({U}_{\mathrm{k}\times \mathrm{k}}\) takes the rightmost \(k\) bits from \(x\) and \(y\) coordinates

Different chaotic maps can be used

The chaotic map increased the randomness of the bitstream

Ref.25, 2017

Two points \(Y\) and \(G\)

\({SK}_{1}=\) primary key

\(A= {SK}_{i}G\)

\(B=A+Y\)

\(C=B+G\)

\({SK}_{i+1}={y}_{A}+{y}_{B}+{y}_{C}\)

\({Z}_{i}=\left|{x}_{A}\times {x}_{B}\times {x}_{C}\right|\)

Read the value \({Z}_{i}\)

The two points \(Y\) and \(G\) have very high orders

Ref.26, 2019

Point \({P}_{0}\) of order \(n\)

Pick \(r\in [1,n-1]\)

let \({\alpha }_{1}, \dots ,{\alpha }_{p}\) be a basis of \({F}_{{2}^{p}}\)

\({P}_{k}={r}^{k}{P}_{0}\)

\({x}_{k}=X({P}_{k})\)

Writing \({x}_{k}\) =\({{s}_{k}}^{(1)}{\alpha }_{1}+\dots +{{s}_{k}}^{(p)}{\alpha }_{p}\)

Read the sequence \({{s}_{k}}^{(i)} , i=1, \dots , p\)

\(n\) has a large prime order

\(r\) has a large multiplicative order mod n

Ref.27, 2020

Select secure EC

Select point \(P\)

\({S}_{0}=X(P)\)

\(\varphi \) is a truncation function

\(H\) is a hash function

\({S}_{i}={\varphi (x[S}_{i-1}P])\)

\({h}_{i}=\varphi (H\left({S}_{i}\right))\)

Apply \(\varphi \) on the x-coordinate of \({S}_{i-1}P\)

Apply \(\varphi \) on \(H\left({S}_{i}\right)\)

Read lower-order bits from \({h}_{i}\)

The hash function enhanced the statistical properties of the output bits