Boolean Algebra Based Crypto Algorithm
Boolean Algebra Based Crypto Algorithm
Boolean Algebra Based Crypto Algorithm
Abstract—FPGA is an integrated circuit, which can be implement any digital design. FPGA chip adoption across all
reconfigured by designers themselves. FPGA are reprogrammable industries is driven by the fact that FPGA combine the best
silicon chips. Field Programmable Gate Arrays (FPGA) are used parts of ASICs and processor based system. Hardware-timed
for hardware implementations of cryptographic algorithm. This speed and reliability are the advantages of FPGA, but they do
paper presents an FPGA based Hardware implementation of not require high volumes of justify the large upfront expense
Boolean algebra based cryptographic algorithm for secure of custom ASIC design. Reprogrammable silicon also has the
transmission. Using this algorithm, we can hide the meaning of a same flexibility of software running on a processor-based
message in unreadable characters. ASCII values of characters, system, but the number of processing cores available does not
numbers and symbols are used for encryption and decryption.
limit it.
ASCII values converted into binary number and it takes 32 bits in
implementation. Boolean operations such as 1's and 2's FPGA designs are well suited for real time applications,
complement and xor operation are used for encryption and which require a response of 1ms or less. FPGAs are more
decryption. Xilinx – sparton3E FPGA kit is used for the flexible the functionalities can be added or removed easily [3].
synthesizing and implementation of cryptographic algorithm. The random attack of alpha rays cannot destroy/corrupt
memory areas and the device functionality because FPGAs are
Keywords—Cryptography; Encryption; Decryption; BAC hard wired. This makes it favorite in military applications. In
Algorithm (Boolean algebra Cryptography); Complement; XOR
addition, lifetime of FPGA based development is longer.
operation, Unicode
2102
In addition, this algorithm is secure as well as practical and
difficult to decrypt. It can be used for encryption, entity
authentication and key exchange. This algorithm describe the
public-key cryptosystem algorithm, its software
implementation, security and properties.
Pseudo random generator function can be used to generate
the public key and private key. This pseudo random number
generator function can be used on both encryption and
decryption side, which will further help the cryptographic
process in key exchange by reducing the effort of sending the
bulky key and security of the key itself [5].
FPGA implementation provides an intermediate solution
between general-purpose processors (GPPs) and application
specific integrated circuits (ASICs). FPGA configuring
software makes use of the broad range of functionality
supported by the reconfigurable device. So it has wider
applicability than ASIC. FPGA provides a faster hardware
solution than a GPP [3].
Verilog is a hardware description language, which
describes the behavior of any hardware. The syntax and
structures of verilog code is similar to C programming. The
process of conversion of Verilog codes into gate level design
such as AND, OR, XOR and flip-flops is called synthesis. The
synthesis reports provide information about how good the
design in terms of performance and speed. It also gives some
idea on how big the design area would be when it has been
realized into an ASIC/FPGA chip. [6]
• Take 2’s complement of binary valued text. • Takes 1’s complement of binary valued text.
• Take 1’s complement of 2’s complemented binary • Takes 2’s complement of 1’s complement binary
valued text. valued text.
• Apply XOR operation of binary valued text with public • Convert binary valued to its resultant ASCII values.
key , then we got cipher text
2103
• Add with private number into resultant ASCII valued
that is Y.
• Y mod 256= X.
• Convert into its resultant characters, numbers and
symbols.
• Then we got the plaintext.
Fig. 3. FPGA design flow
IV. IMPLEMENTATION
The standard FPGA design flow is shown in Fig. 3 A. Steps for programming FPGA
.Software like Xilinx or Altera is used to program FPGA
• Design the circuit that which has to map to the Xilinx
through devices like Spartan and Vertex. Here we use Xilinx
part on the FPGA.
Spartan 3E FPGA kit for implementation. In the design step
[7] we create the digital circuit that is implemented inside the • Synthesize the design for the FPGA using the XST
FPGA, that is done through hardware description language. synthesis tool.
Here we use verilog HDL. The flow then goes through
compilation, simulation, programming, and verification in the • Generate a UCF file to hold constraints such as pin
FPGA hardware. assignments.
• Assign the I/O pins in our design to the pins on the
FPGA
• Map the design to the specific FPGA on the Spartan-
3E board.
• Generate the programming .bit file that has the bit
stream that configures the FPGA.
• Connect Spartan3 board to the computer and use the
Digilent software to program the FPGA using the bit
stream.
V. SIMULATION RESULTS
The Boolean algebra based cryptographic algorithm is
implemented in Verilog and result has been verified using
Matlab. Then synthesize the code in Xilinx Sparten3E FPGA
kit. Outputs of both encryption and decryption in ModelSim
are shown in the Fig. 4 and Fig. 5 respectively.
Number of LUT slices utilized by the proposed algorithm
is78 out of 1920 available slices. Fig. 6 and Fig. 7 Shows the
device utilization summary after synthesis of encryption and
decryption algorithm .
Fig. 2. Flow chart for decryption algorithm Fig. 4. Simulation output for encryption
2104
presented. So the public key length should be maximum of
(256*8 bit) i.e. 2048 bit. So there is 2^2048 possible
combinations of keys are present. To decrypt a massage
attackers has to check 2^2048 combinations of keys. For an
attackers to check all the possible combinations requires 5.87
X 10^62 yrs. So this algorithm is more secure than existing
algorithms.
VII. CONCLUSION
The FPGA implementation of Boolean algebra based
cryptographic algorithm has been presented in this paper. A new
32-bit encryption and decryption algorithm is developed for
secured data transfer. This algorithm uses 1’s and 2’s
complement and XOR operation on plain text and cipher text.
Fig. 5. Simulation output for decryption Boolean algebra based cryptographic algorithm has been
implemented in verilog and synthesizes the code in Xilinx
Sparten3E FPGA kit. Future work will be to implement this
algorithm on hardware and perform cryptanalysis attack to find
the key. Also this work can be further extended for other data
types.
Acknowledgment
We wish to thank Almighty God who gave us the
opportunity to successfully complete this work. The authors
wish to thank Amrita Vishwa Vidyapeetham University,
Kollam Campus, Kerala for providing us support and funding
to carry out this project.
References
Fig. 6. Device utilization summary after synthesis of
Encryption [1] Akhil Kaushik, Manoj Barnela, Anant Kumar, "G. Block Encryption
standard for transfer of data" ,IEEE , 978-1-4244- 7578-0, 2010
[2] J.C Bajard, L.Imbert, C. Ngre and T. Plantard , "Efficient Multiplication
in GF(p^k) for Elliptic curve cryptography", IEEE, 1063-6889/2003.
[3] Tessier, R., and Burleson, W., “Reconfigurable computing for digital
signal processing: a survey”, J.VLSI Signal Process., 2001, 28, (1-2),
pp.7-27
[4] NorAm Kumar , Pankaj Gupta , Monika Sahu ,Dr. M A Rizvi, "Boolean
Algebra based Effective and Efficient Asymmetric Key Cryptography
Algorithm: BAC Algorithm", IEEE ,978-1-4673-5090-7/13/$31.00
©2013
[5] Dripto chatterjee, Joyshree Nath, suvadeep Dasgupta, Ashok nath," A
new symmetric key cryptography algorithm usingextended MSA
method: DJSA symmetric key algorithm" ,IEEE, 978-0-7695-4437-3
2011
[6] Shivaraj.G.Nandeni, Sharanagouda.N, "Fpga implementation of
encryption and decryption algorithm based on aes" , IJRET:
International Journal of Research in Engineering and Technology ,
Fig. 7. Device utilization summary after synthesis of Volume: 03 Special Issue: 03 | May-2014 | NCRIET-2014.
Decryption [7] Prof. S. Venkateswarlu, Deepa G.M, G. Sriteja , "Implementation of
Cryptographic Algorithm on FPGA ", International Journal of Computer
VI. ANALYSIS Science and Mobile Computing , IJCSMC, Vol. 2, Issue. 4, April 2013
In this algorithm, public key and private key are used.
Public key is 32 bit long .But the length of private key is
depends on the plain text.. There are 0 -255 characters are
2105