SlideShare a Scribd company logo
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 1
CHAPTER 1
INTRODUCTION
1.1 AIM
To implement and improve the performance of Advanced Encryption Standard algorithm
by using multicore systems and Open MP API extracting as much parallelism as possible from
the algorithm in parallel implementation approach.
1.2 SCOPE
The requirement of information security on a network has become highly challenging.
Cryptography is a method to provide information confidentiality, authenticity and integrity. The
cryptography overcomes several challenges such as execution time, memory requirement, and
computation power. However, one cannot get desired outcomes by using sequential computation.
In this project, the introduction of parallel computation using multicore processors by
parallelizing the execution of the algorithm in multiple cores and also analyze the effectiveness
of the Advanced Encryption Standard (AES) algorithm on dual core processor by using Open
MP API to reduce the execution time. This process is validated using JAVA platform.
1.3 OBJECTIVES
 To facilitate encryption and decryption of large data.
 To reduce execution time by using multicore system.
 To compare the execution time of single core and multicore systems.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 2
CHAPTER 2
METHODOLOGY
 The input is a text file consisting of n-blocks of data.
 The first n/2 blocks can be assigned to one core for encryption/decryption, while another
n/2 blocks can be assigned to another core for performing encryption/decryption.
 The encryption/decryption on multiple blocks of data is done simultaneously by using the
concept of simultaneous multithreading, some of the blocks by one core and some of the
blocks by another core. This process will continue until the end of the file.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 3
Explanation of the flowchart
Step 1: The system starts execution.
Step 2: The user will be uploading the large file for the system. The system reads this large file
and stores in the program buffer.
Step 3: The large file will be divided into two equal parts. For example, if the input file is of
1GB, then it will be divided into two parts each with 500MB. In other words, if the input file has
10,000 lines, then the system will be dividing the file into two parts each having 5000 lines.
(Note: The efficiency of the system can even further be improved by dividing the input file into
more than two parts (like 4, 6, or 8 parts in case we have quad core, hexa core, or octa core
processor respectively.)
Step 4: Each of the input parts will be encrypted by an independent CPU core. For instance, first
part of the file will be encrypted by Core 0; second part of the file will be encrypted by core 1,
etc.
Step 5: Output of each CPU cores will be combined to form a single encrypted file.
Step 6: The total time taken from all the above steps are calculated.
Step 7: System stops execution.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 4
CHAPTER 3
REQUIREMENT ANALYSIS
3.1 Introduction
A requirements specification for a software system is a complete description of the
behavior of a system to be developed. It includes functional requirements and non-functional
requirements. A functional requirement includes a set of use cases that describe all the
interactions the users will have with the software. Use cases are also known as functional
requirements. Non-functional requirements are requirements which impose constraints on the
design or implementation (such as performance engineering requirements, quality standards, or
design constraints).
3.2 Functional Requirements
Functional Requirements are those that refer to the functionality of the system, i.e., what
Services it will provide to the user.
1. User account operation provides the following functionalities with respect to the end
users of the system:
 Creating a new account.
 Login to an existing account.
 Logout from an account.
 Delete an Account.
 Change the password.
 Retrieve the password.
 Update the profile.
2. The keys component will provide following functionality:
 Generation of the key.
3. The encryption component will provide following functionalities:
 Uploading of a text file.
 Specifying the resultant path after encryption.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 5
4. The decryption component will provide following functionalities:
 Uploading the encrypted file.
 Specifying the resultant path after decryption.
3.3 NONFUNCTIONALREQUIRMENTS
These are requirements that are not functional in nature, that is, these are constraints within
which the system must work.
Modifiability: The system design should allow modification of the existing functionality of the
application.
Extensibility: The system design of the application must be flexible enough, so that any further
implementations or enhancements are allowed.
Usability: The user must find it very easy to use the application.
Reusability: The system design should contain components or modules and classes which can
be used again to add new functionalities with slight or no modification.
Scalability: The application should function well even if it is changed in size or approach being
used to meet the user needs.
3.4 Input Requirement
 Input is given by the User as a text file.
3.5 Output Requirement
 The encryption component gives encrypted file of the input text file. This encrypted file
is fed as input to the decryption component which gives the original input text.
3.6 Hardware Requirements
 Processor : Intel core 2 Duo processor
 Hard Disk : 40 GB hard disk
 RAM : 2 GB RAM
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 6
3.7 Software Requirements
 Operating System : Windows 7
 Database : MySQL
 Language : core Java, advanced Java
 Development Kit : JDK 1.8
 Web Server : Apache tomcat 9
 Development Tool : Eclipse
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 7
CHAPTER 4
SYSTEM DESIGN
4.1 Data Flow Diagram
En
Fig. 4.1: DATA FLOW DIAGRAM
Create
account
Plain text file
Output folder
Identifier
Key
generation
Plain text file
Encrypted file
Output folder
Windows Builder
Plugins
MYSQL
AES-Encryption improved
AES-Decryption improved
Login/
Logout
Edit
Profile
Change
Password
Forgot
Password
Delete
Profile
Encryption
Decryption
Comparison
Keys
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 8
Explanation of the Data Flow Diagram
MySQL database
MySQL database is used for storing the user account information like email, password,
gender, mobile, first name, last name, address, etc.
User Account operation
User account operation provides the following functionalities with respect to the end
users of the system:
 Create a new account so that the user gets access to our system.
 Login to an existing account thus creating a new session.
 Logout from an account after performing various operations within the session.
 Delete an Account in case the user no longer needs access to the system.
 Change the password for an existing account.
 Retrieve the password for an account in email in case the user forgets the password.
 Update the profile by modifying the values provided during the registration step.
Keys
Using this component, the end user can generate a new Key used for performing
encryption operations by specifying a unique identifier as an input to this component.
Encryption
This component will be used by the end users to upload a new file which must be
encrypted. The user will also specify the path where the resultant file (after encryption) must be
stored. This component communicates the following components:
 It communicates with the Keys component to retrieve the keys that will be used for
encryption.
 It also communicates with AES-Encryption-Improved component to invoke the
algorithm.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 9
Decryption
This component will be used by the end users to upload an encrypted file which must be
decrypted. The user will also specify the path where the resultant file (after decryption) must be
stored. This component communicates the following components:
 It communicates with the Keys component to retrieve the keys that will be used for
decryption. The keys used for encryption will be the same as the key that will be used for
decryption. Thus, AES is called as Symmetric Encryption.
 It also communicates with AES-Decryption-Improved component to invoke the inverse
of the algorithm.
AES-Encryption-Improved
This component will have the implementation of the improved encryption AES
algorithm. This component divides the input file into multiple parts and executes each of these
parts on a different CPU cores to achieve concurrency.
AES-Decryption-Improved
This component will have the implementation of the improved decryption AES
algorithm. This component divides the input file into multiple parts and executes each of these
parts on a different CPU cores to achieve concurrency.
Comparison
This component is used for comparing the performance of the proposed system with that
of an existing system. This component accepts a large file as an input and performs encryption
on the file using the proposed system and using existing approach. It records the time taken by
both the systems and outputs the results.
Windows Builder Eclipse Plugin
Windows builder eclipse plugins are the libraries used for developing Java swings and
AWT/SWT components which will be used for developing the frontend screen for the system.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 10
4.2 Use Case Diagram
Fig. 4.2: Use Case Diagram
Account
operation
Keys
Encryption
Comparison
Decryption
Create account
Delete profile
Login/Logout
Edit profile
Forgot password
Change password
Identifier
Key generation
Plain text file
Output folder
Encrypted file
Output folder
Plain text file
Graph
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 11
CONCLUSION
The concept of parallel programming by using a multi-core processor is described and it
is shown how to efficiently and effectively implement the Advanced Encryption Algorithm by
using multicore systems and open MP API, extracting as much parallelism as possible from the
algorithm in parallel implementation approach. The execution time of the proposed system takes
less time when compare to the existing system for larger text files.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 12
REFERENCES
[1] M. Nagendra and M. Chandra Sekhar ., “Performance Improvement of Advanced Encryption
Algorithm using Parallel Computation”, International Journal of Software Engineering and Its
Applications.
[2] Supachai Thongsuk1, Prabhas Chongstitvatana., “An implementation of AES algorithm on
multicore processors for high throughput”, Department of Computer Engineering Faculty of
Engineering, Chulalongkorn University Bangkok, Thailand.
[3] Nhat-Phuong Tran, Myungho Lee*, Sigwon Hong., “Parallel Execution of AES-CTR
Algorithm Using Extended Block Size”, Dept of Computer Science and Engineering, Myong Ji
University.
[4] Suresh Sharma, T S B Sudarshan., “Design of an Efficient Architecture for Advanced
Encryption Standard Algorithm Using Systolic Structures”, International Conference of High
Performance Computing.
[5] Sliman Arrag1, Abdellatif Hamdoun 2, Abderrahim Tragha 3 and Salah eddine Khamlich.,
“Design and Implementation A different Architectures of mixcolumn in FPGA”, Department of
Electronics and treatment of information UNIVERSITE HASSAN II MOHAMMEDIA,
Casablanca, Morocco.
[6] Juan C. Pichel, David E. Singh and Jes´us Carretero., “Reordering Algorithms for Increasing
Locality on Multicore Processors”, Computer Science Dpt. Universidad Carlos III de Madrid,
Spain.
ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR
DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 13
Signature of Students:
Chethan B.M. 4BB13CS011 …………………..
Nikhil Jain C.S. 4BB13CS021 …………………..
Sharath M.S. 4BB13CS029 …………………..
Mrs. Kavitha C.R. Mr. Nagaraju S. Mrs. Kavitha C.R.
Asso. Prof. & Guide Asst. Prof. & Coordinator Asso. Prof. & HOD

More Related Content

What's hot (6)

PDF
Project report
ayush13bbm
 
PPTX
Client server chat application
Piyush Rawat
 
PPTX
Oracle soa cloud project
Gopinath Soundarrajan
 
PPTX
Session Layer
sarangaprabod
 
PDF
Cisco ccna certification knowledge to pass the exam
le_dung762
 
PDF
0index
hanmya
 
Project report
ayush13bbm
 
Client server chat application
Piyush Rawat
 
Oracle soa cloud project
Gopinath Soundarrajan
 
Session Layer
sarangaprabod
 
Cisco ccna certification knowledge to pass the exam
le_dung762
 
0index
hanmya
 

Similar to Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR " (20)

PPTX
Second phase slide presentation on "ANALYZING THE EFFECTIVENESS OF THE ADVANC...
Nikhil Jain
 
DOCX
First phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION...
Nikhil Jain
 
DOCX
Synopsis on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ...
Nikhil Jain
 
PPTX
First phase slide presentation on "ANALYZING THE EFFECTIVENESS OF THE ADVANCE...
Nikhil Jain
 
PPTX
Advance Encryption Standard and its better performance
sanacomputerscience
 
PDF
Module 2 network and computer security
Deepak John
 
PDF
A design of a fast parallel pipelined implementation of aes advanced encrypti...
ijcsit
 
PDF
Advanced approach for encryption using advanced encryption standard with chao...
IJECEIAES
 
PDF
Advanced Encryption Standard (AES) Implementaion using Java
Sunil Kumar R
 
PDF
Advanced Encryption Standard (AES)
Hardik Manocha
 
PDF
Usability of developed multiple file encryption using rijndael algorithm
Bryan Guibijar
 
PPTX
File Security System_2
Dheeraj Kumar Singh
 
PDF
Aes
Sijo Mathew
 
PDF
High Speed Optimized AES using Parallel Processing Implementation
IRJET Journal
 
PDF
H0154448
IOSR Journals
 
PDF
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
ijceronline
 
PPTX
The origin and evaluation criteria of aes
MDKAWSARAHMEDSAGAR
 
PDF
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
PDF
Aes 128 192_256_bits_project_report
sakhi rehman
 
PDF
M021201092098
theijes
 
Second phase slide presentation on "ANALYZING THE EFFECTIVENESS OF THE ADVANC...
Nikhil Jain
 
First phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION...
Nikhil Jain
 
Synopsis on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ...
Nikhil Jain
 
First phase slide presentation on "ANALYZING THE EFFECTIVENESS OF THE ADVANCE...
Nikhil Jain
 
Advance Encryption Standard and its better performance
sanacomputerscience
 
Module 2 network and computer security
Deepak John
 
A design of a fast parallel pipelined implementation of aes advanced encrypti...
ijcsit
 
Advanced approach for encryption using advanced encryption standard with chao...
IJECEIAES
 
Advanced Encryption Standard (AES) Implementaion using Java
Sunil Kumar R
 
Advanced Encryption Standard (AES)
Hardik Manocha
 
Usability of developed multiple file encryption using rijndael algorithm
Bryan Guibijar
 
File Security System_2
Dheeraj Kumar Singh
 
High Speed Optimized AES using Parallel Processing Implementation
IRJET Journal
 
H0154448
IOSR Journals
 
An Optimized Parallel Mixcolumn and Subbytes design in Lightweight Advanced E...
ijceronline
 
The origin and evaluation criteria of aes
MDKAWSARAHMEDSAGAR
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
Aes 128 192_256_bits_project_report
sakhi rehman
 
M021201092098
theijes
 
Ad

Recently uploaded (20)

PDF
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
PDF
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
PPTX
CST413 KTU S7 CSE Machine Learning Introduction Parameter Estimation MLE MAP ...
resming1
 
PPTX
Precooling and Refrigerated storage.pptx
ThongamSunita
 
PPTX
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
PDF
01-introduction to the ProcessDesign.pdf
StiveBrack
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PDF
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
cl144
 
PPTX
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
PPTX
Work at Height training for workers .pptx
cecos12
 
PPT
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
PPT
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
PPTX
Introduction to Python Programming Language
merlinjohnsy
 
PDF
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
PDF
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
PPTX
WHO And BIS std- for water quality .pptx
dhanashree78
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PPTX
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
PDF
June 2025 Top 10 Sites -Electrical and Electronics Engineering: An Internatio...
elelijjournal653
 
PPTX
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
CST413 KTU S7 CSE Machine Learning Introduction Parameter Estimation MLE MAP ...
resming1
 
Precooling and Refrigerated storage.pptx
ThongamSunita
 
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
01-introduction to the ProcessDesign.pdf
StiveBrack
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
cl144
 
FSE_LLM4SE1_A Tool for In-depth Analysis of Code Execution Reasoning of Large...
cl144
 
Work at Height training for workers .pptx
cecos12
 
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
Introduction to Python Programming Language
merlinjohnsy
 
lesson4-occupationalsafetyandhealthohsstandards-240812020130-1a7246d0.pdf
arvingallosa3
 
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
WHO And BIS std- for water quality .pptx
dhanashree78
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
June 2025 Top 10 Sites -Electrical and Electronics Engineering: An Internatio...
elelijjournal653
 
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
Ad

Second phase report on "ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR "

  • 1. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 1 CHAPTER 1 INTRODUCTION 1.1 AIM To implement and improve the performance of Advanced Encryption Standard algorithm by using multicore systems and Open MP API extracting as much parallelism as possible from the algorithm in parallel implementation approach. 1.2 SCOPE The requirement of information security on a network has become highly challenging. Cryptography is a method to provide information confidentiality, authenticity and integrity. The cryptography overcomes several challenges such as execution time, memory requirement, and computation power. However, one cannot get desired outcomes by using sequential computation. In this project, the introduction of parallel computation using multicore processors by parallelizing the execution of the algorithm in multiple cores and also analyze the effectiveness of the Advanced Encryption Standard (AES) algorithm on dual core processor by using Open MP API to reduce the execution time. This process is validated using JAVA platform. 1.3 OBJECTIVES  To facilitate encryption and decryption of large data.  To reduce execution time by using multicore system.  To compare the execution time of single core and multicore systems.
  • 2. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 2 CHAPTER 2 METHODOLOGY  The input is a text file consisting of n-blocks of data.  The first n/2 blocks can be assigned to one core for encryption/decryption, while another n/2 blocks can be assigned to another core for performing encryption/decryption.  The encryption/decryption on multiple blocks of data is done simultaneously by using the concept of simultaneous multithreading, some of the blocks by one core and some of the blocks by another core. This process will continue until the end of the file.
  • 3. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 3 Explanation of the flowchart Step 1: The system starts execution. Step 2: The user will be uploading the large file for the system. The system reads this large file and stores in the program buffer. Step 3: The large file will be divided into two equal parts. For example, if the input file is of 1GB, then it will be divided into two parts each with 500MB. In other words, if the input file has 10,000 lines, then the system will be dividing the file into two parts each having 5000 lines. (Note: The efficiency of the system can even further be improved by dividing the input file into more than two parts (like 4, 6, or 8 parts in case we have quad core, hexa core, or octa core processor respectively.) Step 4: Each of the input parts will be encrypted by an independent CPU core. For instance, first part of the file will be encrypted by Core 0; second part of the file will be encrypted by core 1, etc. Step 5: Output of each CPU cores will be combined to form a single encrypted file. Step 6: The total time taken from all the above steps are calculated. Step 7: System stops execution.
  • 4. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 4 CHAPTER 3 REQUIREMENT ANALYSIS 3.1 Introduction A requirements specification for a software system is a complete description of the behavior of a system to be developed. It includes functional requirements and non-functional requirements. A functional requirement includes a set of use cases that describe all the interactions the users will have with the software. Use cases are also known as functional requirements. Non-functional requirements are requirements which impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints). 3.2 Functional Requirements Functional Requirements are those that refer to the functionality of the system, i.e., what Services it will provide to the user. 1. User account operation provides the following functionalities with respect to the end users of the system:  Creating a new account.  Login to an existing account.  Logout from an account.  Delete an Account.  Change the password.  Retrieve the password.  Update the profile. 2. The keys component will provide following functionality:  Generation of the key. 3. The encryption component will provide following functionalities:  Uploading of a text file.  Specifying the resultant path after encryption.
  • 5. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 5 4. The decryption component will provide following functionalities:  Uploading the encrypted file.  Specifying the resultant path after decryption. 3.3 NONFUNCTIONALREQUIRMENTS These are requirements that are not functional in nature, that is, these are constraints within which the system must work. Modifiability: The system design should allow modification of the existing functionality of the application. Extensibility: The system design of the application must be flexible enough, so that any further implementations or enhancements are allowed. Usability: The user must find it very easy to use the application. Reusability: The system design should contain components or modules and classes which can be used again to add new functionalities with slight or no modification. Scalability: The application should function well even if it is changed in size or approach being used to meet the user needs. 3.4 Input Requirement  Input is given by the User as a text file. 3.5 Output Requirement  The encryption component gives encrypted file of the input text file. This encrypted file is fed as input to the decryption component which gives the original input text. 3.6 Hardware Requirements  Processor : Intel core 2 Duo processor  Hard Disk : 40 GB hard disk  RAM : 2 GB RAM
  • 6. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 6 3.7 Software Requirements  Operating System : Windows 7  Database : MySQL  Language : core Java, advanced Java  Development Kit : JDK 1.8  Web Server : Apache tomcat 9  Development Tool : Eclipse
  • 7. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 7 CHAPTER 4 SYSTEM DESIGN 4.1 Data Flow Diagram En Fig. 4.1: DATA FLOW DIAGRAM Create account Plain text file Output folder Identifier Key generation Plain text file Encrypted file Output folder Windows Builder Plugins MYSQL AES-Encryption improved AES-Decryption improved Login/ Logout Edit Profile Change Password Forgot Password Delete Profile Encryption Decryption Comparison Keys
  • 8. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 8 Explanation of the Data Flow Diagram MySQL database MySQL database is used for storing the user account information like email, password, gender, mobile, first name, last name, address, etc. User Account operation User account operation provides the following functionalities with respect to the end users of the system:  Create a new account so that the user gets access to our system.  Login to an existing account thus creating a new session.  Logout from an account after performing various operations within the session.  Delete an Account in case the user no longer needs access to the system.  Change the password for an existing account.  Retrieve the password for an account in email in case the user forgets the password.  Update the profile by modifying the values provided during the registration step. Keys Using this component, the end user can generate a new Key used for performing encryption operations by specifying a unique identifier as an input to this component. Encryption This component will be used by the end users to upload a new file which must be encrypted. The user will also specify the path where the resultant file (after encryption) must be stored. This component communicates the following components:  It communicates with the Keys component to retrieve the keys that will be used for encryption.  It also communicates with AES-Encryption-Improved component to invoke the algorithm.
  • 9. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 9 Decryption This component will be used by the end users to upload an encrypted file which must be decrypted. The user will also specify the path where the resultant file (after decryption) must be stored. This component communicates the following components:  It communicates with the Keys component to retrieve the keys that will be used for decryption. The keys used for encryption will be the same as the key that will be used for decryption. Thus, AES is called as Symmetric Encryption.  It also communicates with AES-Decryption-Improved component to invoke the inverse of the algorithm. AES-Encryption-Improved This component will have the implementation of the improved encryption AES algorithm. This component divides the input file into multiple parts and executes each of these parts on a different CPU cores to achieve concurrency. AES-Decryption-Improved This component will have the implementation of the improved decryption AES algorithm. This component divides the input file into multiple parts and executes each of these parts on a different CPU cores to achieve concurrency. Comparison This component is used for comparing the performance of the proposed system with that of an existing system. This component accepts a large file as an input and performs encryption on the file using the proposed system and using existing approach. It records the time taken by both the systems and outputs the results. Windows Builder Eclipse Plugin Windows builder eclipse plugins are the libraries used for developing Java swings and AWT/SWT components which will be used for developing the frontend screen for the system.
  • 10. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 10 4.2 Use Case Diagram Fig. 4.2: Use Case Diagram Account operation Keys Encryption Comparison Decryption Create account Delete profile Login/Logout Edit profile Forgot password Change password Identifier Key generation Plain text file Output folder Encrypted file Output folder Plain text file Graph
  • 11. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 11 CONCLUSION The concept of parallel programming by using a multi-core processor is described and it is shown how to efficiently and effectively implement the Advanced Encryption Algorithm by using multicore systems and open MP API, extracting as much parallelism as possible from the algorithm in parallel implementation approach. The execution time of the proposed system takes less time when compare to the existing system for larger text files.
  • 12. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 12 REFERENCES [1] M. Nagendra and M. Chandra Sekhar ., “Performance Improvement of Advanced Encryption Algorithm using Parallel Computation”, International Journal of Software Engineering and Its Applications. [2] Supachai Thongsuk1, Prabhas Chongstitvatana., “An implementation of AES algorithm on multicore processors for high throughput”, Department of Computer Engineering Faculty of Engineering, Chulalongkorn University Bangkok, Thailand. [3] Nhat-Phuong Tran, Myungho Lee*, Sigwon Hong., “Parallel Execution of AES-CTR Algorithm Using Extended Block Size”, Dept of Computer Science and Engineering, Myong Ji University. [4] Suresh Sharma, T S B Sudarshan., “Design of an Efficient Architecture for Advanced Encryption Standard Algorithm Using Systolic Structures”, International Conference of High Performance Computing. [5] Sliman Arrag1, Abdellatif Hamdoun 2, Abderrahim Tragha 3 and Salah eddine Khamlich., “Design and Implementation A different Architectures of mixcolumn in FPGA”, Department of Electronics and treatment of information UNIVERSITE HASSAN II MOHAMMEDIA, Casablanca, Morocco. [6] Juan C. Pichel, David E. Singh and Jes´us Carretero., “Reordering Algorithms for Increasing Locality on Multicore Processors”, Computer Science Dpt. Universidad Carlos III de Madrid, Spain.
  • 13. ANALYZING THE EFFECTIVENESS OF THE ADVANCED ENCRYPTION STANDARD ALGORITHM ON MULTICORE PROCESSOR DEPARTMENT OF COMPUTERSCIENCE AND ENGINEERING, BCE, SHRAVANABELAGOLA 13 Signature of Students: Chethan B.M. 4BB13CS011 ………………….. Nikhil Jain C.S. 4BB13CS021 ………………….. Sharath M.S. 4BB13CS029 ………………….. Mrs. Kavitha C.R. Mr. Nagaraju S. Mrs. Kavitha C.R. Asso. Prof. & Guide Asst. Prof. & Coordinator Asso. Prof. & HOD