Skip to main content
Log in

A robust image encryption scheme based on chaotic system and elliptic curve over finite field

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

The paper proposes a robust image encryption scheme based on chaotic system and elliptic curve over a finite field. The sender and receiver agree on an elliptic curve point based on Diffie-Hellman public key sharing technique. The logistic map is used to generate a chaotic sequence with initial conditions derived from the shared elliptic curve point. The chaotic sequence is converted to integers and the point multiplication is performed with the shared elliptic curve point. The resulting elliptic curve points are converted to byte values to generate a random sequence. The image to be encrypted is scrambled using Arnold’s transform where the number of scrambling rounds is derived from the shared elliptic curve point. The scrambled image pixels value is XOR with the random sequence to generate the cipher image. Statistical, performance, security and robustness analyses show that the proposed scheme is a robust encryption scheme with the ability to resist from different types of attacks.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Ahmed AAL, Xiamu N (2013) A hybrid chaotic system and cyclic elliptic curve for image encryption. Int J Electron Commun 67:136–143

    Article  Google Scholar 

  2. Akram B, Ahmed AAE, Safya B (2016) A novel image encryption scheme based on substitution-permutation network and chaos. Signal Process 128:155–170

    Article  Google Scholar 

  3. Andrew R, Juan S, James N, Miles S, Elaine B, Stefan L, Mark L, Mark V, David B, Alan H, James D, San V (2010) A statistical test suite for random and pseudorandom number generators for cryptographic applications. National institute of standards and technology special publication 800-22 revision 1a

  4. Alfred JM, Scott AV (1993) Elliptic curve cryptosystems and their implementation. J Cryptol 6:209–224

    MathSciNet  MATH  Google Scholar 

  5. Ann HK, Neal K, Alfred M (2011) Elliptic curve cryptography: the serpentine course of a paradigm shift. J Number Theory 131:781–814

    Article  MathSciNet  MATH  Google Scholar 

  6. Brown M, Darrel H, Lopez J, Alfred M (2001) Software implementation of the NIST elliptic curves over prime fields, topics in cryptology - CT-RSA, vol 2020. Springer, Berlin Heidelberg, pp 250–265

    MATH  Google Scholar 

  7. Darrel H, Alfred M, Scott V (2004) Guide to elliptic curve cryptography. Springer, New York

    MATH  Google Scholar 

  8. Deepthi PP, Nithin VS, Sathidevi PS (2009) Implementation and analysis of stream ciphers based on the elliptic curves. Comput Electr Eng 35:300–314

    Article  MATH  Google Scholar 

  9. ECC Brainpool Standard Curves and Curve Generation v. 1.0 (2005) http://www.ecc-brainpool.org/download/Domain-parameters.pdf

  10. Hong L, Yanbing L (2014) Cryptanalysis an image encryption scheme based on hybrid chaotic system and cyclic elliptic curve. Opt Laser Technol 56:15–19

    Article  Google Scholar 

  11. Hua Z, Zhou Y, Pun CM, Philip CCL (2015) 2D sine logistic modulation map for image encryption. Inf Sci 297:80–94

    Article  Google Scholar 

  12. Lawrence CW (2008) Elliptic curves number theory and cryptography, 2nd edn. CRC Press Taylor & Francis Group, Florida, New York and United Kingdom

    MATH  Google Scholar 

  13. Li L, Ahmed AAL, Xiamu N (2012) Elliptic curve ElGamal based homomorphic image encryption scheme for sharing secret images. Signal Process 92:1069–1078

    Article  Google Scholar 

  14. Manish K, Akhlad I, Pranjal K (2016) A new RGB image encryption algorithm based on DNA encoding and elliptic curve Diffie–Hellman cryptography. Signal Process 125:187–202

    Article  Google Scholar 

  15. Mariusz D, Michal P, Roman R (2015) A new quaternion-based encryption method for DICOM images. IEEE Trans Image Process 24(11):4614–4622

    Article  MathSciNet  Google Scholar 

  16. Neal K (1987) Elliptic curve cryptosystems. Math Comput 48:203–209

    Article  MathSciNet  MATH  Google Scholar 

  17. Pollard J M (1978) Monte Carlo methods for index computation (mod p). Math Comp 32:918–924

    MathSciNet  MATH  Google Scholar 

  18. Puneet K, Shashi B (2016) Development of modified AES algorithm for data security. Optik 127:2341–2345

    Article  Google Scholar 

  19. Robert MM (1976) Simple mathematical models with very complicated dynamics. Nature 261(5560):459–467

    Article  MATH  Google Scholar 

  20. Salim MW, Nasharuddin Z (2015) Decomposition by binary codes-based speedy image encryption algorithm for multiple applications. IET Image Process 9(5):413–423

    Article  Google Scholar 

  21. Sample Images, http://sipi.usc.edu/database/

  22. Schoof R (1995) Counting points on elliptic curves over finite fields. J Theorie des Nombres de Bordeaux 7:219–254

    Article  MathSciNet  MATH  Google Scholar 

  23. Shanks D (1969) Class number, a theory of factorization and genera. Proc Symp Pure Math 20:415–440

    Article  Google Scholar 

  24. Shannon CE (1948) A mathematical theory of communication. Bell Syst Tech J 27(3):379–423

    Article  MathSciNet  MATH  Google Scholar 

  25. Taher E (1985) A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans Inf Theory 31(4):469–472

    Article  MathSciNet  MATH  Google Scholar 

  26. Ugus O, Westhoff D, Laue R, Shoufan A, Huss SA (2009) Optimized implementation of elliptic curve based additive homomorphic encryption for wireless sensor networks. arXiv:0903.3900 [cs.CR]

  27. Victor M (1986) Use of elliptic curves in cryptography. Adv Cryptol-CRYPTO’85 218:417–426

    MathSciNet  Google Scholar 

  28. Vladimir A, Avez A (1968) Ergodic problems in classical mechanics, Benjamin, New York

  29. Wang X, Teng L, Qin X (2012) A novel colour image encryption algorithm based on chaos. Signal Process 92(4):1101–1108

    Article  MathSciNet  Google Scholar 

  30. Whitfield D, Martin EH (1976) New directions in cryptography. IEEE Trans Inf Theory 22:644–654

    Article  MathSciNet  MATH  Google Scholar 

  31. Xingyuan W, Hui-li Z (2015) A color image encryption with heterogeneous bit-permutation and correlated chaos. Opt Commun 342:51–60

    Article  Google Scholar 

  32. Zeinab F, Hassan N, Ahmed M (2016) An efficient and secure cipher scheme for images confidentiality preservation. Signal Process Image Commun 42:90–108

    Article  Google Scholar 

  33. Zhou W, Alan CB, Hamid RS, Eero PS (2004) Image quality assessment: from error visibility to structural similarity. IEEE Trans Image Process 13:600–612

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dolendro Singh Laiphrakpam.

Appendices

Appendix A: Basic of elliptic curve cryptography

Given an elliptic curve equation over a finite field E p .

$$ E_{p}:y^{2} = x^{3} + ax +b \text{ mod } p $$
(22)

where,

  • a and b are constant with 4a 3 + 27b 2 ≠ 0.

  • p: prime number.

  • Coordinates (x, y) ∈ E p follows certain additive abelian properties.

1.1 Identity

A point P(x, y) on addition with a point at infinity \(\infty \) is the point itself.

$$ P + \infty = \infty + P = P \forall P \in E_{p} $$
(23)

1.2 Negatives

Negative of a point P = (x, y) is given as − P = (x, −y).

1.3 Point addition

Two points P(x 1, y 1) and Q(x 2, y 2) ∈ E p , adds up to produce a third point R(x 3, y 3) ∈ E p . Mathematically the coordinate of R is computed as:

$$ x_{3}=\{\lambda^{2} - x_{1} - x_{2}\} \text{ mod } p $$
(24)
$$ y_{3}=\{\lambda(x_{1} - x_{3}) - y_{1}\} \text{ mod } p $$
(25)

where,

$$ \lambda = \frac{y_{2} - y_{1}}{x_{2}-x_{1}} \text{ mod } p $$
(26)

If points P and Q are same, R(x 3, y 3) ∈ E p is computed as:

$$ x_{3}=\{\lambda^{2} - 2x_{1}\} \text{ mod} p $$
(27)
$$ y_{3}=\{\lambda(x_{1}-x_{3})-y_{1}\} \text{ mod } p $$
(28)

where,

$$ \lambda = \frac{3{x_{1}^{2}} + a}{2y_{1}} \text{ mod } p $$
(29)

1.4 Point at infinity

If x 1 = x 2 but y 1y 2 in point addition case, the two point is said to meet at infinity.

$$ P + Q = \infty $$
(30)

If the y coordinate is 0 in point doubling case, the point doubling operation is said to meet at infinity.

$$ P + P = \infty $$
(31)

1.5 Point multiplication

Point multiplication is computed using a series of point addition operation. Combining point addition and point doubling can help in reducing the number of computations required to obtain the point multiplication coordinate.

$$ kG = G + G + G + \dots{} k \text{ times } $$
(32)

where, G is known as seed value or generator and it is one of the coordinates that satisfies the elliptic curve equation. Point multiplication can be reduced by combining point addition and point doubling operation. To compute k G with the reduced method, the following steps are performed.

  1. 1.

    Begin \(a = k, B=\infty , C = G\).

  2. 2.

    If a is even, a = a/2, B = B and C = 2C.

  3. 3.

    If a is odd, a = a − 1, B = B + C and C = C.

  4. 4.

    If a ≠ 0, go back to Step 2.

After completion B = k G.

Appendix B: Base conversion

The value of x p m and y p m coordinate obtained after point multiplication in (10) are large value in the range of 512 bits. If these coordinates are base converted using 256 as base, a list of integers (64 at maximum) in the range of 0 to 255 will be produce. Table 15 shows the values obtained after performing base conversion on a 100 bits integer value 668393009581810503045091707312 with 256 as base.

$$668393009581810503045091707312 \,=\, \{8,\! 111,\! 177,\! 189, 53, 34, 220,\! 117,\! 162, 238,\! 164,\! 73,\! 176\}_{256}$$
Table 15 Base conversion

Each coordinate in an elliptic curve point of 512 bits can generate upto 64 values after base conversion using 256 as base. So, every L[i] generated using Logistic map can later generate 128 byte values after performing point multiplication with secretly shared elliptic curve point k G. So in Step 3 of proposed encryption scheme i ranges 1 to \(\frac {m \times m \times cc}{128}\) instead of 1 to m × m × c c. Base conversion operation helps in reducing the number of point multiplication operation.

Appendix C: PSNR and SSIM

$$ \text{PSNR}=20 \times log_{10}\frac{\text{MAX}}{\sqrt{\text{MSE}}} $$
(33)

For gray-scale image,

$$ \text{MSE}=\frac{1}{m \times n}\sum\limits_{i=0}^{m-1}\sum\limits_{j=0}^{n-1}[I(i,j)-K(i,j)]^{2} $$
(34)

For color image,

$$ \text{MSE}=\frac{1}{m \times n \times c}\sum\limits_{i=0}^{m-1}\sum\limits_{j=0}^{n-1}[I(i,j)-K(i,j)]^{2} $$
(35)

where,

  • MAX: Maximum supported pixel value.

  • MSE: Mean squared error.

  • m × n: Size of the image.

  • c: Number of color channel.

  • I(i, j): Original image pixel value at location (i, j).

  • K(i, j): Received image pixel value at location (i, j).

$$ \text{SSIM}(x,y)=\frac{(2\mu_{x} \mu_{y} + c_{1})(2\sigma_{xy} + c_{2})}{({\mu_{x}^{2}} + {\mu_{y}^{2}} + c_{1})({\sigma_{x}^{2}} + {\sigma_{y}^{2}} +c_{2})} $$
(36)

where,

  • μ x = Mean of x.

  • μ y = Mean of y.

  • σ x = Standard deviation of x.

  • σ y = Standard deviation of y.

  • σ x y = Covariance of x and y.

  • c 1 = (k 1 L)2.

  • c 2 = (k 2 L)2

  • k 1 = 0.01 and k 2 = 0.03.

  • L = 2No. of bits per pixel-1.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Laiphrakpam, D.S., Khumanthem, M.S. A robust image encryption scheme based on chaotic system and elliptic curve over finite field. Multimed Tools Appl 77, 8629–8652 (2018). https://doi.org/10.1007/s11042-017-4755-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-017-4755-1

Keywords

Navigation