This document summarizes a research paper that analyzes speeding up the RSA encryption algorithm using GPU programming. It begins by providing background on RSA and GPU accelerated computing. It then describes in detail the traditional RSA algorithm and various techniques for improving modular exponentiation efficiency. The document outlines a parallelized RSA algorithm designed using CUDA that assigns each character of a message to a separate GPU thread for encryption. Evaluation results showed the parallelized algorithm alleviated issues with RSA related to speed and small prime numbers.
RSA is one of the most popular Public Key Cryptography based algorithm mainly used for digital
signatures, encryption/decryption etc. It is based on the mathematical scheme of factorization of very large
integers which is a compute-intensive process and takes very long time as well as power to perform.
Several scientists are working throughout the world to increase the speedup and to decrease the power
consumption of RSA algorithm while keeping the security of the algorithm intact. One popular technique
which can be used to enhance the performance of RSA is parallel programming. In this paper we are
presenting the survey of various parallel implementations of RSA algorithm involving variety of hardware
and software implementations.
This report to document the RSA code and how it works from encrypting certain message to how to decrypt it using general and private keys which will be generated in the given code.
Over this thesis, we did try to optimize tow major challenges of RSA policy:
1# Computational complexity.
2# Apology of unbreakability.
We use here multidimensional random padding scheme (MRPS) as an outer layer protection. RSA policy itself is inner or core layer but not ever unbreakable if additional layers are imposed. Here in this work, our MRPS scheme would able to ensure fully parametrized randomization process.
Enhanced RSA Cryptosystem based on Multiplicity of Public and Private Keys IJECEIAES
Security is one of the most important concern to the information and data sharing for companies, banks, organizations and government facilities. RSA is a public cryptographic algorithm that is designed specifically for authentication and data encryption. One of the most powerful reasons makes RSA more secure is that the avoidance of key exchange in the encryption and decryption processes. Standard RSA algorithm depends on the key length only to protect systems. However, RSA key is broken from time to another due to the development of computers hardware such as high speed processors and advanced technology. RSA developers have increased a key length or size of a key periodically to maintain a high security and privacy to systems that are protected by the RSA. In this paper, a method has been designed and implemented to strengthen the RSA algorithm by using multiple public and private keys. Therefore, in this method the security of RSA not only depends on the key size, but also relies on the multiplicity of public and private keys.
Chaotic Rivest-Shamir-Adlerman Algorithm with Data Encryption Standard Schedu...journalBEEI
Cryptography, which involves the use of a cipher, describes a process of encrypting information so that its meaning is hidden and thus, secured from those who do not know how to decrypt the information. Cryptography algorithms come with the various types including the symmetric key algorithms and asymmetric key algorithms. In this paper, the authors applied the most commonly used algorithm, which is the RSA algorithm together with the Chaos system and the basic security device employed in the worldwide organizations which is the Data Encryption Standard (DES) with the objective to make a hybrid data encryption. The advantage of a chaos system which is its unpredictability through the use of multiple keys and the secrecy of the RSA which is based on integer factorization’s difficulty is combined for a more secure and reliable cryptography. The key generation was made more secure by applying the DES schedule to change the keys for encryption. The main strength of the proposed system is the chaotic variable key generator that chages the value of encrypted message whenever a different number of key is used. Using the provided examples the strength of security of the proposed system was tested and demonstrated.
RSA is one of the most popular Public Key Cryptography based algorithm mainly used for digital
signatures, encryption/decryption etc. It is based on the mathematical scheme of factorization of very large
integers which is a compute-intensive process and takes very long time as well as power to perform.
Several scientists are working throughout the world to increase the speedup and to decrease the power
consumption of RSA algorithm while keeping the security of the algorithm intact. One popular technique
which can be used to enhance the performance of RSA is parallel programming. In this paper we are
presenting the survey of various parallel implementations of RSA algorithm involving variety of hardware
and software implementations.
This report to document the RSA code and how it works from encrypting certain message to how to decrypt it using general and private keys which will be generated in the given code.
Over this thesis, we did try to optimize tow major challenges of RSA policy:
1# Computational complexity.
2# Apology of unbreakability.
We use here multidimensional random padding scheme (MRPS) as an outer layer protection. RSA policy itself is inner or core layer but not ever unbreakable if additional layers are imposed. Here in this work, our MRPS scheme would able to ensure fully parametrized randomization process.
Enhanced RSA Cryptosystem based on Multiplicity of Public and Private Keys IJECEIAES
Security is one of the most important concern to the information and data sharing for companies, banks, organizations and government facilities. RSA is a public cryptographic algorithm that is designed specifically for authentication and data encryption. One of the most powerful reasons makes RSA more secure is that the avoidance of key exchange in the encryption and decryption processes. Standard RSA algorithm depends on the key length only to protect systems. However, RSA key is broken from time to another due to the development of computers hardware such as high speed processors and advanced technology. RSA developers have increased a key length or size of a key periodically to maintain a high security and privacy to systems that are protected by the RSA. In this paper, a method has been designed and implemented to strengthen the RSA algorithm by using multiple public and private keys. Therefore, in this method the security of RSA not only depends on the key size, but also relies on the multiplicity of public and private keys.
Chaotic Rivest-Shamir-Adlerman Algorithm with Data Encryption Standard Schedu...journalBEEI
Cryptography, which involves the use of a cipher, describes a process of encrypting information so that its meaning is hidden and thus, secured from those who do not know how to decrypt the information. Cryptography algorithms come with the various types including the symmetric key algorithms and asymmetric key algorithms. In this paper, the authors applied the most commonly used algorithm, which is the RSA algorithm together with the Chaos system and the basic security device employed in the worldwide organizations which is the Data Encryption Standard (DES) with the objective to make a hybrid data encryption. The advantage of a chaos system which is its unpredictability through the use of multiple keys and the secrecy of the RSA which is based on integer factorization’s difficulty is combined for a more secure and reliable cryptography. The key generation was made more secure by applying the DES schedule to change the keys for encryption. The main strength of the proposed system is the chaotic variable key generator that chages the value of encrypted message whenever a different number of key is used. Using the provided examples the strength of security of the proposed system was tested and demonstrated.
Efficient algorithm for rsa text encryption using cuda ccsandit
Modern-day computer security relies heavily on cryp
tography as a means to protect the data
that we have become increasingly reliant on. The m
ain research in computer security domain
is how to enhance the speed of RSA algorithm. The c
omputing capability of Graphic Processing
Unit as a co-processor of the CPU can leverage ma
ssive-parallelism. This paper presents a
novel algorithm for calculating modulo value that
can process large power of numbers
which otherwise are not supported by built-in data
types. First the traditional algorithm is
studied. Secondly, the parallelized RSA algorithm i
s designed using CUDA framework. Thirdly,
the designed algorithm is realized for small prim
e numbers and large prime number . As a
result the main fundamental problem of RSA algorith
m such as speed and use of poor or
small prime numbers that has led to significant s
ecurity holes, despite the RSA algorithm's
mathematical
soundness can be alleviated by this algorithm
Efficient algorithm for rsa text encryption using cuda ccsandit
Modern-day computer security relies heavily on cryptography as a means to protect the data
that we have become increasingly reliant on. The main research in computer security domain
is how to enhance the speed of RSA algorithm. The computing capability of Graphic Processing
Unit as a co-processor of the CPU can leverage massive-parallelism. This paper presents a
novel algorithm for calculating modulo value that can process large power of numbers
which otherwise are not supported by built-in data types. First the traditional algorithm is
studied. Secondly, the parallelized RSA algorithm is designed using CUDA framework. Thirdly,
the designed algorithm is realized for small prime numbers and large prime number . As a
result the main fundamental problem of RSA algorithm such as speed and use of poor or
small prime numbers that has led to significant security holes, despite the RSA algorithm's
mathematical soundness can be alleviated by this algorithm.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Research trends review on RSA scheme of asymmetric cryptography techniquesjournalBEEI
One of the cryptography classifications is asymmetric cryptography, which uses two different keys to encrypt and decrypt the message. This paper discusses a review of RSA scheme of asymmetric cryptography techniques. It is trying to present the domains of RSA scheme used including in public network, wireless sensor network, image encryption, cloud computing, proxy signature, Internet of Things and embedded device, based on the perspective of researchers’ effort in the last decade. Other than that, this paper reviewed the trends and the performance metrics of RSA scheme such as security, speed, efficiency, computational complexity and space based on the number of researches done. Finally, the technique and strengths of the proposed scheme are also stated in this paper.
Encryption is a technique that transforms a code from an understandable into an incomprehensible code. Many methods can be applied to an encryption process. One such method is RSA. RSA works by appointing on byte values. The value is obtained from character conversion to ASCII code. This algorithm is based on the multiplication of two relatively large primes. Applications of the RSA algorithm can be used in data security. This research provides RSA algorithm application on data security system that can guarantee data confidentiality. RSA algorithm is known as a very secure algorithm. This algorithm works with the number of bits in the search for prime numbers. The larger the bits, the less chance of ciphertext can be solved. The weakness of this method is the amount of ciphertext capacity will be floating in line with the number of prime numbers used. Also, to perform the process of encryption and decryption, RSA requires a relatively long time than other algorithms. The advantage of RSA is that complicated ciphertext is solved into plaintext.
Performance evaluation of modified modular exponentiation for rsa algorithmeSAT Journals
Abstract
Authentication is a very important application of public-key cryptography. Cryptographic algorithms make use of secret keys
known to send and receive information. When the keys are known the encryption / decryption process is an easy task, however
decryption will be impossible without knowing the correct key. The shared public key is managed by the sender, to produce a
message authentication code (MAC) for every transmitted message. There are many algorithms to enable security for message
authentication (secret key). RSA is one such best algorithm for public key based message authentication approaches. But it takes
more time for encryption and/or decryption process, when it has large key length. This research work evaluates the performance
of RSA algorithm with modified modular exponentiation technique for message authentication. As a result modified modular
exponent based RSA algorithm reduces execution time for encryption and decryption process.
Key Words: Cryptography, Message authentication, RSA, Modular Exponentiation.
Data Security with Colors using RSA technique that integrates the RGB Color model with the well-known public key cryptographic algorithm RSA (Rivest, Shamir and Adleman). This model provides both confidentiality and authentication to the data sent across the network. RSA algorithm uses public key and private key to encrypt and decrypt the data and thus provides confidentiality. But the public key is known to everyone and so anyone can encrypt the data and send the message. Hence authentication of users is needed. In this technique we use RGB color model to provide authentication. Every user will have a unique color assigned to him. A sender must know the receiver’s color to send a message. The color value is encrypted using a key which is used as a password while decrypting the message. To decrypt the message, the receiver must provide his color values. If the decrypted color values and his color values are equal then the sender and receiver are send to be authentic. The data encryption and decryption follows RSA procedure. Thus both authentication and confidentiality are provided for the data.
Bluetooth technology is an emerging wireless networking standard, which is based on chip that provides short-range wireless frequency hopping communication. Now, Bluetooth technology is mainly applied to the communication between mobile terminal devices, such as palm computers, mobile phones, laptops and so on. However, the phenomenon of data-leaking frequently arises in using the Bluetooth technology for data transfer. To enhance the security of data transmission in Bluetooth communication, a hybrid encryption algorithm based on DES and RSA is proposed. The currently used encryption algorithm employed by the Bluetooth to protect the confidentiality of data during transport between two or more devices is a 128-bit symmetric stream cipher called E0. The proposed hybrid encryption algorithm, instead of the E0 encryption, DES algorithm is used for data transmission because of its higher efficiency in block encryption, and RSA algorithm is used for the encryption of the key of the DES because of its management advantages in key cipher. Under the dual protection with the DES algorithm and the RSA algorithm, the data transmission in the Bluetooth system will be more secure. This project is extended with triple des in place of des to enhance more security.
Time Performance Analysis of RSA and Elgamal Public Key Cryptosystemsijtsrd
Computer and network security system are needed to protect data during their transmissions and to guarantee that data are authentic. Cryptography is useful not only for proving data to be secure but also for ensuring that data have not altered. So, it is needed to implement the public key cryptosystem in computer and network security system. In cryptography, symmetric key cryptosystems are faster than public key asymmetric cryptosystems. But public key cryptosystems are more secure than symmetric key cryptosystems and widely used in computer and network security system. This describes the comparison of RSA Rivest, Shame, Adelman public key cryptosystem and ElGamal public key cryptosystem. RSA public key cryptosystem is faster than ElGamal in encryption and decryption. This paper also describes the encryption decryption time comparison of RSA and ElGamal. Kyaw Myo Thu | Kyaw Swar Hlaing | Nay Aung Aung "Time Performance Analysis of RSA and Elgamal Public-Key Cryptosystems" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-6 , October 2019, URL: https://www.ijtsrd.com/papers/ijtsrd28096.pdf Paper URL: https://www.ijtsrd.com/computer-science/computer-security/28096/time-performance-analysis-of-rsa-and-elgamal-public-key-cryptosystems/kyaw-myo-thu
Nowadays cloud computing is emerging technology which gives open resources on the internet. It is offering large amount of data to the users and distributed data over the network. Cloud computing denotes sharing of resources rather than having local servers to handle applications. It provides services to servers, storage and applications over the internet. And this cloud computing environment is used by all small and large company users. Since all the data is stored in the cloud, backing it up and restoring the same is relatively much easier than storing the same on a physical device. Cloud computing provide a convenient way to work group of people together on a common project or applications in an effective manner. there are also many factors supporting cloud computing like virtualization process, distributed storage, fast and inexpensive server, broadband internet access etc.
But the major drawback is security in providing data over the internet. Each and every cloud searcher is raising a question to cloud provider that whether it contains security policies and procedures before hosting their applications. Due to poor security, there exists poor applications, data loss, hijacking, traffic etc. But the main issue is it does not have any security in distributing data. It becomes the main obstacle in cloud computing environment. So to enhance the security, so to protect the data, we proposed an algorithm called RSA algorithm. It is a new approach and it met the requirements of public key systems. By using this algorithm it will increase the data security This algorithm uses various data block size and various size keys. It has asymmetric keys for both encryption and decryption. It uses two prime numbers to generate the public and private keys. These two different keys are used for encryption and decryption purpose. This algorithm can be broadly classified in to three stages; key generation by using two prime numbers, encryption and decryption.
Many cryptographic asymmetric algorithms are available to solve data security issue in cloud. Algorithms hide data from unauthorized users. Encryption Algorithms have vital role in the data security of cloud computing. Examples of such algorithms are Diffie-hellman ,ECC,DSA,RSA etc. Since Diffie-helman algorithm is not for encryption or decryption but it enable two parties who are involved in communication to generate a shared secret key for exchanging information confidentially. Elliptic Curve Cryptography (ECC) is only for smaller devices like cell phones. When Digital Signature Algorithm (DSA) is used, the process of creating the digital signature is faster than validating it. When RSA is used, the process of validating the digital signature is faster than creating it.RSA has two keys one public and the other is private, The public key is known to all, and the private key is kept secret and is mostly used in hybrid encryption schemes and digital signatures.
A Modified Technique For Performing Data Encryption & Data DecryptionIJERA Editor
In this age of universal electronic connectivity of viruses and hackers of electronic eavesdropping and electronic fraud, there is indeed needed to store the information securely. This, in turn, led to a heightened awareness to protect data and resources from disclosure, to guarantee the authenticity of data and messages and to protect systems from network-based attacks. Information security via encryption decryption techniques is a very popular research area for many people’s over the years. This paper elaborates the basic concept of the cryptography, specially public and private cryptography. It also contains a review of some popular encryption decryption algorithms. A modified method is also proposed. This method is fast in comparison to the existing methods.
Efficient algorithm for rsa text encryption using cuda ccsandit
Modern-day computer security relies heavily on cryp
tography as a means to protect the data
that we have become increasingly reliant on. The m
ain research in computer security domain
is how to enhance the speed of RSA algorithm. The c
omputing capability of Graphic Processing
Unit as a co-processor of the CPU can leverage ma
ssive-parallelism. This paper presents a
novel algorithm for calculating modulo value that
can process large power of numbers
which otherwise are not supported by built-in data
types. First the traditional algorithm is
studied. Secondly, the parallelized RSA algorithm i
s designed using CUDA framework. Thirdly,
the designed algorithm is realized for small prim
e numbers and large prime number . As a
result the main fundamental problem of RSA algorith
m such as speed and use of poor or
small prime numbers that has led to significant s
ecurity holes, despite the RSA algorithm's
mathematical
soundness can be alleviated by this algorithm
Efficient algorithm for rsa text encryption using cuda ccsandit
Modern-day computer security relies heavily on cryptography as a means to protect the data
that we have become increasingly reliant on. The main research in computer security domain
is how to enhance the speed of RSA algorithm. The computing capability of Graphic Processing
Unit as a co-processor of the CPU can leverage massive-parallelism. This paper presents a
novel algorithm for calculating modulo value that can process large power of numbers
which otherwise are not supported by built-in data types. First the traditional algorithm is
studied. Secondly, the parallelized RSA algorithm is designed using CUDA framework. Thirdly,
the designed algorithm is realized for small prime numbers and large prime number . As a
result the main fundamental problem of RSA algorithm such as speed and use of poor or
small prime numbers that has led to significant security holes, despite the RSA algorithm's
mathematical soundness can be alleviated by this algorithm.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Research trends review on RSA scheme of asymmetric cryptography techniquesjournalBEEI
One of the cryptography classifications is asymmetric cryptography, which uses two different keys to encrypt and decrypt the message. This paper discusses a review of RSA scheme of asymmetric cryptography techniques. It is trying to present the domains of RSA scheme used including in public network, wireless sensor network, image encryption, cloud computing, proxy signature, Internet of Things and embedded device, based on the perspective of researchers’ effort in the last decade. Other than that, this paper reviewed the trends and the performance metrics of RSA scheme such as security, speed, efficiency, computational complexity and space based on the number of researches done. Finally, the technique and strengths of the proposed scheme are also stated in this paper.
Encryption is a technique that transforms a code from an understandable into an incomprehensible code. Many methods can be applied to an encryption process. One such method is RSA. RSA works by appointing on byte values. The value is obtained from character conversion to ASCII code. This algorithm is based on the multiplication of two relatively large primes. Applications of the RSA algorithm can be used in data security. This research provides RSA algorithm application on data security system that can guarantee data confidentiality. RSA algorithm is known as a very secure algorithm. This algorithm works with the number of bits in the search for prime numbers. The larger the bits, the less chance of ciphertext can be solved. The weakness of this method is the amount of ciphertext capacity will be floating in line with the number of prime numbers used. Also, to perform the process of encryption and decryption, RSA requires a relatively long time than other algorithms. The advantage of RSA is that complicated ciphertext is solved into plaintext.
Performance evaluation of modified modular exponentiation for rsa algorithmeSAT Journals
Abstract
Authentication is a very important application of public-key cryptography. Cryptographic algorithms make use of secret keys
known to send and receive information. When the keys are known the encryption / decryption process is an easy task, however
decryption will be impossible without knowing the correct key. The shared public key is managed by the sender, to produce a
message authentication code (MAC) for every transmitted message. There are many algorithms to enable security for message
authentication (secret key). RSA is one such best algorithm for public key based message authentication approaches. But it takes
more time for encryption and/or decryption process, when it has large key length. This research work evaluates the performance
of RSA algorithm with modified modular exponentiation technique for message authentication. As a result modified modular
exponent based RSA algorithm reduces execution time for encryption and decryption process.
Key Words: Cryptography, Message authentication, RSA, Modular Exponentiation.
Data Security with Colors using RSA technique that integrates the RGB Color model with the well-known public key cryptographic algorithm RSA (Rivest, Shamir and Adleman). This model provides both confidentiality and authentication to the data sent across the network. RSA algorithm uses public key and private key to encrypt and decrypt the data and thus provides confidentiality. But the public key is known to everyone and so anyone can encrypt the data and send the message. Hence authentication of users is needed. In this technique we use RGB color model to provide authentication. Every user will have a unique color assigned to him. A sender must know the receiver’s color to send a message. The color value is encrypted using a key which is used as a password while decrypting the message. To decrypt the message, the receiver must provide his color values. If the decrypted color values and his color values are equal then the sender and receiver are send to be authentic. The data encryption and decryption follows RSA procedure. Thus both authentication and confidentiality are provided for the data.
Bluetooth technology is an emerging wireless networking standard, which is based on chip that provides short-range wireless frequency hopping communication. Now, Bluetooth technology is mainly applied to the communication between mobile terminal devices, such as palm computers, mobile phones, laptops and so on. However, the phenomenon of data-leaking frequently arises in using the Bluetooth technology for data transfer. To enhance the security of data transmission in Bluetooth communication, a hybrid encryption algorithm based on DES and RSA is proposed. The currently used encryption algorithm employed by the Bluetooth to protect the confidentiality of data during transport between two or more devices is a 128-bit symmetric stream cipher called E0. The proposed hybrid encryption algorithm, instead of the E0 encryption, DES algorithm is used for data transmission because of its higher efficiency in block encryption, and RSA algorithm is used for the encryption of the key of the DES because of its management advantages in key cipher. Under the dual protection with the DES algorithm and the RSA algorithm, the data transmission in the Bluetooth system will be more secure. This project is extended with triple des in place of des to enhance more security.
Time Performance Analysis of RSA and Elgamal Public Key Cryptosystemsijtsrd
Computer and network security system are needed to protect data during their transmissions and to guarantee that data are authentic. Cryptography is useful not only for proving data to be secure but also for ensuring that data have not altered. So, it is needed to implement the public key cryptosystem in computer and network security system. In cryptography, symmetric key cryptosystems are faster than public key asymmetric cryptosystems. But public key cryptosystems are more secure than symmetric key cryptosystems and widely used in computer and network security system. This describes the comparison of RSA Rivest, Shame, Adelman public key cryptosystem and ElGamal public key cryptosystem. RSA public key cryptosystem is faster than ElGamal in encryption and decryption. This paper also describes the encryption decryption time comparison of RSA and ElGamal. Kyaw Myo Thu | Kyaw Swar Hlaing | Nay Aung Aung "Time Performance Analysis of RSA and Elgamal Public-Key Cryptosystems" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-6 , October 2019, URL: https://www.ijtsrd.com/papers/ijtsrd28096.pdf Paper URL: https://www.ijtsrd.com/computer-science/computer-security/28096/time-performance-analysis-of-rsa-and-elgamal-public-key-cryptosystems/kyaw-myo-thu
Nowadays cloud computing is emerging technology which gives open resources on the internet. It is offering large amount of data to the users and distributed data over the network. Cloud computing denotes sharing of resources rather than having local servers to handle applications. It provides services to servers, storage and applications over the internet. And this cloud computing environment is used by all small and large company users. Since all the data is stored in the cloud, backing it up and restoring the same is relatively much easier than storing the same on a physical device. Cloud computing provide a convenient way to work group of people together on a common project or applications in an effective manner. there are also many factors supporting cloud computing like virtualization process, distributed storage, fast and inexpensive server, broadband internet access etc.
But the major drawback is security in providing data over the internet. Each and every cloud searcher is raising a question to cloud provider that whether it contains security policies and procedures before hosting their applications. Due to poor security, there exists poor applications, data loss, hijacking, traffic etc. But the main issue is it does not have any security in distributing data. It becomes the main obstacle in cloud computing environment. So to enhance the security, so to protect the data, we proposed an algorithm called RSA algorithm. It is a new approach and it met the requirements of public key systems. By using this algorithm it will increase the data security This algorithm uses various data block size and various size keys. It has asymmetric keys for both encryption and decryption. It uses two prime numbers to generate the public and private keys. These two different keys are used for encryption and decryption purpose. This algorithm can be broadly classified in to three stages; key generation by using two prime numbers, encryption and decryption.
Many cryptographic asymmetric algorithms are available to solve data security issue in cloud. Algorithms hide data from unauthorized users. Encryption Algorithms have vital role in the data security of cloud computing. Examples of such algorithms are Diffie-hellman ,ECC,DSA,RSA etc. Since Diffie-helman algorithm is not for encryption or decryption but it enable two parties who are involved in communication to generate a shared secret key for exchanging information confidentially. Elliptic Curve Cryptography (ECC) is only for smaller devices like cell phones. When Digital Signature Algorithm (DSA) is used, the process of creating the digital signature is faster than validating it. When RSA is used, the process of validating the digital signature is faster than creating it.RSA has two keys one public and the other is private, The public key is known to all, and the private key is kept secret and is mostly used in hybrid encryption schemes and digital signatures.
A Modified Technique For Performing Data Encryption & Data DecryptionIJERA Editor
In this age of universal electronic connectivity of viruses and hackers of electronic eavesdropping and electronic fraud, there is indeed needed to store the information securely. This, in turn, led to a heightened awareness to protect data and resources from disclosure, to guarantee the authenticity of data and messages and to protect systems from network-based attacks. Information security via encryption decryption techniques is a very popular research area for many people’s over the years. This paper elaborates the basic concept of the cryptography, specially public and private cryptography. It also contains a review of some popular encryption decryption algorithms. A modified method is also proposed. This method is fast in comparison to the existing methods.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Overview of the fundamental roles in Hydropower generation and the components involved in wider Electrical Engineering.
This paper presents the design and construction of hydroelectric dams from the hydrologist’s survey of the valley before construction, all aspects and involved disciplines, fluid dynamics, structural engineering, generation and mains frequency regulation to the very transmission of power through the network in the United Kingdom.
Author: Robbie Edward Sayers
Collaborators and co editors: Charlie Sims and Connor Healey.
(C) 2024 Robbie E. Sayers
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Immunizing Image Classifiers Against Localized Adversary Attacksgerogepatton
This paper addresses the vulnerability of deep learning models, particularly convolutional neural networks
(CNN)s, to adversarial attacks and presents a proactive training technique designed to counter them. We
introduce a novel volumization algorithm, which transforms 2D images into 3D volumetric representations.
When combined with 3D convolution and deep curriculum learning optimization (CLO), itsignificantly improves
the immunity of models against localized universal attacks by up to 40%. We evaluate our proposed approach
using contemporary CNN architectures and the modified Canadian Institute for Advanced Research (CIFAR-10
and CIFAR-100) and ImageNet Large Scale Visual Recognition Challenge (ILSVRC12) datasets, showcasing
accuracy improvements over previous techniques. The results indicate that the combination of the volumetric
input and curriculum learning holds significant promise for mitigating adversarial attacks without necessitating
adversary training.
Gen AI Study Jams _ For the GDSC Leads in India.pdf
ANALYSIS OF RSA ALGORITHM USING GPU PROGRAMMING
1. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
DOI : 10.5121/ijnsa.2014.6402 13
ANALYSIS OF RSA ALGORITHM USING GPU
PROGRAMMING
Sonam Mahajan1
and Maninder Singh2
1
Department of Computer Science Engineering, Thapar University, Patiala, India
2
Department of Computer Science Engineering, Thapar University, Patiala, India
ABSTRACT
Modern-day computer security relies heavily on cryptography as a means to protect the data that we have
become increasingly reliant on. The main research in computer security domain is how to enhance the
speed of RSA algorithm. The computing capability of Graphic Processing Unit as a co-processor of the
CPU can leverage massive-parallelism. This paper presents a novel algorithm for calculating modulo
value that can process large power of numbers which otherwise are not supported by built-in data types.
First the traditional algorithm is studied. Secondly, the parallelized RSA algorithm is designed using
CUDA framework. Thirdly, the designed algorithm is realized for small prime numbers and large prime
number . As a result the main fundamental problem of RSA algorithm such as speed and use of poor or
small prime numbers that has led to significant security holes, despite the RSA algorithm's mathematical
soundness can be alleviated by this algorithm.
KEYWORDS
CPU, GPU, CUDA, RSA, Cryptographic Algorithm.
1. INTRODUCTION
RSA (named for its inventors, Ron Rivest, Adi Shamir, and Leonard Adleman [1] ) is a public
key encryption scheme. This algorithm relies on the difficulty of factoring large numbers which
has seriously affected its performance and so restricts its use in wider applications. Therefore, the
rapid realization and parallelism of RSA encryption algorithm has been a prevalent research
focus. With the advent of CUDA technology, it is now possible to perform general-purpose
computation on GPU [2]. The primary goal of our work is to speed up the most computationally
intensive part of their process by implementing the GCD comparisons of RSA keys using
NVIDIA's CUDA platform.
The reminder of this paper is organized as follows. In section 2,3,4, we study the traditional RSA
algorithm. In section 5, we explained our system hardware. In section 6,7,8, 9 we explained the
design and implementation of parallelized algorithm. Section 10 gives the result of our
parallelized algorithm and section 12 concludes the paper.
2. TRADITIONAL RSA ALGORITHM[1]
RSA is an algorithm for public-key cryptography [1] and is considered as one of the great
advances in the field of public key cryptography. It is suitable for both signing and encryption.
Electronic commerce protocols mostly rely on RSA for security. Sufficiently long keys and up-to-
date implementation of RSA is considered more secure to use.
2. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
14
RSA is an asymmetric key encryption scheme which makes use of two different keys for
encryption and decryption. The public key that is known to everyone is used for encryption. The
messages encrypted using the public key can only be decrypted by using private key. The key
generation process of RSA algorithm is as follows:
The public key is comprised of a modulus n of specified length (the product of primes p and q),
and an exponent e. The length of n is given in terms of bits, thus the term “8-bit RSA key" refers
to the number of bits which make up this value. The associated private key uses the same n, and
another value d such that d*e = 1 mod φ (n) where φ (n) = (p - 1)*(q - 1) [3]. For a plaintext M
and cipher text C, the encryption and decryption is done as follows:
C= Me
mod n, M = Cd
mod n.
For example, the public key (e, n) is (131,17947), the private key (d, n) is (137,17947), and let
suppose the plaintext M to be sent is: parallel encryption.
• Firstly, the sender will partition the plaintext into packets as: pa ra ll el en cr yp ti on. We
suppose a is 00, b is 01, c is 02, ..... z is 25.
• Then further digitalize the plaintext packets as: 1500 1700 1111 0411 0413 0217 2415
1908 1413.
• After that using the encryption and decryption transformation given above calculate the
cipher text and the plaintext in digitalized form.
• Convert the plaintext into alphabets, which is the original: parallel encryption.
3. OPERATION [1]
The three steps of RSA algorithm – Key Generation, Encryption and Decryption are explained as
follows:
3.1 Key generation
As explained above RSA is an asymmetric key encryption scheme. It makes use of two different
keys for encryption and decryption. The public key that is known to everyone is used for
encryption. The messages encrypted using the public key can only be decrypted by using private
key. The keys for RSA algorithm are generated as follows:
Figure 1. RSA Key Generation
3. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
15
3.2 Encryption process
Alice transmits its public key (n,e) to the Bob and keeps the private key secret. Suppose Bob
wishes to send message M to Alice. He first convert the message M to an integer m , such that
m is between 0 and n using padding scheme [1][3]. Finally cipher text c is calculated as: C = me
mod n. This cipher text is then transmitted to Alice.
3.3 Decryption process
Alice can decode the cipher text using her private key component d as follows:
m = Cd mod n
Given m, original message M can be recovered.
3.4 Example
Figure 2. RSA Example
3.6 Modular exponential
3.6.1 Modular arithmetic
Public key cryptography is computationally expensive as it mostly includes raising a large power
to a base and then reducing the result using modulo function. This process is known as modular
exponential. In practical, RSA algorithm should be fast , i.e., modular exponential function should
be fast and along with it should be efficient. The simple modular operations are given in the
Figure 3.
Figure 3. Modular Arithmetic
3.6.2 Naive modular exponentiation
In this method modular multiplications are applied repeatedly. For example: with g=4, e=13 and
m= 497, the naive modular exponential will solve ge mod m as shown in figure and gives the
result as 445. This method is not efficient as it performs e-1 modular multiplications. In
cryptography the security depends on the larger value of e and efficiency depends how efficiently
these modular multiplications and modular exponential functions are solved. The plaintext ,
4. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
16
cipher-text or even partial cipher text is supposed to be of large in value and it will require a large
amount of modular multiplications if we rely on this naive algorithm.
Figure 4. Naive Modular Exponentiation Example
3.6.3 Repeated square-and-multiply methods
It makes use of the fact that if the e value is even, then the modular exponential is calculated as
ge mod m =( ge/2 * ge/2) mod m ,hence by reducing the amount of modular multiplications to 2z
where z is the number of bits when converting e to binary form. The algorithm comes with two
forms as shown below.
• Right-to-left binary modular exponential
• Left-to-right binary modular exponential
This algorithm works efficiently for large value of e.
5. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
17
Figure 5. Repeated Square-and-Multiply Methods
3.6.4 Left-to-right k-ary exponentiation
This algorithm is the generalization of the previous left-to-right binary modular exponentiation
described previously. In this algorithm each iteration processes more than one bit of the exponent
and works efficiently when pre-computations are done in advance and is used again and again.
Figure 6. Left-To-Right K-ary Modular Exponentiation
3.6.5 Sliding window exponential
The main idea behind this algorithm is the reduction of pre-computations as compared to the
above discussed algorithm and hence ultimately reduction in the average number of
multiplications done.
6. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
18
Figure 7. Sliding Window Exponential
3.7 ADVANTAGES AND DISADVANTAGES OF RSA ALGORITHM
The RSA algorithm is known for its increased security and convenience. In RSA algorithm
private keys are neither transmitted or nor revealed to anyone. By contrast in secret-key system
keys are exchanged either manually or with the help of communication channel. This is because
in secret-key system same key is used for encryption and decryption and there exist a chance that
an enemy can retrieve this secret key during transmission
Public-key systems can provide digital signatures. These digital signatures cannot be repudiated.
By contrast in secret-key systems authentication requires either sharing of some important secrets
or the involvement of third party. This can result in sender repudiating the previously
authenticated message by claiming that the shared secret is compromised any one of the party
involved
Speed is the main disadvantage of public-key cryptography. Because there is always a trade off
between efficiency and security. For efficient RSA, key size should be small but small key size
leads to many security holes. There exist many secret-key methods that are faster than the
asymmetric encryption method. In reality public-key encryption is used to supplement the
private-key encryption.
4. GPU-ACCELERATED COMPUTING[4][3]
Cryptographic operations are highly computationally expensive and hence consume a large
amount of CPU cycles from the system. Such examples are web servers. To incorporate with this
and to offload cryptographic operations, web servers are typically deployed in systems using
cryptographic accelerator cards. Though this saves system CPU cycles from complex and
computationally intensive application logic but it also results in difficult deployment scenarios.
So, the possibility of offloading the massive computationally rich operations to GPU would
lighten the CPU load to a great extent and hence the saving can be used for other applications.
7. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
19
The idea also provide a significant performance increase. This technique is known as “GPU
ACCELERATED COMPUTING”. The idea will be clear from the Figure. 8
Figure 8. GPU Accelerated Computing
5. ARCHITECTURE OVERVIEW[4]
NVIDIA's Compute Unified Device Architecture (CUDA) platform provides a set of tools to
write programs that make use of NVIDIA's GPUs [3]. These massively-parallel hardware devices
process large amounts of data simultaneously and allow significant speedups in programs with
sections of parallelizable code making use of the Simultaneous Program, Multiple Data (SPMD)
model.
Figure 9. CUDA System Model
The platform allows various arrangements of threads to perform work, according to the
developer's problem decomposition. In general, individual threads are grouped into up-to 3-
dimensional blocks to allow sharing of common memory between threads. These blocks can then
8. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
20
further be organized into a 2-dimensional grid. The GPU breaks the total number of threads into
groups called warps, which, on current GPU hardware, consist of 32 threads that will be executed
simultaneously on a single streaming multiprocessor (SM). The GPU consists of several SMs
which are each capable of executing a warp. Blocks are scheduled to SMs until all allocated
threads have been executed. There is also a memory hierarchy on the GPU. Three of the various
types of memory are relevant to this work: global memory is the slowest and largest; shared
memory is much faster, but also significantly smaller; and a limited number of registers that each
SM has access to. Each thread in a block can access the same section of shared memory.
6. PARALLELIZATION
The algorithm used to parallelize the RSA modulo function works as follows:
• CPU accepts the values of the message and the key parameters.
• CPU allocates memory on the CUDA enabled device and copies the values on the device
• CPU invokes the CUDA kernel on the GPU
• GPU encrypts each message character with RSA algorithm with the number of threads
equal to the message length.
• The control is transferred back to CPU
• CPU copies and displays the results from the GPU.
As per the flow given above the kernel is so built to calculate the cipher text C = Me
mod n. The
kernel so designed works efficiently and uses the novel algorithm for calculating modulo value.
The algorithm for calculating modulo value is implemented such that it can hold for very large
power of numbers which are not supported by built in data types. The modulus value is calculated
using the following principle:
• C = Me
mod n
• C = (Me-x
mod n * Mx
mod n) mod n
Hence iterating over a suitable value of x gives the desired result.
7. ALGORITHM FOR CUDA KERNEL
Algorithm 1:
9. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
21
Algorithm 2:
In the first algorithm we, first pass the arguments as pointer to global rsa(). After declaration of
the variables we assign the thread index. Thread index is the unique id of the each thread in a
block that will execute the same instruction but with different data sets that will be distributed
among the threads. After that in the 4th
Step, check the condition if the number of threads to be
executed is greater than the threads assigned, call Algorithm 2 for mod() with three parameters.
Finally after the execution of the Algorithm 2, encrypted text will be handled to the host as
result[] array.
In Algorithm 1 __global__ keywords represents that the rsa() will execute on the device and will
be called from the host. We use pointers for the variables because rsa() runs on device, so
variables must point to device memory. For that we need to allocate memory on GPU
This algorithm works for large size of values which are not otherwise supported by the built-in
data type.
10. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
22
8. Integration of C with CUDA API
Figure 10. CUDA-C Host Code for RSA Algorithm
The above is the small part of the host code showing the integration of CPU and GPU.
• Check for available GPU devices;
• Initialize host and device copies of variables;
• Allocate space for device copies of variables using cudaMalloc();
• Setup input values;
• Copy input values to device using cudaMemcpy;
• Launch kernel on GPU;
rsa<<<nblocks, nthreads>>>(dev_num,dev_key,dev_den,dev_res)
• Copy result back to host using cudaMemcpy();
• Cleanup.
In the first algorithm we, first pass the arguments as pointer to global rsa(). After declaration of
the variables we assign the thread index. Thread index is the unique id of the each thread in a
block that will execute the same instruction but with different data sets that will be distributed
among the threads. After that in the 4th
Step, check the condition if the number of threads to be
executed is greater than the threads assigned, call Algorithm 2 for mod() with three parameters.
Finally after the execution of the Algorithm 2, encrypted text will be handled to the host as
result[] array.
In Algorithm 1 __global__ keywords represents that the rsa() will execute on the device and will
be called from the host. We use pointers for the variables because rsa() runs on device, so
variables must point to device memory. For that we need to allocate memory on GPU
This algorithm works for large size of values which are not otherwise supported by the built-in
data type.
9. KERNEL CODE
As introduced in section 2, RSA algorithm divides the plaintext or cipher text into packets of
same length and then apply encryption or decryption transformation on each packet. A question is
how does a thread know which elements are assigned to it and are supposed to process them?
CUDA user can get the thread and block index of the thread call it in the function running on
11. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
23
device. In this level, the CUDA Multi-threaded programming model will dramatically enhanced
the speed of RSA algorithm. The experimental results will be showed in section 10.
The kernel code used in our experiment is shown below. First CUDA user assign the thread and
block index, so as to let each thread know which elements they are supposed to process. It is
shown in Figure 11. Then it call for another device function to calculate the most intense part of
the RSA algorithm. Note in the below figure11 and figure12, it works for 3 elements.
Figure 11. Kernel code
Figure 12. Kernel’s Device code
10. VERIFICATION
In this section we setup the test environment and design three tests. At first test, we develop a
program running in traditional mode for small prime numbers (only use CPU for computing).
And at the second test, we use CUDA framework to run the RSA algorithm for small prime
numbers in multiple-thread mode. Comparison is done between the two test cases and speed up is
calculated. In the third test we run the GPU RSA for large prime numbers that is not supported
by the built-in data types of CPU RSA. The test result will be showed in this section
12. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
24
10.1. Test environment
The code has been tested for :
• Values of message between 0 and 800 which can accommodate the complete ASCII
table
• 8 bit Key Values
The computer we used for testing has an Intel(R) Core(TM) i3-2370M 2.4GHZ CPU, 4 GB
RAM, Windows 7OS and a Nvidia GeForce GT 630M with 512MB memory, and a 2GHZ DDR2
memory. At the first stage, we use Visual Studio 2010 for developing and testing the traditional
RSA algorithm using C language for small prime numbers. Series of input data used for testing
and the result will be showed later.
At the second stage, we also use Visual Studio 2010 for developing and testing parallelized RSA
developed using CUDA v5.5 for small prime numbers. After that the results of stage one and
stage second are compared and hence calculating the respective speedup.
In the third test we run the GPU RSA for large prime numbers that is not supported by the built-in
data types of CPU RSA. The test result will be showed in this section. At present the calculation
of Cipher text using an 8-bit key has been implemented parallel on an array of integers.
10.2 Results
In this part, we show the experiment results for GPU RSA and CPU RSA for small value of n.
Table 1. Comparison of CPU RSA and GPU RSA for small prime numbers i.e (n=131*137)
Data
Size(bytes)
No. of blocks Threads per
block
GPU RSA
Time
CPU RSA
Time
Speedup
256 4 64 7.56 12.56 1.66
512 8 64 7.25 19.14 2.65
1024 16 64 6.86 23.60 3.44
2048 32 64 5.38 29.33 5.51
4096 64 64 5.68 32.64 5.74
8192 128 64 6.27 35.16 5.60
16392 256 64 7.21 39.66 5.50
32784 512 64 9.25 42.37 4.58
Table 1 shows the relationship between the amount of data inputting to the RSA algorithm and
the execution times (in seconds) in traditional mode and multiple thread mode. The first column
shows the number of the data input to the algorithm, and the second column shows the number of
blocks used to process the data input. In the above table 64 threads per block are used to execute
RSA. The execution time is calculated in seconds. In the last column speed up is calculated.
Above results are calculated by making average of the results so taken 20 times to have final
more accurate and precise results.
The enhancement of the execution performance using CUDA framework can be visually
demonstrated by Figure 13.
13. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
25
Figure 13. Graph showing effect of data input on CPU RSA and GPU RSA along with the Speedup
10.2.1 GPU RSA for large prime numbers
In this part, we show the experiment results for GPU RSA and CPU RSA for small value of n.
Table 2. GPU RSA for large prime numbers and large value of n (n = 1005 * 509)
Data Size(bytes) No. of blocks Threads per block GPU RSA Time
256 8 32 6.08
512 16 32 6.52
1024 32 32 6.69
2048 64 32 5.53
4096 128 32 6.58
8192 256 32 6.66
16392 512 32 7.81
32784 1024 32 8.76
From Table 2, we can see the relationship between the execution time in seconds and the input
data amount (data in bytes) is linear for certain amount of input. When we use 256 data size to
execute the RSA algorithm, the execution time is very short as compared to traditional mode
which is clearly proved in the above section where the comparison is made for CPU RSA and
GPU RSA for small prime numbers and hence for small value of n. So we can say when the data
size increases, the running time will be significantly reduced depending upon the number of
threads used. Furthermore, we also find that when the data size increases from 1024 to 8192, the
execution time of 7168 threads almost no increase, which just proves our point of view, the more
the data size is, the higher the parallelism of the algorithm, and the shorter the time spent.
Execution time varies according the number of threads and number of blocks used for data input.
In the above table threads per block are constant i.e we use 32 threads per block and number of
blocks used are adjusted according to the data input.
The enhancement of the execution performance of data input in bytes using the large value of
prime numbers (n=1009 * 509) and hence large value of n on CUDA framework can be visually
demonstrated by Figure 14.
14. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
26
Figure 14. GPU RSA for large value of n (n=1009*509)
10.2.2. Execution time comparison of GPU RSA for large value of n (1009*509) with
CPU RSA for small value of n(137*131)
In the third and final stage of test results analysis, we analyse our results between
sequential RSA that is using small value of n (17947) and parallelized RSA that is
making use of large prime numbers and large value of n (513581). The enhancement of
the GPU execution performance of data input in bytes using the large value of prime
numbers (n=1009 * 509) on CUDA framework and CPU RSA using small value of prime
numbers (n=137*131) can be visually demonstrated by Figure 15. Hence, we can
leverage massive-parallelism and the computational power that is granted by today's
commodity hardware such as GPUs to make checks that would otherwise be impossible
to perform, attainable.
Figure 15. Comparison of CPU RSA for small prime numbers with GPU RSA for large prime numbers.
15. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
27
11. RSA DECRYPTION USING CUDA-C
In this paper, we presented our experience of porting RSA encryption algorithm on to CUDA
architecture. We analyzed the parallel RSA encryption algorithm. As explained above the
encryption and decryption process is done as follows:
C= Me
mod n, M = Cd
mod n.
The approach used for encryption process is same for decryption too. Same kernel code will work
for decryption too. The only parameters that will change is the private key (d) and ciphertext in
place of message bits used during encryption.
12. CONCLUSIONS
In this paper, we presented our experience of porting RSA algorithm on to CUDA architecture.
We analyzed the parallel RSA algorithm. The bottleneck for RSA algorithm lies in the data size
and key size i.e the use of large prime numbers. The use of small prime numbers make RSA
vulnerable and the use of large prime numbers for calculating n makes it slower as computation
expense increases. This paper design a method to computer the data bits parallel using the threads
respectively based on CUDA. This is in order to realize performance improvements which lead to
optimized results.
In the next work, we encourage ourselves to focus on implementation of GPU RSA for large key
size including modular exponentiation algorithms. As it will drastically increase the security in
the public-key cryptography. GPU are becoming popular so deploying cryptography on new
platforms will be very useful.
REFERENCES
[1] R. L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures and public-
key cryptosystems. Communications of the ACM, 21(2):120{126, 1978.
[2] J. Owens, D. Luebke, N. Govindaraju.. A survey of general-purpose computation on graphics
hardware. Computer Graphics Forum, 26(1): 80{113 , March 2007.
[3] N. Heninger, Z. Durumeric, E. Wustrow, and J. A. Halderman. Mining your Ps and Qs: detection
of widespread weak keys in network devices. In Proceedings of the 21st USENIX conference on
Security symposium, pages 205{220. USENIX Association, 2012 .
[4] NVIDIA|CUDA documents |Programming Guide |CUDA v5.5.
http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf
16. International Journal of Network Security & Its Applications (IJNSA), Vol.6, No.4, July 2014
28
Authors
Sonam Mahajan
Student , ME – Information Security
Computer Science and Engineering Department
Thapar University
Patiala-147004
Dr. Maninder Singh
Associate Professor
Computer Science and Engineering Department
Thapar University
Patiala-147004