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.
Similar content being viewed by others
References
Ahmed AAL, Xiamu N (2013) A hybrid chaotic system and cyclic elliptic curve for image encryption. Int J Electron Commun 67:136–143
Akram B, Ahmed AAE, Safya B (2016) A novel image encryption scheme based on substitution-permutation network and chaos. Signal Process 128:155–170
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
Alfred JM, Scott AV (1993) Elliptic curve cryptosystems and their implementation. J Cryptol 6:209–224
Ann HK, Neal K, Alfred M (2011) Elliptic curve cryptography: the serpentine course of a paradigm shift. J Number Theory 131:781–814
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
Darrel H, Alfred M, Scott V (2004) Guide to elliptic curve cryptography. Springer, New York
Deepthi PP, Nithin VS, Sathidevi PS (2009) Implementation and analysis of stream ciphers based on the elliptic curves. Comput Electr Eng 35:300–314
ECC Brainpool Standard Curves and Curve Generation v. 1.0 (2005) http://www.ecc-brainpool.org/download/Domain-parameters.pdf
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
Hua Z, Zhou Y, Pun CM, Philip CCL (2015) 2D sine logistic modulation map for image encryption. Inf Sci 297:80–94
Lawrence CW (2008) Elliptic curves number theory and cryptography, 2nd edn. CRC Press Taylor & Francis Group, Florida, New York and United Kingdom
Li L, Ahmed AAL, Xiamu N (2012) Elliptic curve ElGamal based homomorphic image encryption scheme for sharing secret images. Signal Process 92:1069–1078
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
Mariusz D, Michal P, Roman R (2015) A new quaternion-based encryption method for DICOM images. IEEE Trans Image Process 24(11):4614–4622
Neal K (1987) Elliptic curve cryptosystems. Math Comput 48:203–209
Pollard J M (1978) Monte Carlo methods for index computation (mod p). Math Comp 32:918–924
Puneet K, Shashi B (2016) Development of modified AES algorithm for data security. Optik 127:2341–2345
Robert MM (1976) Simple mathematical models with very complicated dynamics. Nature 261(5560):459–467
Salim MW, Nasharuddin Z (2015) Decomposition by binary codes-based speedy image encryption algorithm for multiple applications. IET Image Process 9(5):413–423
Sample Images, http://sipi.usc.edu/database/
Schoof R (1995) Counting points on elliptic curves over finite fields. J Theorie des Nombres de Bordeaux 7:219–254
Shanks D (1969) Class number, a theory of factorization and genera. Proc Symp Pure Math 20:415–440
Shannon CE (1948) A mathematical theory of communication. Bell Syst Tech J 27(3):379–423
Taher E (1985) A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans Inf Theory 31(4):469–472
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]
Victor M (1986) Use of elliptic curves in cryptography. Adv Cryptol-CRYPTO’85 218:417–426
Vladimir A, Avez A (1968) Ergodic problems in classical mechanics, Benjamin, New York
Wang X, Teng L, Qin X (2012) A novel colour image encryption algorithm based on chaos. Signal Process 92(4):1101–1108
Whitfield D, Martin EH (1976) New directions in cryptography. IEEE Trans Inf Theory 22:644–654
Xingyuan W, Hui-li Z (2015) A color image encryption with heterogeneous bit-permutation and correlated chaos. Opt Commun 342:51–60
Zeinab F, Hassan N, Ahmed M (2016) An efficient and secure cipher scheme for images confidentiality preservation. Signal Process Image Commun 42:90–108
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
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Basic of elliptic curve cryptography
Given an elliptic curve equation over a finite field E p .
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.
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:
where,
If points P and Q are same, R(x 3, y 3) ∈ E p is computed as:
where,
1.4 Point at infinity
If x 1 = x 2 but y 1 ≠ y 2 in point addition case, the two point is said to meet at infinity.
If the y coordinate is 0 in point doubling case, the point doubling operation is said to meet at infinity.
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.
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.
Begin \(a = k, B=\infty , C = G\).
-
2.
If a is even, a = a/2, B = B and C = 2C.
-
3.
If a is odd, a = a − 1, B = B + C and C = C.
-
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.
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
For gray-scale image,
For color image,
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).
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-017-4755-1