A Unique Way to Generate Password at Random Basis and Sending it Using a New Steganography Technique

ABSTRACT


INTRODUCTION 1.Background
Data transmission is the most vital task on the Internet. Sometimes confidential data plays such a major role that it cannot be sent directly. So, confidential data hiding is one of the most important aspects of data transmission. This is accomplished by different steganography techniques.

The Problem
Here, text is the confidential information treated as a password and it is generated using an innovative method. If the generated password is embedded into the cover image using the LSB technique, huge LSB modification would be needed that can bring distortion in a stego image. It is a genuine problem. So, the password is embedded into a cover image generating a stego object using a new steganography embedding technique from sender's end and is later sent and extracted at receiver's end using steganography extraction technique. Here, both embedding and extraction techniques use much lesser LSB modification compared to direct LSB technique. Therefore much lesser image distortion takes place indeed.

The Proposed Solution
We use an innovative technique to generate a password that ensures uniqueness at each instance. This password is generated based on system date and time at a random basis and then sent as confidential text [1] into a cover image using steganography [2,3,4]. Embedding [5] and extraction techniques are also applied using an innovative approach which assures adequate space saving and lesser modification in a stego image  [6] compared to existing LSB [7,8,9] technique. Here, system date and time is taken to generate the password for each instance and then positions of the characters of the password are randomly changed to finalize the ultimate password which is chosen as confidential information. This confidential information is embedded into a cover image [10] using a unique embedding technique based on the exact length of bits in the binary representation of ASCII [11] values. This needs minimal modification at LSB of the cover image and assures space saving over the existing LSB technique.

RESEARCH METHOD 2.1. Step 1: Password Generation
A password is generated at random basis [12]. Inputs are taken from system date and time at the instance of the generation of passwords. Then an hour, minute and second is extracted from time. Similarly, day, month and year is extracted from date. Next, initialize an integer no.1. Initialize an integer flag. no.1=hour mod 10 Convert the hour into words. For each of the instance, the flag's value would be either 0 or 1 based on the value of an hour. Here 0 stands for upper case conversion and 1 stands for lower case conversion in words. This is the resultant string. Now, randomly choose two positions of the string based on its length and pick up those two characters. if (no.1 >=0 && no.1<=4) then { flag = 1 } if (no.1>=5 && no.1<=9) then { flag = 0 } Special Character Generation in password creation: Generate a random [9] number from (33 to 47) or (58 to 64) or (91 to 96) or (123 to 126) and take it as ASCII of the generated special character. Concatenate no.1, the randomly chosen two characters of hour expressed in words either in an upper or lower case based on the flag's value (0 or 1) and the special character. This process would be repeated for the rest of the inputs like a second, minute, day, month and year. Then shuffle the position of characters of the concatenated string in random order for n number of times. Thus the final password would be generated. This final password ensures high-level security [13]. For e.g., let time and date be 9:13:56 AM and 25/12/2017 respectively. Here, no.1=9 mod 10 = 9 Here 9 is within the range of 5 and 9, so flag = 0.
Thus the upper case of 9 in words is NINE. This is the resultant string. Then any two positions of the string are chosen randomly based on its length. Say, the positions are 2 and 4. So the two characters I and E of NINE are picked up. Now, a random number has been chosen from the specified range (33 to 47) or (58 to 64) or (91 to 96) or (123 to 126). Say it is 35. Take it as the ASCII value of #. Now concatenate 9, I, E and # to construct the substring of final password string as 9IE#. By repeating this process for a second, minute, day, month and year, we construct the entire final password. According to our example, the password is 9IE#3te@6SX!5FV^2wo&7VN: Let us consider the final password is S#w7VE9@Voe^3N6:t!F5&I2X after shuffling [14] 3 times. For embedding this password using the existing LSB technique, 24*8=192 bits are needed. Let us check how many bits are needed to embed the password using the following new embedding technique.

Step 2: Steganography Embedding Technique
We take advantage of non-printing ASCII range from (0 to 31) in our embedding technique. So we consider the values of (0 to 9) directly instead of their ASCII values to embed and using a lesser number of LSBs as these numbers are within the range (0 to 31). We define type 0 to type 7 based on the decimal numbers' exact length of bits on a binary representation. This is expressed using Table 1 given below. Here our password is expressed in digits, characters and special symbols. As the ASCII range (128 to 255) is non-printable characters, we don't need to consider this range for password generation. We consider specific treatment so that space saving [15] can provide more desirable outcomes.  In the cover image, we consider the first three LSBs as type value and then take the number of LSBs needed to embed value based on customized range. For example, say, in our password, a digit is 7. Then its type is 2 and after customization, its equivalent number is 3. Three LSBs are used to store type 2. Next two LSBs are used to store customized value 3. Later the equivalent decimal value can be obtained as (3 + 4) =7, where 4 is the additive value. So in our embedding technique (3 + 2) = 5 bits are needed to store 7 whereas 8 bits are needed to store 7 in regular LSB technique.
In our password, the type can be of (0 to 7) only. So for type specification, we always consider 3 LSBs. This length is fixed in nature and then we use the required number of LSBs for embedding, based on the value of Customized Range. Thus we proceed using one after another character of the password. At first, we use 3 LSBs to embed Type of the character and then the minimum required LSBs to embed the value of Customized Range. Then we again consider the type and value of the next character [16] and so on.
First, three LSBs' embedded information of type will signify the length of the character so that we can count the number of LSBs used for embedding. For embedding, our needed types are from Type 0 to Type 7 i.e., out of total no. of 8 types, we need 3 LSBs per type.
After this consideration, we create another table to have a final glance regarding LSB saving compared to the regular LSB technique where each character is expressed in 8 bits. It also gets embedded using 8 LSBs. Here, Table 3 shows the clear idea of using the LSBs to save space compared to regular LSB technique. Thus, we can see that in our technique, we can save LSBs to embed using Type 0 to Type 4 i.e., for 5 types but for Type 5 to Type 7 i.e., for 3 types the LSBs needed for embedding is the same as regular LSB technique.

Extraction Technique
According to [17],at first 3 LSBs would be used to check the type of value. Next LSBs are extracted based on type. After extraction, additive values are considered for having the exact values for calculation purpose based on the type. Repeat the above steps until the end of the password string. Thus embedded password would be extracted.

RESULTS AND DISCUSSIONS
To calculate Peak Signal to Noise Ratio (PSNR) [18,19] we have to first calculate Mean Square Error (MSE) [20] between the cover image and the stego image. Given a noise-free m×n monochrome image I [21] and its noisy approximation K, MSE is defined as: (1) The PSNR (in dB) is defined as: Here, MAX is the maximum possible pixel [22] value of the image. When the pixels are represented using 8 bits per sample, this is 255. The higher the value of PSNR, the more the similarity between the hidden image and the cover image. In the existing LSB technique, we embed the password in the least significant bit of red, green and blue components of the cover image to generate a stego image. We calculate the PSNR of the stego image. Then we calculate the PSNR of the stego image generated from the Space Saver LSB technique i.e., our method. The results are displayed in Table 4. It can be seen that the PSNR value of our Space Saver LSB technique is much more improved compared with the existing LSB technique. So our Space Saver LSB technique is highly improved compared with existing LSB technique. Cover image and the stego image are shown below as Figure 1 and Figure 2 respectively.

CONCLUSION
If we just simply consider embedding 8 characters of each of the type, from Type 0 to Type 7, we can see that total no. of LSBs saved is (4+4+3+2+1) = 14 out of 8*8=64 LSBs which are exactly needed for embedding in existing LSB technique. We refer our technique as a Space Saver LSB technique. Here we need (4 + 4 + 5 + 6 + 7 + 8 + 8 + 8) = 50 LSBs for embedding by using our Space Saver LSB Technique. This result is shown in Figure 3. So, (64-50)/64*100=21.875% space has been saved using Space Saver LSB compared to existing LSB Technique. Percentage of space saving would be varied in different instances.