# Secure and Efficient Authentication Scheme in IoT Environments
## 2 Background and Related Works
### Prerequisite  
To develop a deep understanding of the cryptography operations used in constructing the authentication scheme, we gave a quick review of it, as follows:  
* ECC definition and property. If there exist prime number \(p>3\) and constant \(j_{1}\) and \(j_{2}\) such that \(j_{1}\), \(j_{2}\in~{}\mathbf{Z_{p}}\), where \(\mathbf{Z_{p}}=\{\mathbf{0},\mathbf{1},\ldots,\mathbf{p-1}\}\), then a nonsingular elliptical curve (EC) defined as \(\mathbf{y^{2}}=\mathbf{x^{3}}+j_{1}\mathbf{x}+j_{2}\) over the finite Galois field (GF(p)) is the set \(\mathbf{E_{p}}(j_{1},j_{2})\) of the solution \((\mathsf{x},y)\in~{}\mathbf{Z_{p}}\times\mathbf{Z_{p}}\) to the congruence \(\mathbf{y^{2}}\equiv\mathbf{x^{3}}+j_{1}\mathbf{x}+j_{2}\) (mod p), where \(\mathbf{4}~{}j_{1}^{3}+27~{}j_{2}^{2}\
eq 0\) (mod \(p\)), and \(O\) is called a point at infinity or a zero point. To ensure a nonsingular solution for the equation \(\mathbf{x^{3}}+j_{1}\mathbf{x}+j_{2}=\mathbf{0}\), it is most important that \(\mathbf{4}~{}j_{1}^{3}+27~{}j_{2}^{2}\
eq\mathbf{0}\) (mod \(p\)). In contrast, \(\mathbf{4}~{}j_{1}^{3}+27~{}j_{2}^{2}=\mathbf{0}\). (mod \(p\)) indicates that the elliptical curve is singular. Let us consider two points on the elliptical curve (i.e., \(P\) = \((\mathbf{x_{p}},\ \mathbf{y_{p}})\), \(\mathbf{Q}\) = \((\mathbf{x_{Q}},\ \mathbf{y_{Q}})\in\mathbf{E_{p}}(j_{1},j_{2})\)). Then, \(\mathbf{x_{Q}}=~{}\mathbf{x_{P}}\) and \(\mathbf{y_{Q}}=-\mathbf{y_{P}}\), when \(P+Q=O\). Additionally, \(P+O=O+P=P\), for all \(\mathrm{P}\in\mathbf{E_{p}}(j_{1},j_{2})\). According to [PERSON]'s theorem, if \(\#\mathrm{E}\) denotes the number of points on \(\mathbf{E_{p}}(j_{1},j_{2})\), then it must satisfy the condition \(p+1-2~{}\sqrt{p}\leq\#\mathrm{E}\leq p+1+2\sqrt{p}\). This condition will also be understood as there is point p on \(\mathbf{E_{p}}(j_{1},j_{2})\) over \(\mathbf{Z_{p}}\), where \(\mathbf{E_{p}}(j_{1},j_{2})\) forms a commutative or an abelian group under addition modulo \(\mathbf{p}\) operation. The ECC operation explanation is as follows: ECC addition. Let \(\mathbf{P}\) and \(\mathbf{Q}\) be two points on the \(\mathbf{E_{p}}(j_{1},j_{2})\). Then, we calculate \(\mathbf{\mathrm{C}}=(\mathbf{x_{C}},\ \mathbf{y_{C}})=\mathsf{A}+\mathsf{B}\) as \(\mathbf{x_{C}}=(\mathbf{\lambda}^{2}-\mathbf{x_{P}}-\mathbf{x_{Q}})\) (mod p), \(\mathbf{y_{C}}=(\mathbf{\lambda}(\mathbf{x_{p}}-\mathbf{x_{C}})-\mathbf{y_{p}})\) (mod p), where \(\mathbf{\lambda}=\frac{\mathbf{y_{Q}}-\mathbf{y_{P}}}{\mathbf{x_{Q}}-\mathbf{x_{P}}}\) (mod p), if \(\mathrm{P}\
eq\mathsf{Q}\) or \(\mathbf{\lambda}=\frac{\mathbf{3\mathbf{x_{P}}}+\mathbf{\alpha_{1}}}{2\mathbf{y_{p}}}\) (mod p), if \(\mathrm{P}=\mathsf{Q}\). ECC multiplication (\(\times\) or). It is also called scalar multiplication, which is done by repeated additions. For example, \(\mathbf{3P}=\mathbf{P}+\mathbf{P}+\mathbf{P}\) where \(P\in\mathbf{E_{p}}(j_{1},j_{2})\). The ECC multiplication also defines two interesting properties, as follows:  
* Property 1: Elliptic Curve Discrete Logarithm Problem (ECDLP). Let \(n\) be a positive integer with two-point \(P\), \(Q\) on the curve \(\mathbf{E_{p}}(j_{1},j_{2})\), such that \(Q=n\times P\). Then, it is computationally infeasible for a big prime \(p\) to derive \(n\) in polynomial time, even if \(P\) and \(Q\) are known. Here, \(n\) is called as a scaler and \(n\times P=P+P+\ldots+P\) (\(n\) times) is known as ECC point or scalar multiplication. * Property 2: Computational Diffie Hellman Problem (CDHP). For a, b \(\in\) [1,\(n-1\)], given \(P\), \(aP\), and \(bP\), it is difficult to compute \(abP\). * A one-way cryptographic hash function. It is a deterministic one-to-one function h:[0, 1]\({}^{*}\rightarrow\) {0,1]\({}^{n}\), which produces a fixed-length \(n\)-bit output string \(\mathsf{y}\in\) {0,1]\({}^{n}\) (i.e., called hash digest) on an arbitrary input string \(x\) {0, 1]\({}^{*}\), such that \(y=h(x)\). The small change in \(x\) can give completely different unique results in \(y\) (i.e., message digest).