Research Article
a
November
2017
Computer Science and Software Engineering
ISSN: 2277-128X (Volume-7, Issue-11)
Implementation Color-Images Cryptography Using RSA
Algorithm
Ali Saleh AL Najjar*
Computer science dept.-Al Lith, Umm Al Qura University, Saudi Arabia
Abstract— Absolute protection is a difficult issue to maintain the confidentiality of images through their transmission over open channels such as internet or networks and is a major concern in the media, so image Cryptography becomes an area of attraction and interest of research in the field of information security. The paper will offer proposed system that provides a special kinds of image Encryption image security, Cryptography using RSA algorithm for encrypted images by HEX function to extract HEX Code and using RSA public key algorithm, to generate cipher image text. This approach provides high security and it will be suitable for secured transmission of images over the networks or Internet.
Keywords— Cryptography, HEX function, RSA algorithm, cipher text, cybersecurity
I. INTRODUCTION
Information security has become a central issue in information storage and transmission, it often requires that data be kept safe from unauthorized access. The best line of defense is physical security [7]. However, physical security is not always an option, due to cost and or efficiency considerations. Instead, most computers are interconnected with each other openly, thereby exposing them and the communication channels that they use. Cryptography, defined as the science and study of secret writing concerns the ways in which communications and data can be encoded to prevent disclosure of their contents through eavesdropping or message interception, using codes, ciphers and other methods, so that only certain people can see the real message.
Image security is an utmost concern in the web attacks are become more serious. The Image encryption and decryption has applications in internet communication, military communication, medical imaging, multimedia systems, telemedicine, etc. To make the data secure from various attacks the data must be encrypted before it is transmitting. The government, financial institution, military, hospitals are deals with confidential images about their patient, financial status, geographical areas, enemy positions. Most of this information is now collected and stored on electronic computers and transmitted over the network. If these all the confidential images about enemy positions, patient and geographical areas are get in the wrong hands with regard to confidentiality [1].
cryptography is used to encrypt data residing on storage devices or travelling through communication channels to ensure that any illegal access is not successful. Also, cryptography is used to secure the process of authenticating different parties attempting any function on the system. Since a party wishing be granted a certain functionality on the system must present something that proves that they indeed who they say they are. That something is sometimes known as credentials and additional measures must be taken to ensure that these credentials are only used by their rightful owner. The most classic and obvious credential are passwords. Passwords are encrypted to protect against illegal usage. Security of internet banking account passwords, email accounts password etc. requires text protection in digital media [2]. Unlike text messages, the multimedia information including image data has some special characteristics like redundancy and high correlation among pixels. One of the main goals that must be achieved during the transmission of information over the network is security. This technique will make the information to be transmitted into an unintelligible form by encryption so that only authorized persons can correctly recover the information. Encryption is the process of transforming a piece of information, known as the plaintext, using an algorithm, known as the cipher, to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The output is known as the ciphertext. The reverse process of transforming cipher text to plaintext is known as decryption (sometimes called as decipherment).
II. CRYPTOGRAPHY
ISSN(E): 2277-128X, ISSN(P): 2277-6451, pp. 181-185 A. Symmetric key cryptography.
Secret key cryptography is also known as symmetric key cryptography. In this type both the sender and the receiver know the same secret key. The sender is encrypting the data or the information using the secret key and the receiver is decrypt the information using the same secret key. In the symmetric cryptography the key is playing a very important role which is depends on the nature of key.
B. Asymmetric key cryptography
Asymmetric cryptography is used encryption and decryption algorithm pair. With public key cryptography, keys work in pairs of matched public and private keys. Public key cryptography, also called asymmetric key cryptography which is using a pair of keys for encryption and decryption. With public key cryptography, keys work in pairs of matched public and private keys. The cryptography technique is using the secret message transfer from one place to another place over the networks. The cryptography technique is requiring some algorithms for encrypt the data. [4].
III. RSA CRYPTOSYSTEM
In 1978, a paper was published by R. Rivest, A. Shamir, and L. Adleman. In this paper they describe a public-key cryptosystem, including public-key generation and a public-public-key cipher, whose security rests upon the presumed difficulty of factoring integers into their prime factors. This cryptosystem, which has come to be known by the acronym from the authors’ names, the RSA cryptosystem has stood the test of time to this day, where it is used in cryptographic applications from banking, and e-mail security to e-commerce on the Internet [6]. There are many applications for RSA, but in practice it is most often used for [7]:
Encryption of small pieces of data, especially for key transport,
Digital signatures, for digital certificates on the Internet.
IV. IMAGE CRYPTOGRAPHY
Core banking is a set of services providing by the group of networked bank branches. Bank customers may access their funds and perform the simple transactions from the member branch offices. The major issue in core banking is the authenticity of the customer. An unavoidable hacking of the databases on the Internet, it is always quite difficult to trust the information in Internet. To solve this problem of authentication proposing an algorithm based on image processing and image cryptography. The internet multimedia applications are become popular. The valuable multimedia content such as the image is vulnerable to unauthorized access while in storage and during transmission over a network. The image processing applications have been commonly found in the Military communication, Forensics, Robotics, Intelligent systems etc. [1].
V. PROPOSED SYSTEM
The proposed system using RSA algorithm for encrypted and decrypted the image, HEX function extracts the image HEX code, then HEX code is converted into cipher text, the following algorithm describes main process phases of the proposed system as shown in Figure 1.
Figure 1. Main process phases of the proposed system
Algorithm [13].
Input: cipher image Output: original image.
Secret image
HEX function
Encryption Phase image HEX code
Generate Cipher text image
Decryption Phase RSA-Public Key
RSA-Private Key Input image
decipher the text
HEX code image HEX function
ISSN(E): 2277-128X, ISSN(P): 2277-6451, pp. 181-185
1) Encryption of image by HEX function to extract HEX Code and using RSA public key algorithm. To generate cipher image text.
2) Decrypted cipher text to Hex code image by HEX function and using RSA private key Algorithm. 3) Finally get generate secret image.
A. Encryption Process.
RSA algorithm is basically meant for text encryption. As there is a significant need for providing security on image transmission, this paper is extending the RSA algorithm to perform image encryption and decryption.
RSA algorithm for Encryption and Decryption
Read the input RGB color image, S
1. First choose the two distinct prime numbers p and q. 2. Calculate the value, n = p q.
3. Compute φ(n) = φ(p)φ(q) = (p − 1) (q − 1) = n - (p + q -1), where φ is Euler's totient function. 4. Choose an integer e such that 1 < e < φ(n) and gcd (e, φ(n)) = 1; i.e., e and φ(n) are co-prime. e is the released as the public key.
5. Determine d as d ≡ e −1 (mod φ(n)); i.e., d is the modular multiplicative inverse of e (modulo φ(n)). Solve the d given d.e ≡ 1 (mod φ(n)).
6. Obtain the encrypted image, C = Se mod φ(n).
7. C = C mod 256, as gray level values of an image lie in the range [0,255]. 8. Recover decrypted image, S = Cd mod 256.
9. The original input (recovered) image, R = S mod φ(n).
In proposed system the encryption and decryption achieved by using library C#, in this system, Images are encrypted, and create the *.txt file, the same file is used for decryption.
Library is used for basic conversion, processing and decoding Hex values, byte array to image conversion, and opposite as well, i.e., image to byte array conversion. Following four functions are part of the library.cs file:
DecodeHex: This function decodes the hex, means accepts hex string, converts it to byte array for image conversion.
IsPrime: This function checks parameter value, prime or not. This function is useful for validation purpose. Prime number accepts from user.
ConvertByteToImage: This function converts the byte array to image. Image is a bitmap image. ConvertImageToByte: This function converts the image to byte array. Image is JPEG format image.
As shown in figure 2.
Figure2. Encryption Flow
B. Decryption the cipher text image
Following function does the actual decryption task.
This function accepts the string parameter. Image cipher code is passed as parameter to this function. Cipher string gets converted into character array.
Image file
Load File
RSA Encrypted Hex Function
Generate Cipher text
ISSN(E): 2277-128X, ISSN(P): 2277-6451, pp. 181-185
Each character deciphers with RSA setting. Decipher character is converted into actual character value. Each character is cascaded, then the cascaded string is return back, as shown in figure 3.
Figure3. Decryption Flow
VI. EXPERIMENTAL RESULTS
A. Implementation and Result
The work accomplished during this research is implemented in C#.net Firstly, HEX function extracts the image
HEX code, HEX code is converted into cipher text depending on RSA settings public key encryption in RSA algorithm is
used which converts an image file in to a cipher text file.
The following screenshots present phases of implementation the system.
Figure.4 Encryption image by using RSA Algorithm.
Fig.5 Decryption the Cipher text to image
VII. CONCLUSIONS
In the digital world, the security of images has become more important as the communication has increased rapidly Cryptography the major branch of data security, so employ cryptography provides high level of security, in the paper different sizes of color images are encrypted and decrypted.
Cipher text file input
Load File
HEX to image (conversion) RSA Decrypted
Get image file
ISSN(E): 2277-128X, ISSN(P): 2277-6451, pp. 181-185
In this paper the cryptography mechanism is using the RSA algorithm with the public key encryption is to increase the security levels of the encrypted, which makes it difficult to detect, if an attacker has attacked the cipher text image then he will not be able to get the original image, he would still require the Private key to decipher the encrypted cipher text as all the relevant data here is in encrypted form, and it is suitable for secured transmission of images over the Internet.
ACKNOWLEDGMENT
The author would like to thank all members of Computer College to guide them and encourage me to accomplish the research.
REFERENCES
[1] S.Anandakumar, “Image Cryptography Using RSA Algorithm in Network Security,” IJCSET| September 2015 |Vol 5, Issue 9,326-330
[2] Manoj Kumar Ramaiya, Naveen Hemrajani, “Improvisation of Security aspect of Steganographic System by applying RSA Algorithm,” IJACSA), Vol. 7, No. 7, 2016.
[3] http://practicalcryptography.com/ciphers/caesar-cipher/
[4] Ajit Singh, Swati Malik,” Securing Data by Using Cryptography with Steganography “, International Journal of Advanced Research in Computer Science and Software Engineering, Volume 3, Issue 5, May 2013.
[5] Jonathan Katz, Yehuda Lindell, “Introduction to Modern Cryptography: Principles and Protocols”, ISBN: 978-1-58488-551-1,2008
[6] Richard A. Mollin, “Codes: The Guide to Secrecy from Ancient to Modern Times”, ISBN-10: 1-58488-470-3, 2005.
[7] Christof Paar, Jan Pelzl, “Understanding Cryptography”, ISBN 978-3-642-04100-6, Springer, 2010.
[8] V. Lokeswara Reddy, Dr.A. Subramanyam, Dr.P. Chenna Reddy, “Implementation of LSB Steganography and its Evaluation for Various File Formats”, Int. J. Advanced Networking and Applications 868 Volume: 02, Issue: 05, Pages: 868-872 (2011) .
[9] Anil Kumar, Rohini Sharma,” A Secure Image Steganography Based on RSA Algorithm and Hash-LSB Technique”, International Journal of Advanced Research in Computer Science and Software Engineering”, Volume 3, Issue 7, July 2013.
[10] http://www.windowsecurity.com/whitepapers/misc/Security_Secure_Internet_Data_Transmission.html. [11] https://safenet.gemalto.com/crypto-foundation/
[12] Varsha, Rajender Singh Chhillar, “Data Hiding using Advanced LSB with RSA Algorithm,” International Journal of Computer Applications (0975 – 8887), Volume 122 – No.4, July 2015.