## 3 The Asymmetric Hyperchaotic Image Encryption Scheme
### The Permutation Process Based on Different Sized Blocks  
In the permutation process, the plaintext image P with the size \(M\times N\) will firstly be converted into 5 planes on bit-level from the original image with the pixel-level format. The contents of the plane set are a \"combined\" plane in which all components are the combination of the 1 st-4 th bit of the pixels in the original image and four planes representing the 5 th-8 th bit of the pixels, respectively. After converting the image for each content in the set, it would be parted into smaller blocks when it contained more information compared with other planes. More specifically, in this chapter, the plane which is composed of the 8 th bit for all the pixels will be divided into \(1\times 1\) blocks, and for the 7 th, 6 th, and 5 th bit, the corresponding plane will be divided with the size of \(2\times 2\), \(4\times 4\), and \(8\times 8\), respectively. For the \"combined\" plane in the set, because the four bits in this plane contain less information than others in the set, the block size will be \(16\times 16\) to improve the operating speed. Next, the planes are shuffled like the matrixes based on the unit of the blocks divided before, and the distance for shuffling is mainly determined by the hyperchaotic sequences. Finally, combine these 5 permutated planes together and convert into the pixel-level image. Through this novel different sized block permutation, the image experienced both permutation and diffusion simultaneously. The concrete steps are as follows:  
1. Convert the original plaintext image into 5 different planes, the first plane is the combination of the 1 st-4 th bits of each pixel in the plaintext image, and the latter 4 planes are made of the corresponding 5 th-8 th bits respectively. One example for the regulation referred to before is presented in Figure 5.
2. Divide these planes into the different sized blocks according to the amount of information that each bit included. In this chapter, the plane of the 8 th bit of the plane which contains more information than any other bits in every pixel, so the size of block is \(1\times 1\). Based on this consideration, when the length and width of the planes are both the multiples of 16, the 7 th, 6 th, and 5 th plane are divided into the different blocks with the size of \(2\times 2\), \(4\times 4\), and \(8\times 8\), respectively. Otherwise, the planes will be added by zeros. Finally, for the \"combined\" plane mentioned before, due to it containing the least amount of information, 16\(\times\)16 is the proper block size in order to enhance the time efficiency. The specific process of the division for an example applied with the \(2\times 2\) size is displayed in Figure 6.
3. To ensure the randomness and the relation with the plaintext image, the hyperchaotic sequences generated before are used to determine the distance of the shuffling operation. Firstly, to avoid the insecurity of the over repeated usage of the sequences, the formula (4) for calculating the shifting displacement is used. \[ \begin{cases}\text{row}=floor(mod(rowChao(indexRow^{2}+n)\times 10^{4},indexCol)) \\ \text{col}=floor(mod(colChao(indexCol^{2}+n)\times 10^{4},indexRow))\end{cases}  \tag{4}\]  
where the indexRow and the indexCol are the numbers of the rows and the columns for the amount of the blocks. The rowChao and colChao are two obtained hyperchaotic sequences, the n means the index of the present column or the row, and the floor(x) obtains the largest integer which is less than or equal to x. After the value of the migration distance is determined, the shuffling process is as follows: all the rows of the matrix after division will shift in turn, first according to the distance calculated in advance, then the columns will also shift in accordance with their migration distance analogously. An example to interpret the process of shuffling based on the matrix in Figure 6 is shown in Figure 7.  
4.