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 |