1 Introduction

The main objective of this work is to provide high security for transmission of color images in an open network. Due to proliferation of electronic gadgets (smartphones, tablets, laptop, computers, hard-drives, and e-drives) for transferring important information in the form of images through networks and the interest of an adversary to corrupt the transmitted images, it is certain that images are prone to attacks. Images are frequently used in diverse areas such as military, engineering services, scientific experiments, medical imaging, advertising, online education and training etc.. Networks and communication technologies provide several different modes for transferring images. But, protecting images from an adversary has become a challenge. Therefore, the security of image transmission has become an important agenda in the digital world.

Over the last few years, deoxyribonucleic acid (DNA) coding based cryptography algorithms for image encryption have been proposed by various authors such as (see [3, 5,6,7,8, 13, 25, 27, 30, 32]). Recently, RGB image encryption algorithms are presented in [6]. This utilizes a diffusion process involving a chaotic map. DNA and elliptic curve Diffie–Hellman cryptography have also been used to encrypt RGB images in [7]. The complimentary rule of DNA is used to encrypt images (see [5, 7, 32]). Image encryption using DNA and one-time pad is also proposed in [3]. This method requires biological experiments and is computationally demanding. DNA sequences are created using four basic nucleic acids viz. Adenine (A), Cytosine (C), Guanine (G), Thymine (T). A and T; C and G are compliments of each other. The total number of possible combinations is 4! = 24 out of which only 8 follow the complimentary rule [3].

The weakness of the DNA encoding is discussed in [19]. Cryptography with DNA strands cannot be implemented for frequent use is shown in [3] and it is concerned with cryptographic one time pads, substitution and XOR operations in DNA encoded domain. Attacks on image encryption in DNA encoded domains are discussed in [26]. In [13], the authors have mentioned that the proposed scheme has security flaws (see [9] ). Likewise, [29] has studied the security issues and confirmed that the method proposed in [28] can be broken easily. In DNA encoding, the 8-bit pixel values are converted into four 2-bit DNA sequences. However, the DNA based cryptography allows only eight DNA complementary base pairings which diminishes the number of operations in general theory of 2-bit binary operations (i.e., addition, subtraction, etc.).

The main object of this paper is to propose an efficient image encryption algorithm using generalized Vigenére-type table over symmetric group \(S_{n}\) of a finite set of n symbols associated with virtual planet domain, which provides a huge key space, fast encryption technique and high level of security. A new VPD is constructed with a view to offering fine interlacing of pixels in each (red, green, and blue) layer of RGB image and become immune to common attacks. Motivated by the DNA cryptography and to overcome the above drawbacks of DNA and its eight complementary rules —we constructed VPD with 8! = 40320 possible rules to assign eight virtual planets and enhance the size of key space and its security. Further, VPD encoding is designed in such a way that, it is sensitive to the location of each planets and creates a new key space. Randomness of the proposed key space has been ascertained by using NIST statistical test suite. The results are demonstrated in the Appendix. Thus, the proposed algorithm works well to encrypt images including sparse and completely black too.

The algorithm proposed in [4], involves DNA diffusion and scrambling for image in DNA encoded domain. In order to provide high security, a new algorithm is proposed where diffusion and scrambling over VPD domain is carried out. Further proposed algorithm is designed in such a way that it interlace R, G and, B components provides high security. However, the algorithm proposed in [4] and [17] mixes R, G and B components only in DNA add operation step and DNA addition respectively. Furthermore, in [1], the same diffusion and scrambling steps are introduced in R, G and B components individually to get the encrypted image. The proposed algorithms demonstrates clearly the importance of intermixing between R, G and B components along with effective diffusion process. Thus, the proposed algorithm offers good scrambling and diffusion in order to achieve high security.

1.1 The rest of this paper is organized as follows

In Section 2 the key generation procedure using generalized Vigenére-type table over symmetric group \(S_{n}\) of a finite set of n symbols is described in brief. In Section 3, the method used in this paper for information encoding using planetary domain scheme is introduced. Encryption algorithm is explained in Section 4. Then computer simulations are carried out to demonstrate and verify the procedure on some standard color images and performance of the proposed algorithm, security analysis are addressed in Section 5. Efficiency of our proposed encoding scheme is illustrated in Section 6. In Section 7, comparison of the proposed procedure with the methods given in [2, 4, 6, 7, 9, 15, 20, 23, 24, 31] has been done. In Section 8 conclusion drawn from the present work is mentioned.

2 Generalized Vigenére-type table over Symmetric group S n and random key generation procedure

In this section, a new method to generate random key space using generalized Vigenére-type table over symmetric group \(S_{n}\) (which prevents an adversary from using a brute force attack to find a key) is proposed. The generalized Vigenére-type table has been obtained by using elements of the symmetric group \(S_{n}\). Since there are n! elements in \(S_{n}\), so each subsequent column of the generalized Vigenére-type table is filled by an element of \(S_{n}\) selected at random without replacement manner. The generalized Vigenére-type table is designed large enough to make such a search computationally infeasible. A random sequence using generalized Vigenére-type table is generated and encryption/decryption keys are obtained. The generalized Vigenére-type table over symmetric group \(S_{n}\) is of size \(n \times q\), where \(1\leq q \leq n!\). Thus the total number of options to fill the generalized Vigenére-type table without repeating of elements is \((n!) \times (n!-1) \times (n!-2) \times {\dots } \times (n!-q + 1)\) ways.

For instance, if one takes \(n = 3\), and \(q = 3\) then one gets the symmetric group \(S_{3}\) (i.e. symmetric group of equilateral triangle), and the Table 1 is created using the elements of \(S_{3}\).

Table 1 Generalized Vigenére-type table of size 3 × 3 on S3 group

Similarly, if one takes \(n = 26\), \(q = 26\) and use the first 26 elements from \(S_{26}\), (say \(s_{26}^{1}\), \(s_{26}^{2}\), \(s_{26}^{3}\)\(s_{26}^{26}\)) then the table columns from 1 to q can be filled with \(s_{26}^{1}\), \(s_{26}^{2}\), \(s_{26}^{3}\) and \(s_{26}^{26}\) receptively. This gives a Vigenére table which is well known table in the literature as shown in the Table 2, where symbols are used as alphabets.

Table 2 Generalized Vigenére-type table of size 26 × 26 on S26 group

Thus in general, the generalized Vigenére-type table size \(n \times q\) on \(S_{n}\) group is depicted in Table 3. This is used to generate a random sequence.

Table 3 Generalized Vigenére-type table of size \(n \times q\) on Sn group

2.1 Generating key sequence using generalized Vigenére-type table

In this paper, three sequences (Fig. 1) of random numbers, say \(P = \{P_{i}\}, Q = \{Q_{i}\}\) and \(R=\{R_{i}\}\) each of length \(N \times M \times 8\) (where the size of original image to be encrypted is \(N \times M \times 3\)) are generated. The sequences will be obtained using the following procedure:

  1. 1.

    Employ the generalized Vigenére-type table on \(S_{n}\) group (as described in Table 3) of size \(n \times q\).

  2. 2.

    Take three seeds \(seed_{1}\), \(seed_{2}\), and \(seed_{3}\) such that the value of each seeds is less than the minimum of n and q

    $$\begin{array}{@{}rcl@{}} \left. \begin{array}{ll} seed_{1}= HASH(R_{sum})\pmod{min(n,q)}, \\ seed_{2}= HASH(G_{sum})\pmod{min(n,q)}, \\ seed_{3}= HASH(B_{sum})\pmod{min(n,q)} \end{array} \right\} \end{array} $$
    (1)

    for the purpose of generating random key sequence, here \(R_{sum}\), \(G_{sum}\) and \(B_{sum}\) are sum of all pixels of R, G and B layers respectively and HASH represents hash function.

  3. 3.

    Let \(P_{1}=seed_{1}\), \(Q_{1}=seed_{2}\) and \(R_{1}=seed_{3}\). The complete sequence \(P = \{P_{i}\}, Q = \{Q_{i}\}\) and \(R=\{R_{i}\}\) for \(i = 2,3, \dots , (N \times M \times 8)\) can be generated by the following procedure:

    $$\begin{array}{@{}rcl@{}} \left. \begin{array}{ll} P_{i} = GVTSG(P_{i-1}, Q_{i-1}),\\ Q_{i} = GVTSG(Q_{i-1}, R_{i-1}),\\ R_{i} = GVTSG(P_{i-1}, R_{i-1}) \end{array} \right\} \end{array} $$
    (2)

    The function \(GVTSG(x,y)\) takes the entry from \(x^{th}\) row and \(y^{th}\) column in the generalized Vigenére-type Table 3.

  4. 4.

    Generation of sequence \(L = \{L_{i}\}\): For \(i = 1,2,3, \dots , (N \times M \times 8)\),

    $$\begin{array}{@{}rcl@{}} L_{i} = P_{i-1} \oplus Q_{i-1} \oplus R_{i-1}, \end{array} $$
    (3)

    here ⊕ represents bitwise XOR-operation.

  5. 5.

    Generation of sequence RK and CK: Consider the sequence {L1, \(L_{2}\), \(L_{3}\), …, \(L_{n}\)} and sort this sequence, then mark the previous positions (index) after sorting, as our new key is RK. Now take the set {Ln+ 1, \(L_{n + 2}\), \(L_{n + 3}\), …, \(L_{n+m*8}\)} and sort. Mark the previous positions (index) after sorting, as our new key is CK.

  6. 6.

    Generation of sequence \(T = \{T_{i}\}\) and \(U=\{U_{i}\}\): For \(i = 1,2,3, \dots , (N \times M \times 8)\):

    $$\begin{array}{@{}rcl@{}} \left. \begin{array}{ll} T_{i} = L_{i} \pmod 8,\\ U_{i} = P_{i} \pmod 8 \end{array} \right\} \end{array} $$
    (4)
    Fig. 1
    figure 1

    Symmetric group of equilateral triangle

    Reshape T and U into the size of \(N \times 8M\).

  7. 7.

    Generation of sequence \(V= \{V_{i}\}\): For \(i = 1,2,3, \dots , (N \times M \times 8)\),

    $$\begin{array}{@{}rcl@{}} V_{i} = Q_{i-1} \oplus R_{i-1} \end{array} $$
    (5)

    Express \(V=V_{i}\) as a matrix of size \(N \times 8M\).

Figure 2a, b, c, d, e and f are plotted for different orders of seeds and generalized Vigenére-type Tables. Figure 2f depicts that all 3 sequences (P(red), Q(green) and \(R(blue)\)) coincides only, if all seeds and generalized Vigenére-type table are same. Hence, Fig. 2 reveals that the generated sequences \(P, Q\) and R are very sensitive with respect to seeds and generalized Vigenére-type table. Randomness of the sequences P, Q, and R has been proved by using NIST statistical test suite and results are presented in the Appendix.

Fig. 2
figure 2

Sequence plots for P(red), Q(green) and R(blue): a (seed1, seed2, seed3) = (235,235,236), b (seed1, seed2, seed3) = (235,236,236), c (seed1, seed2, seed3) = (235,235,236) with table changed, d (seed1, seed2, seed3) = (235,236,236) with table changed, e (seed1, seed2, seed3) = (235,235,235) with table changed, f (seed1, seed2, seed3) = (235,235,235)

3 Rules of virtual planet encoding scheme

This section provides a brief explanation (divided into six Sub-Sections) about steps involved in encryption algorithm.

3.1 Virtual planetary encoding scheme

In view of the limitations of DNA coding (such as, eight complementary rules, biological experiments and extreme computation, etc.), a new idea has been introduced to construct VPD encoding scheme by using eight virtual planets from the virtual solar system: namely, Mercury (Me), Venus (Ve), Earth (Ea), Mars (Ma), Jupiter (Ju), Saturn (Sa), Uranus (Ur) and Neptune (Ne). In this encoding scheme, each planet will be represented by a particular 3-bit binary number (since, with three bits, 8 different 3-bit binary numbers are produced, therefore every 3-bit binary number can be uniquely represented by a certain planet) as shown in Table 4.

Table 4 12 rules out of 40320 rules for virtual planets and their respective 3-bit binary number which will be used for converting image from binary to VPD

3.1.1 40320-rules for virtual planets

Inspired by the work in [10], one can assign 40320-rules to eight virtual planets, and simulate the position vectors of all planets for 100 years. In order to simulate the position vectors, we have used Newton’s law of gravitation, where each planet is represented as a mass point as shown in (6). This makes it possible to calculate the force of each planet. “The force on each planet is simply the sum of the gravitational forces from the sun and all of the other planets in the solar system”. In vector notation, we have

$$\begin{array}{@{}rcl@{}} \vec{F_{ij}}= m_{i}\frac{d^{2}r_{i}}{dt^{2}} = Gm_{i} \sum\limits_{j \neq i}m_{j} \frac{r_{j} -r_{i}}{| r_{i} - r_{j} |^{3}}, \end{array} $$
(6)

where G, m, and r are universal constant of gravitation, mass of each planets, and their positions in space respectively.

Newton’s second law states that, \(\vec {F}\) applied to object mass m induce the object to move with acceleration, \(\vec {a}\); \(\vec {F} = m \vec {a}\). Hence, to solve for the motion of each object (i.e., find the positions \(r_{i}=(x_{i},y_{i},z_{i})\) and \(r_{j}=(x_{j},y_{j},z_{j})\) with respect to time t), we have

$$\begin{array}{@{}rcl@{}} Fx_{ij} = m_{i} \frac{d^{2}x_{i}}{dt^{2}},\quad Fy_{ij} = m_{i} \frac{d^{2}y_{i}}{dt^{2}},\quad Fz_{ij} = m_{i} \frac{d^{2}z_{i}}{dt^{2}}. \end{array} $$
(7)

Equation (7) has been solved for each dimensions and the position vectors for all planets are computed. An array \(Y:=[Sun \ Me_{{r_{i}^{t}}} \ Ve_{{r_{i}^{t}}} \ Ea_{{r_{i}^{t}}} \ Ma_{{r_{i}^{t}}} \ Ju_{{r_{i}^{t}}} \ Sa_{{r_{i}^{t}}} \ Ur_{{r_{i}^{t}}} \ Ne_{{r_{i}^{t}}}]\) of size \(1\times 9\) has been defined where \(x_{{r_{i}^{t}}}\) is position vector of planet x at time t and calculated the following eight distances in meter (m) at time t as shown in Fig. 3, and represented by a set \(d_{t}(x_{{r_{i}^{t}}},y_{{r_{i}^{t}}}):=\{d_{t}(Sun,Me_{{r_{i}^{t}}}), d_{t}(Me_{{r_{i}^{t}}},Ve_{{r_{i}^{t}}}), d_{t}(Ve_{{r_{i}^{t}}},Ea_{{r_{i}^{t}}}), d_{t}(Ea_{{r_{i}^{t}}},Ma_{{r_{i}^{t}}}), d_{t}(Ma_{{r_{i}^{t}}},Ju_{{r_{i}^{t}}})\), \(d_{t}(Ju_{{r_{i}^{t}}}\), \(Sa_{{r_{i}^{t}}})\), \(d_{t}(Sa_{{r_{i}^{t}}},Ur_{{r_{i}^{t}}})\), \(d_{t}(Ur_{{r_{i}^{t}}},Ne_{{r_{i}^{t}}})\}\). Then modulo k over of each distance is represented as \(d_{t}(x_{{r_{i}^{t}}},y_{{r_{i}^{t}}})\) and sort them in an ascending order. Thereafter, allocate each planet (in an increasing order) to the 3-bit binary number (in an ascending order) as shown in Table 5. For instance, at time \(t = 351311h \ 04m\) these distances are taken and rule-21 has been achieved (shown in Table 4 and plotted in Fig. 8).

Fig. 3
figure 3

Original solar system with distance between planets in meter (m)

Table 5 Assignment of the rule-21

One can choose any modulo value for k which lies between 200 and \(10^{10}\) (as the minimum distance between any planets is at least in terms of \(10^{10}\)). At different times t all 40320 rules (for 100 years) in VPD can be achieved by the above process. To show randomness on distance modulo k, the distance of each planet over a hundred year period with 1.752 hours gap have been simulated and 5,00,000 points have been generated. Finally, correlation between all planets are presented in Table 6.

Table 6 Correlation coefficient over distance of the eight virtual planets for 5,00,000 points over 100 years

4 Proposed algorithm

The proposed encryption and decryption procedure are given below:

4.1 Encryption procedure

The original RGB image encrypted successfully by using planetary encoding, virtual planet diffusion, virtual planet transformation, permutation shuffling, original planet transformation and planet decoding. Each step is described in detail as follows:

4.1.1 Encoding original image

Every pixel of 8-bit original image I can be represented as a 8-bit binary number. In RGB image there are 3 layers of matrices (i.e., red layer, green layer and blue layer). If we choose (Fig. 4) the first pixel of every matrix (same as, the pixel at location (1,1)) then we will get 3 pixel values. Converting each of these three 3 pixels to their 8-bit binary equivalent gives a total of 24-bits. Since each planet corresponds to a 3-bit binary number, some unique pattern of eight planets will be able to represent these 24 bits (as shown in Fig. 5: for example, let the first pixel value at red, green and blue matrices be 165, 240, 105, respectively. Convert each of these numbers to their 8-bit binary equivalent numbers. Now we can choose the first bit from every row. In this example (see Fig.5), it is 110. Now one can refer to Table 4 (Rule-21) and look for a planet corresponding to 110. The required planet is Mercury (Me). Likewise, the second planet will be Jupiter (Ju) which is corresponding to 011. Continuing in the same manner, one can get a total of 8 planets, which uniquely represents these 3 set of pixel values.

Fig. 4
figure 4

Distance plots for the eight virtual planets of 12 rules given in the Table 4 over modulo 256 for 100 years: a Rule-21 at time t = 351311h 04m, b Rule-20075 at time t = 139292h 76m, c Rule-18936 at time t = 209372h 76m, d Rule-37241 at time t = 6526h 20m, e Rule-26765 at time t = 245h 28m, f Rule-10559 at time t = 125776h 08m, g Rule-37604 at time t = 489692h 76m, h Rule-17256 at time t = 16740h 36m, i Rule-19188 at time t = 584151h 84m, j Rule-34438 at time t = 339958h 08m, k Rule-20462 at time t = 519906h 00m, l Rule-4625 at time t = 464577h 84m

Fig. 5
figure 5

RGB pixel encoding in VPD using the Rule-21 as given in the Table 4

Proceeding further in this manner, one observes that every set of three pixels corresponding to 3 matrices, that can be encoded as a pattern of eight virtual planets from the virtual solar system. After encoding the entire image, a 3-dimensional matrix (I) of size \(N\times M \times 3\) will be converted to a 2-dimensional matrix (E1) of size \(r \times c\) where \(r=N\) and \(c=M \times 8\)) as shown in Fig. 6.

Fig. 6
figure 6

RGB image of size 4 × 4 × 3 encoded into a matrix of size 4 × 32 in VPD

4.1.2 Virtual planet diffusion

Virtual planet diffusion is performed by using XOR operation (like, usual bitwise-XOR between the binary bits represented by each virtual planet) among different planets (for instance, to diffuse Earth (Ea) and Jupiter (Ju), where Earth corresponds to 001 and Jupiter corresponds to 011, then XOR-ing of these two yield 010 which corresponds to the planet Mars (Ma), so diffusing Earth and Jupiter gives Mars). List of all possible combinations of diffusion between virtual planets are shown in Table 7 by using Rule-21. The proposed virtual planet diffusion provides more confusion to the adversary, because of 40320 possibilities to do XOR operation.

Table 7 A comprehensive table depicting XOR operation between each virtual planet using the Rule-21 as shown in Table 4

Virtual planet diffusion is introduced to diffuse the image in the encoded domain. To do this, one can select the sequence U (as generated in step 6 of subsection 2.1) and \(E^{1}_{ij}\) are the virtual planets in encoded image \(E^{1}\) obtained in step 1 where \(i = 1,2,3,{\dots } r\) and \(j = 1,2,3,{\dots } c\). The transformed \(E^{2}_{ij}\) can be obtained by using the following diffusion operation defined by (8) given below:

$$\begin{array}{@{}rcl@{}} E^{2}_{ij} = E^{1}_{ij} \oplus U_{ij}, \end{array} $$
(8)

where \(U_{ij}\) is the \((i,j)^{th}\) element of U in VPD domain (i.e.,if \(U_{ij} = 7\), then VPD form of \(U_{ij}\) is equal to \(Uranus (Ur)\) as per rule-21 in Table 4); The symbol \(\oplus \) denotes the diffusion between two planets. The diffusion operation is shown in Fig. 7 produces the diffused image \(E^{2}\).

Fig. 7
figure 7

Representation of virtual planet diffusion process between two Planets

4.1.3 Virtual planet transform

For a given number \(T_{ij}\) (where \( T_{ij}= 0,1,2, \dots , 7\)) and for a given virtual planet, one can transform a planet to some other planet by taking it \(T_{ij}\) positions ahead of this planet as shown in Fig. 8. i.e. Observe from the Fig. 9, from Mercury (Me) take \(T_{ij}= 3\) positions ahead and replace by Earth (Ea). Now all the eight virtual planets in \(E^{2}\) will be transformed by the above method. Repeat it for all the (r × c) planets in \(E^{2}\) provides \(E^{3}\). This process yields robust support to the proposed algorithm against attacks (such as, plain-text; chosen cipher-text, etc.).

Fig. 8
figure 8

Clockwise rotation of virtual planets which will be used during virtual planet transform

Fig. 9
figure 9

Substation of virtual planet transformation process on a single Cell

4.1.4 Permutation shuffling

A new permutation shuffling has been introduced over \(E^{3}\) (obtained in step 3) using permutation keys (RK and CK generated in step 5 of Section 2). Permutation shuffling offers sensitivity to permutation keys and can be viewed in Fig. 12f and g. The permutation shuffled image \(E^{4}\) will be obtained by the following process: Let the output image after permutation shuffling be \(E^{4}\), then we have

$$\begin{array}{@{}rcl@{}} E^{4}(RK(i),CK(j)) := E^{3}(i,j). \end{array} $$
(9)

Similarly, decryption process is reverse way of (9) and can be seen in (10):

$$\begin{array}{@{}rcl@{}} E^{3}(i,j) := E^{4}(RK(i),CK(j). \end{array} $$
(10)

4.1.5 Original planetary transform

Consider the same order of planets in Original Planetary Domain (OPD) = \( \{Mercury (Me), \\ Venus (Ve), Earth (Ea), Mars (Ma), Jupiter (Ju)\), \(Saturn (Sa), Uranus (Ur), Neptune (Ne)\}\) as shown in Fig. 3. The transformation from VPD to OPD can be obtained in the following way,

$$\begin{array}{@{}rcl@{}} K = (J+KEY)\pmod 8 + 1, \hspace{1cm} KEY = V, \end{array} $$
(11)

where J and K represent position of planets in OPD. Here the \(J^{th}\) planet in VPD will be replaced by \(K^{th}\) planet in OPD over matrix \(E^{4}\) (obtained after step 4) produces the output matrix \(E^{5}\). Here VPD order follows the order of Rule-21 in Table 4 which is VPD = \(\{ Neptune (Ne), Earth (Ea), Mars (Ma), Jupiter (Ju), Venus (Ve)\), \(Saturn (Sa)\), \(Mercury (Me)\), \(Uranus (Ur)\} \).

The inverse can be found as follows:

$$\begin{array}{@{}rcl@{}} J = (K-1-KEY)\pmod 8, \hspace{1cm} KEY = V. \end{array} $$
(12)

The main reason for introducing the original planetary transform is to connect VPD to Original Solar System (OSS) and provide randomness to the encoding scheme. This process transforms the planets by using original planet order from the solar system bringing connection with OPD.

4.1.6 Virtual planet decoding

Decode \(E^{5}\) results in encrypted image of size \(N \times M \times 3\). Here the number 3 is used to take into account that the three planes. Flowchart of encryption algorithm is given in Fig. 10.

Fig. 10
figure 10

Flowchart of the encryption process

4.2 Decryption procedure

Similarly, the decryption can be performed by taking inverse operation of the encryption process.

4.3 Mathematical model

A mathematical model has been incorporated to justify the proposed algorithm in terms of a new planet diffusion scheme. Further, planet encoding and permutation shuffling offers better security as explained below:

  1. (i)

    Encoding: As discussed in key space analysis there are \(8! = 40320\) rules. Change in the rule will make, the pixel values to be changed. Let us take, rule-21 used in encryption. Let us consider adversary have chosen (guessed) the rule in which only first two planets (Ne-000, Ea-001) are interchanged as(Ne-001, Ea-000) remaining all same. Let us say encrypted image is encoded during decryption results in pixel values changed wherever the virtual planets \(Ne-001\) and \(Ea-000\) are occurring. Our encoding scheme itself offers security as correct rule should be chosen for decryption (Clearly depicted in key change analysis).

  2. (ii)

    Virtual planet diffusion: This step is executed with the help of Table 7, with key U generated in 2.1 and rule chosen. Before analysis, a look at Table 7, every column and row of table is permutation of virtual planets chosen. Out of 40320 permutations only eight are selected and filled in the Table 7. So the correct rule should be chosen to make this table. And key U (generated in the step VI of Section 2.1) plays important role to decrypt image.

    Analysis: An adversary would require a correct rule out of 40320 rules and key U to break this transformation. And Table 7 is resembling as substitution box along with key U.

  3. (iii)

    Virtual planet transform: Let us take virtual planet x is \(Ne-001\) and take \(t\in T\) is 3. After virtual planet transform x becomes y which is \(Ju-011\).

    figure f

    Suppose an adversary try to break this step by guessing the key \(t = 4\). From y (Ju − 011) going back will results in \(Ur-111\). So \(Ne-000\) will be replaced by \(Ur-111\) and it results in corresponding pixel change during decryption.

    And rule-21 plays a major role during this transition. Change of rule will destroy total structure during this transformation.

  4. (iv)

    Permutation shuffling: We demonstrate this step by considering a matrix A given by

    $$A= \left[\begin{array}{lll} Sa & Ju & Me \\ Ve & Ea & Ne \\ Ma & Ur & Ve \end{array}\right] = \left[\begin{array}{lll} x_{11} & x_{12} & x_{13} \\ x_{21} & x_{22} & x_{23} \\ x_{31} & x_{32} & x_{33} \end{array}\right], RK = \{2,1,3\}, \hspace{0.3cm} CK = \{3,1,2\}. $$

    Now, one can form a permutation matrix B with the help of keys \(RK(i)\) and \(CK(j)\), \(\ \ \forall i = 1,2,3, \hspace {0.3cm}\) and \(\forall j = 1,2,3\),

    $$B = \left[\begin{array}{lll} (2,3) & (2,1)& (2,2) \\ (1,3) & (1,1) & (1,2) \\ (3,3) & (3,1) & (3,2) \end{array}\right]. $$

    Shuffle the position of each entry of matrix A by using permutation matrix B to get \(A^{\prime }\)

    $$A^{\prime}= \left[\begin{array}{lll} x_{23} & x_{21} & x_{22} \\ x_{13} & x_{11} & x_{12} \\ x_{33} & x_{31} & x_{32} \end{array}\right] = \left[\begin{array}{lll} Ne & Ve & Ea \\ Me & Sa & Ju \\ Ve & Ma & Ur \end{array}\right]. $$

    This resembles random shuffling over virtual planets and shuffles as well as change each pixel value in encoded domain.

  5. (v)

    The above analysis in step 3 can be performed by taking virtual planets in the original planet order.

    figure g
  6. (vi)

    Virtual planet decoding: The similar analysis suits is used here as explained in step 1.

5 Simulated results, performance and security analysis

Here standard images of size \(512\times 512\times 3\) are considered (as shown in Fig. 11). The original images (Baboon 11a, Lena 11d, Fruits 11g, and Peppers 11j) are encrypted and shown in the Fig. 11b, e, h and k respectively. Correctly decrypted images using the same set of keys are shown in Fig. 11c, f, i and l respectively.

Fig. 11
figure 11

Encryption and decryption Results using Rule-21 (given in Table 4, Vigenére-type table and three seeds P1 = Q1 = R1 = 235) : a original Baboon image, b encrypted Baboon image, c correctly decrypted Baboon image, d original Lena image, e encrypted Lena image, f correctly decrypted Lena image, g original Peppers image, h encrypted Peppers image, i correctly decrypted Peppers image, j original fruits image, k encrypted fruits image, and l correctly decrypted fruits image

An algorithm is efficient, if it resists all kinds of attacks (such as, cryptanalytic, statistical, cipher text, differential, brute force and entropy attacks). We have performed key space sensitivity, statistical analysis and differential attack to prove robustness of the proposed algorithm.

5.1 Formula for key space

  1. 1.

    There are 40320 planet rules, so choice of incorrect planet rule during decryption will give the wrong image.

  2. 2.

    During encryption a generalized Vigenére-type table is employed to generate keys and the total possible options to fill generalized Vigenére-type table over \(s_{n}\) of size \(n\times q\) is \((n!) \times (n!-1) \times (n!-2) \times {\dots } \times (n!-q + 1)\).

  3. 3.

    Finally 3 seeds for encryption is used. The maximum value of each seed will be up to \(\min {(n,q)}\), for 3 seeds the total number of possibility is \(\left (\min {(n,q)}\right )^{3}\).

So the size of the key space is \(40320 \times (n!) \times (n!-1) \times (n!-2) \times {\dots } \times (n!-q + 1) \times \left (\min (n,q)\right )^{3}\) which is good enough to resist brute force attack. Thus, the proposed algorithm can be apt for security purpose on handling of big data.

5.2 Key sensitivity analysis

High key sensitivity is required for secure image crypto-system, so that the original image can not be decrypted correctly, even though there is a marginal difference in the correct key. Using these keys, Fig. 11b is decrypted, but original image can never be retrieved as shown in Fig. 12a, b, c, d, e, f, g and h. Even for small changes in encoding scheme the decrypted image changes drastically. Hence, from the above key space analysis, one can infer that the proposed algorithm is highly key sensitive.

Fig. 12
figure 12

Key sensitivity results: a incorrectly decrypted image using wrong seeds used for key generation in step 3 of Section 2.1 (P1 = 235, Q1 = 235, R1 + 1 = 236), b incorrectly decrypted image using wrong seeds used for key generation in step 3 of Section 2.1 (P1 + 1 = 236, Q1 = 235, R1 = 235), c incorrectly decrypted image using wrong seeds used for key generation in step 3 of Section 2.1 (P1 = 235, Q1 − 1 = 234, R1 = 235), d incorrectly decrypted image using extended vigenére table by columns 1 and 235 interchanged, e incorrectly decrypted image using extended vigenére table by columns 1 and 236 interchanged, f incorrectly decrypted image using extended vigenére table by columns 1 and 234 interchanged, g incorrectly decrypted image extended vigenére table by columns 235 and 236 interchanged, h incorrectly decrypted image with shifting the position of planets order (Ne-001 and Ea-000) while original order is (Ne-000 and Ea-001) as Rule-21. i correctly decrypted image with all correct keys

5.3 Statistical analysis

Statistical analysis on the proposed algorithm, demonstrates its superior confusion and diffusion properties that can strongly resist statistical attack. This is done by testing the distribution of pixels of the cipher-images and study of correlation among the adjacent pixels in the cipher-image. The details of statistical analysis are provided in the following Sub-Sections.

5.3.1 Histograms of the encrypted images

Histogram is a graphical representation of the pixel intensity distribution of an image. Therefore, histogram provides a clear illustration of how the pixels in an image are distributed by plotting the number of pixels at each intensity level. Histograms of the red, green and blue components of original images (Fig. 11a and d) are shown in Fig. 13a, d, g, j, m and p respectively. And histograms of the red, green and blue components of cipher-image (Fig. 11b and e) are shown in Fig. 13b, e, h, k, n and q respectively. Observe that the histograms of cipher-image is almost constant for verity of images. The interesting fact about the proposed algorithm is that, it works well for any kind of image. Therefore, the proposed algorithm will work perfectly for variety of images.

Fig. 13
figure 13

Histogram analysis: a original Baboon red component, b encrypted Baboon red component, c decrypted Baboon red component, d original Baboon green component, e encrypted Baboon green component, f decrypted Baboon green component, g original Baboon blue component, h encrypted Baboon blue component, i decrypted Baboon blue component, j original Lena red component, k encrypted Lena red component, l decrypted Lena red component, m original Lena green component, n encrypted Lena green component, o decrypted Lena green component, p original Lena blue component, q encrypted Lena blue component, r decrypted Lena blue component

5.3.2 The mean square error and peak signal-to-noise ratio

The Mean Square Error (MSE) between the original and encrypted/decrypted image is calculated by the following formula:

$$\begin{array}{@{}rcl@{}} MSE = \frac{1}{N\times M}\sum\limits_{i = 1}^{N}\sum\limits_{j = 1}^{M} [f(i,j)- f_{o}(i,j)]^{2}, \end{array} $$
(13)

where f and \(f_{o}\) are the intensity functions of encrypted/decrypted and original images and \((i,j)\) the position of pixels. The zero values of MSE between original and decrypted image (Table 8), demonstrates that the original image is unchanged by the proposed algorithm.

Table 8 MSE-PSNR between original and decrypted image of Baboon, Lena, Fruits and peppers

Peak Signal-to-Noise Ratio (PSNR) between the original and decrypted image is calculated by the following formula:

$$\begin{array}{@{}rcl@{}} PSNR = 20\times log\frac{MA{X_{I}^{2}}}{\sqrt{MSE}}, \end{array} $$
(14)

where \(MAX_{I}\) represents the maximum intensity value presented in the image. The PSNR value between original and encrypted images should be sufficiently small to ensure the originality between original and encrypted images. For the proposed algorithm, MSE and PSNR between original and decrypted images are turns out to be always zero and infinity respectively and shown in the Table 8. Hence, the values presented in the Table 8 confirm that the proposed algorithm renders full information without any loss in the original image. Table 9 shows that the MSE and PSNR between original and encrypted images are depicting encrypted image pixels are distributed randomly.

Table 9 Mean square error and signal to noise power ratio between original and encrypted images of Baboon, Lena, Fruits and Peppers respectively

5.3.3 Correlation analysis

Correlation between two adjacent pixels can be tested in three ways, by taking two vertically adjacent pixels or by taking two horizontally adjacent pixels or by taking two diagonally adjacent pixels of the encrypted image as shown in Tables 1011 and 12. One can randomly select 10,000 pairs of adjacent pixels (for horizontal and vertical) and 1,000 pairs of adjacent pixels (for diagonal) then calculate their correlation coefficient; \(r_{xy}\) of each adjacent pair is calculated for the plain and ciphered images using the following formulas:

$$\begin{array}{@{}rcl@{}} \left. \begin{array}{lllll} r_{xy}=\frac{cov(x,y)}{\sqrt{D_{x}} \sqrt{D_{y}}},\\ cov(x,y)=E\left[(x-E(x))(y-E(y))\right],\\ E(x)=\frac{1}{L} {\sum}_{i = 1}^{L}x_{i},\\ D_{x}=\frac{1}{L}{\sum}_{i = 1}^{L}(x_{i}-E(x))^{2}, \end{array} \right\} \end{array} $$
(15)

where x and y are values of two adjacent pixels in each channel, and L denotes the total number of samples taken. This phase essentially shows that after encryption the correlation among the image pixels is broken whereas decryption will bind the pixels with the original correlation. The correlation plots are presented in Figs. 14 and 15.

Table 10 Horizontal correlation of Baboon, Lena, Peppers and Fruits images over 10,000 points
Table 11 Vertical correlation of Baboon, Lena, Peppers and Fruits images over 10,000 points
Table 12 Diagonal correlation of Baboon, Lena, Peppers and Fruits images over 1,000 points
Fig. 14
figure 14

Correlation analysis for Baboon image: a horizontal correlation of original red component, b horizontal correlation of original green component, c horizontal correlation of original blue component, d horizontal correlation of encrypted red component, e horizontal correlation of encrypted green component, f horizontal correlation of encrypted blue component, (g) vertical correlation of original red component, h vertical correlation of original green component, i vertical correlation of original blue component, j vertical correlation of encrypted red component, k vertical correlation of encrypted green component, l vertical correlation of encrypted blue component, m diagonal correlation of original red component, n diagonal correlation of original green component, o diagonal correlation of original blue component, p diagonal correlation of encrypted red component, q diagonal correlation of encrypted green component, r diagonal correlation of encrypted blue component

Fig. 15
figure 15

Correlation analysis for Lena image: a horizontal correlation of original red component, b horizontal correlation of original green component, c horizontal correlation of original blue component, d horizontal correlation of encrypted red component, e horizontal correlation of encrypted green component, f horizontal correlation of encrypted blue component, g vertical correlation of original red component, h vertical correlation of original green component, i vertical correlation of original blue component, j vertical correlation of encrypted red component, k vertical correlation of encrypted green component, l vertical correlation of encrypted blue component, m diagonal correlation of original red component, n diagonal correlation of original green component, o diagonal correlation of original blue component, p diagonal correlation of encrypted red component, q diagonal correlation of encrypted green component, r diagonal correlation of encrypted blue component

5.3.4 Differential attacks

Variations in the original image can be made by adversary, who then make use of the algorithm which is proposed to encrypt the original image before and after changing pixels, and through estimating similarity of two encrypted images, they discover the relationship between original and encrypted images. However, if any minor change in the original image causes a large change in the encrypted image then the differential attack becomes useless. In this paper, a new method to improve the capacity to withstand differential attacks by calculating the total occurrences of each virtual planet in the encoded image. To analyze the capacity of resisting differential attacks, NPCR and UACI analysis [21] are often used.

5.3.5 NPCR analysis

The Number of Pixels Change Rate (NPCR) refers to the change rate of the number of pixels of ciphered image while one pixel of plain-image is changed. And it is calculated as follows:

$$\begin{array}{@{}rcl@{}} NPCR=\frac{{\sum}_{i = 1}^{N} {\sum}_{j = 1}^{M}D(i,j)}{N\times M} \times 100. \end{array} $$
(16)

If \(C^{1}(i,j)=C^{2}(i,j)\) then \(D(i,j)= 0\). Otherwise \(D(i,j)= 1\).

5.3.6 UACI analysis

The Unified Average Change Intensity (UACI) measures the average intensity of differences between two ciphered images. It is mathematically defined as

$$\begin{array}{@{}rcl@{}} UACI=\frac{{\sum}_{i = 1}^{N} {\sum}_{j = 1}^{M}\frac{C^{1}(i,j)-C^{2}(i,j)}{255}}{N\times M}\times 100, \end{array} $$
(17)

where \(C^{1}\) and \(C^{2}\) are encrypted images before and after one pixel change in original image.

Table 13 shows the values of NPCR \((>99\%)\) and UACI \((33\%)\) for each color component between two cipher-image’s. Experimental results show the estimated expectations and variance of NPCR and UACI are very close to the theoretical values, which justify the validity of theoretical values [14]. Hence, the proposed scheme is immune against differential attacks.

Table 13 NPCR and UACI values of the proposed algorithm

5.3.7 Statistical test for NPCR

From [21], one can demonstrate the proposed algorithm is good by using statistical test for NPCR. Suppose we have two cipher-images \(C^{1}\) and \(C^{2}\) of size \(512 \times 512 \times 3\) each, then hypotheses (H0 and \(H_{1}\)) with significance level \(\alpha \) for \(N(C^{1},C^{2})\) are

$$\begin{array}{@{}rcl@{}} H_{0}: N(C^{1},C^{2}) = \mu_{N}, \end{array} $$
(18)
$$\begin{array}{@{}rcl@{}} H_{1}: N(C^{1},C^{2}) < \mu_{N}. \end{array} $$
(19)

Reject \(H_{0}\), if \(N(C^{1},C^{2}) < N_{\alpha }^{*}\), otherwise accept \(H_{0}\), where

$$\begin{array}{@{}rcl@{}} N_{\alpha}^{*} = \mu_{N}- \phi^{-1}(\alpha) \sigma_{N} = \frac{\left( F - \phi^{-1}(\alpha)\sqrt{\frac{F}{MN}}\right)}{F + 1}, \end{array} $$
(20)
$$\begin{array}{@{}rcl@{}} \mu_{N} = \frac{F}{F + 1}, \end{array} $$
(21)
$$\begin{array}{@{}rcl@{}} {\sigma^{2}_{N}} = \frac{F}{(F + 1)^{2}MN}, \end{array} $$
(22)

where F largest pixel value in the original image.

Observe from the Table 14, \(N(C^{1},C^{2})\) values for Baboon, Lena, and Peppers exceeds \(N_{\alpha }^{*}\) values for \(\alpha = 0.05\), 0.01, 0.001. So we can accept the null hypothesis (H0). Hence, the NPCR values confirm that the proposed algorithm is good.

Table 14 Statistical test for NPCR

5.3.8 Statistical test for UACI

Likewise, again from [21], one can demonstrate the proposed algorithm is good by using statistical test for UACI. Assuming that, we have two cipher-images \(C^{1}\) and \(C^{2}\) of size \(512 \times 512 \times 3\) each, then hypotheses (H0 and \(H_{1}\)) with significance level \(\alpha \) for \(U(C^{1},C^{2})\) are

$$\begin{array}{@{}rcl@{}} H_{0}: U(C^{1},C^{2}) = \mu_{U}, \end{array} $$
(23)
$$\begin{array}{@{}rcl@{}} H_{1}: N(C^{1},C^{2}) < \mu_{U}, \end{array} $$
(24)

Reject \(H_{0}\), if \(U(C^{1},C^{2}) \notin (U_{\alpha }^{*+}, U_{\alpha }^{*-})\), otherwise accept \(H_{0}\), where

$$\begin{array}{@{}rcl@{}} U_{\alpha}^{*+} = \mu_{U} + \phi^{-1}(\alpha/2) \sigma_{U}, \end{array} $$
(25)
$$\begin{array}{@{}rcl@{}} U_{\alpha}^{*-} = \mu_{U} - \phi^{-1}(\alpha/2) \sigma_{U}, \end{array} $$
(26)
$$\begin{array}{@{}rcl@{}} \mu_{U} = \frac{F + 2}{3F + 3}, \end{array} $$
(27)
$$\begin{array}{@{}rcl@{}} {\sigma^{2}_{U}} = \frac{(F + 2)(F^{2}+ 2F + 3)}{18(F + 1)^{2}MNF}, \end{array} $$
(28)

Notice from Table 15, \(U(C^{1},C^{2})\) values for Baboon, Lena, and Peppers belongs to the interval \((U_{\alpha }^{*+}, U_{\alpha }^{*-})\) for \(\alpha = 0.05\), 0.01, 0.001. So we can accept the null hypothesis (H0). Hence, the UACI values confirm that the proposed algorithm is good.

Table 15 Statistical test for UACI

5.3.9 Cropped attack analysis

The cropped attack analysis has been performed to check the robustness against data loss for real-time applications of the proposed algorithm. Two different types of cropped images have been decrypted using the correct set of keys. One image contains cropping on different position of layers (R, G, and B) in the image, whereas the second image contains cropping on same position. The main objective of the analysis is to make sure that the decrypted image can be recognized visually. From Fig. 16, one can see that the proposed algorithm is robust against cropping attack.

Fig. 16
figure 16

Cropped attack experiment: a encrypted image with different locations from each layer (R, G, and B) is cropped b decrypted result; c encrypted image with same locations from each layer (R, G, and B) is cropped; d decrypted result

5.3.10 Transmission of noise attack analysis

Transmission loss analysis has been performed to analyze the robustness of the algorithm to the noise that might be picked up during real-time transmission of images. The analysis is performed by introducing salt and pepper noise in the encrypted image synthetically. The image is then decrypted using the correct set of keys and the decrypted image is checked for visual recognition. Figure 17, shows that the proposed algorithm is invulnerable against noise attack.

Fig. 17
figure 17

Transmission noise attack analysis: a noise attack image; b decrypted result

5.3.11 Information entropy analysis

The information entropy is an important model for scaling the uncertainty [11, 18] and distribution of the gray values present in the image [22, 31]. As gray values scattered more uniformly, the information entropy is nearest to its ideal value:

$$\begin{array}{@{}rcl@{}} H(s) = \sum\limits_{i = 0}^{2^{N}-1}p(s_{i}) \log_{2}\left( \frac{1}{p(s_{i})}\right), \end{array} $$
(29)

where \(p(s_{i})\) is the probability of mark \(s_{i}\) presence. The information entropy for a solely random information source s with \(2^{N}\) states is \(H(s) = N\) bits. As the information source have 8 bit gray image, the information entropy is \(H(s) = 8\) bits. For our proposed encryption algorithm information entropies are given in Table 16 evidence that the proposed algorithm is robust against the entropy attack.

Table 16 The result of information entropy

5.4 Run time of the algorithm

The proposed algorithm is designed in such a way that the encryption and decryption process take 0.5853 seconds with 16 core processor, Windows 10 Pro and MATLAB R2016a. Thus, one can conclude that the run time of the proposed algorithm is less. The algorithm deals only with XOR, addition and substitution steps for which the run time is of \(O(1)\) for every pixel. As we are dealing with RGB image of size \(N\times M \times 3\), then the run time of proposed algorithm is of \(O(N \times M)\).

6 Efficiency of the encoding scheme

The performance of our proposed algorithm is shown on VPD.

  1. i

    Observe from the Fig. 18a and b decrypting with wrong decryption permutation key (CK) results in wrong decrypted image. If one observes carefully the results from Fig. 18a, results in completely different randomized picture from correct image (Fig. 18c) in encoded domain.

    1. (a)

      Virtual planet encoding,

    2. (b)

      Permutation shuffling,

    3. (c)

      Virtual planet decoding.

    Fig. 18
    figure 18

    Performance analysis of encoding scheme: a represents incorrectly decrypted image after applying permutation decryption with wrong column key (generated using seed1 + 1) in the encoded domain, b represents incorrectly decrypted image after applying permutation decryption with wrong column key (generated using seed1 + 1) in normal domain, c represents correctly decrypted image after applying permutation decryption

    Here, Fig. 18b (steps 1 and 3 are ignored) is less effective to hide original image decrypted using wrong decryption permutation key (CK) in normal RGB domain. This explicitly shows the effect of our VPD.

  2. ii

    In [26], shuffling process in DNA encoded domain fails when each pixels are same (i.e. either 0, or 85, or 170 or 255) which reveals the secret keys. For an instance, that R = Rij, \(G=G_{ij}\) and \(B=B_{ij}\) layers and let the binary representation of one pixel (say \(R_{11}\), \(B_{11}\) and \(G_{11}\)) from each layer be r1r2r3r4r5r6r7r8, \(g_{1}g_{2}g_{3}g_{4}g_{5}g_{6}g_{7}g_{8}\) and \(b_{1}b_{2}b_{3}b_{4}b_{5}b_{6}b_{7}b_{8}\) receptively. If we design our proposed algorithm based on [26], then attack is possible if all planets in encoded image are equal i.e. \(r_{1}g_{1}b_{1}\) = r2g2b2 = r3g3b3 = … = \(r_{8}g_{8}b_{8}\) for all pixels. So there are 8 possible pictures that are \(\forall i,j\), [Rij, Bij, Bij] = [0 0 0], [0 0 255], [0 255 0], [0 255 255], [255 0 0], [255 0 255], [255 255 0], [255 255 255]. However, in our proposed encoding scheme, we have introduced a series of complex diffusion processes that resist against vulnerabilities of chosen plain/cipher text attacks. The encrypted images for above mentioned eight pictures are demonstrated in Fig. 19.

Fig. 19
figure 19

i, j [Rij, Bij, Bij]: a [0 0 0], b encrypted [0 0 0], c [0 0 255], d encrypted [0 0 255], e [0 255 0], f encrypted [0 255 0], g [0 255 255], h encrypted [0 255 255], i [255 0 0], j encrypted [255 0 0], k [255 0 255], l encrypted [255 0 255], m [255 255 0], n encrypted [255 255 0], o [255 255 255], p encrypted [255 255 255]

7 Comparison

The proposed approach has been compared with the existing techniques and can be seen in Tables 1721. For a healthy cryptosystem, it is very important to have a huge key space. Table 17 shows that the proposed algorithm has large key space as compared to others. Further, the proposed key space is designed in such a way that, it depends on the size of the image, which provides brute force attack infeasible. Furthermore, data presented in Tables 18 and 19 confirm that the proposed algorithm emerged as the best by ensuring NPCR and UACI up to an optimal level. Correlation coefficients of the proposed and existing algorithms of encrypted image have been shown in Table 20 which shows that the proposed technique has superior correlation between pixels, hence provides robust security against statistical attacks [6, 7, 15]. The data presented in Table 21, shows runtime efficiency of the proposed algorithm. Therefore, from the above analyses, it can be easily seen that the proposed algorithm is efficient, robust and can encrypt RGB images securely as compared to others [2, 4, 6, 7, 9, 15, 20, 23, 24, 31].

Table 17 Comparison of key space of the proposed algorithm with other existing algorithms
Table 18 Comparison on NPCR analysis of the proposed method with authors [4, 6, 20, 23, 24, 31]
Table 19 Comparison on UACI analysis of the proposed method with authors [4, 6, 20, 23, 24, 31]
Table 20 Comparison of horizontal correlation of encrypted image of Lena image with authors [4, 6, 7, 20, 23, 31]
Table 21 Comparison of run time of the proposed algorithm with other existing algorithms

8 Conclusion

In this paper, a new, fast and secure RGB image encryption algorithm in VPD is proposed. An advance idea is introduced to construct VPD by using the eight virtual planets (i.e., Me, Ve, Ea, Ma, Ju, Sa, Ur and Ne) from the virtual solar system. This VPD offers to encode RGB image into planet domain, by using any one of the rule out of 40320 rules, which enhance the size of key space and its security. Further the VPD is diffused with original planet domain (OPD) to provide more randomness. The key space resists common attacks (such as, differential, cropped, noise, brute force and entropy attacks, etc.). Figure 12 shows that, the secret keys are highly sensitive and are influenced by the seeds, VPD rules and generalized Vigenére tables. Comparison with existing methods have been done and results are reported in Tables 1720. The data presented in Tables 1720 confirm the superiority of the proposed algorithm. Further, key spaces, key sensitivity, histogram analysis, correlation plots, correlation coefficients, MSE, PSNR, NPCR, UACI, and statistical tests for NPCR and UACI have been performed and the results of these analysis suggest that the proposed algorithm can resists towards the exhaustive attacks effectively and can be apt for practical applications.