0% found this document useful (0 votes)
5 views13 pages

Your Paragraph Text

The document outlines the design and implementation of a secure ATM system using JavaFX and Vigenère cipher encryption, focusing on user management and core banking operations. It emphasizes data security through encryption and OTP-based verification while providing an intuitive user interface for seamless navigation. The project serves as a prototype for real-world applications, showcasing the importance of security and usability in digital financial systems.

Uploaded by

za0733597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views13 pages

Your Paragraph Text

The document outlines the design and implementation of a secure ATM system using JavaFX and Vigenère cipher encryption, focusing on user management and core banking operations. It emphasizes data security through encryption and OTP-based verification while providing an intuitive user interface for seamless navigation. The project serves as a prototype for real-world applications, showcasing the importance of security and usability in digital financial systems.

Uploaded by

za0733597
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Design and Implementation of a

Secure ATM System Using JavaFX


and Vigenère Cipher Encryption
Abstract
This project presents the design and
implementation of a JavaFX-based ATM
system that enables user management and
core banking operations such as balance
checking, deposits, withdrawals, and fund
transfers. With increasing reliance on digital
financial transactions, the project prioritizes
data security by employing a Vigenère cipher
for encrypting sensitive user data. The system
emphasizes usability, security, and
modularity, providing a foundation for
further enhancements and real-world
applications.
Introduction
The Dahab Bank ATM System is a Java-based
desktop application developed using the JavaFX
framework. It serves as a simulation of an ATM
system that provides functionalities such as user
management, secure account operations, and OTP-
based verification for added security. The system
employs encryption techniques to ensure the
confidentiality of sensitive user data.

Objectives
The primary objectives of this project are:
To simulate a real-world ATM system with a user-
friendly interface.
To implement secure authentication using OTP and
password-based encryption.
To enable basic banking operations, such as
balance inquiry, deposit, withdrawal, and fund
transfer.
Project Features
1. User Management
Add Users: Allows administrators to register users by
entering details such as name, phone number, email,
password, and initial balance.
View Users: Displays a list of registered users with
encrypted sensitive data.
2. Banking Operations
Authentication: Secure login using email and
password, with account lockout after three failed
attempts.
Check Balance: Retrieves and displays the user’s
account balance after decryption.
Withdraw Money: Validates and processes withdrawal
requests within the balance limit.
Deposit Money: Updates the account balance with
deposited amounts.
Transfer Money: Facilitates secure fund transfers to
another user’s account using their phone number.
3. Encryption and Security
Utilizes a Vigenère cipher for encrypting phone
numbers, emails, and account balances.
Data decryption is performed during user
authentication and transaction processing.
4. User Interface
Built using JavaFX with a tabbed interface for
seamless navigation.
Includes intuitive forms and dialogs for data input
and feedback.
Technical Implementation
JavaFX GUI
The graphical interface is designed using JavaFX, with
features such as tabs, text fields, buttons, and labels. The
application employs a gradient background for an
appealing user interface.
Encryption Mechanism
Vigenère Cipher: The BalanceEncryption class
implements encryption and decryption of user data
using the Vigenère cipher. This ensures that sensitive
information, such as phone numbers, email addresses,
and balances, is stored securely.
Key Repetition: The key is repeated to match the
length of the text being encrypted or decrypted.
OTP Generation
OTPs are generated as random four-digit numbers.
Users must input the correct OTP for verification
before accessing operations.
Error Handling
The application includes alerts and validations to handle
common errors, such as:
Empty fields during user registration.
Invalid login credentials.
Insufficient balance during withdrawal or transfer.
Invalid input formats.
Security Features
Encryption: Sensitive user data is encrypted using a
custom Vigenère cipher implementation.
OTP Verification: Adds an additional layer of security
to prevent unauthorized access.
Session Management: Tracks the logged-in user and
ensures operations are only accessible after
successful login and OTP verification.
User Interface Design The interface is
divided into three main tabs:
1. Users Data Tab: Displays a list of encrypted user
details.
2. Add Users Tab: Provides input fields for registering
new users.
3. Operations Tab: Allows users to log in, verify OTP,
and perform banking operations.

Advantages:
Ensures secure handling of user data through
encryption.
Implements OTP for enhanced user authentication.
Offers a comprehensive simulation of ATM
functionalities in a desktop application.
Proposed System Architecture
The proposed system architecture of the ATM system is designed to
ensure modularity, scalability, and security. It is divided into the
following layers:

1. Presentation Layer
Description: This layer handles the user interface and interaction.
It uses JavaFX to create tabs, buttons, and input fields for
seamless navigation and user experience.
Components:
Tabs: Users Data, Add Users, Operations.
UI Elements: TextFields, PasswordFields, ListView, Alerts, and
Dialogs.
2. Application Logic Layer
Description: This layer processes user actions, validates inputs,
and invokes necessary operations like encryption or data updates.
Modules:
User Management Module: Adds and retrieves user data.
Transaction Module: Handles banking operations (deposit,
withdrawal, transfer).
Security Module: Manages encryption and decryption.
3. Data Layer
Description: Responsible for storing and managing user data. In
the current implementation, this is handled in-memory, but future
enhancements could integrate a database.
Features:
Temporary in-memory data storage.
Potential for integration with persistent storage like MySQL.
4. Security Layer
Description: Ensures confidentiality and integrity of sensitive
data.
Mechanism: Utilizes Vigenère Cipher for encrypting sensitive
fields such as phone numbers, emails, and balances.
Technologies Used
Java 17
JavaFX for GUI
Custom Vigenère Cipher for encryption

Results
The implemented ATM system achieves the
following:
1. User Management: Successfully registers and
displays user data with encrypted sensitive
information.
2. Secure Transactions: Processes deposits,
withdrawals, and transfers while maintaining
data confidentiality.
3. Authentication: Prevents unauthorized
access with secure login and account lockout
after three failed attempts.
4. Encryption Integrity: Ensures encrypted data
remains secure and decryptable using the
user’s password as the key.
5. Usability: Provides an intuitive interface for
administrators and users to perform
operations efficiently.
Literature Review
1. Cryptographic Techniques in ATM Systems: The
security of ATM systems has always been a top
priority, with encryption methods playing a key
role in protecting sensitive data. Research has
shown that traditional symmetric encryption
algorithms, such as the Vigenère cipher, can
effectively secure user data when applied properly.
The Vigenère cipher, despite being a relatively
older algorithm, remains an effective choice for
simple applications due to its ability to encrypt
arbitrary data with a secret key.
2. Encryption Algorithms in ATM Systems:
Research by Patel & Mehta (2019) highlighted the
importance of encryption in ATM systems,
focusing on symmetric key algorithms like AES
(Advanced Encryption Standard) and RSA
(Rivest-Shamir-Adleman). While AES is widely
used in high-security applications, simpler
methods such as the Vigenère cipher are often
chosen in applications with moderate security
needs.
3.User Authentication and Security: User
authentication is an essential aspect of any ATM
system. Kumar & Sharma (2018) discuss various
techniques for user verification, including PIN-
based authentication, biometric systems, and
multi-factor authentication (MFA). This project uses
password-based authentication as a simple
approach to verify users before granting access to
their accounts. This method is combined with
encryption techniques to ensure that user data
remains protected even in the case of
unauthorized access attempts.

4.JavaFX for ATM Systems: JavaFX, a powerful GUI


framework for Java, is frequently used for creating
interactive applications such as ATM systems.
JavaFX enables the creation of visually appealing
user interfaces that enhance the user experience
while ensuring that the application remains
responsive and secure. This project uses JavaFX to
implement an intuitive interface for both
administrators and end-users.
Conclusion
The JavaFX-based ATM system demonstrates core
banking functionalities and secure data handling in a
compact, educationally-oriented application. By
leveraging encryption and a user-friendly GUI, the
project showcases the importance of security and
usability in digital financial systems. While functional,
the application provides a foundation for further
improvements in encryption, scalability, and feature set,
making it a promising prototype for real-world
applications.
References

1. Stallings, W., Brown, L., & Bauer, M. D. (2012). Computer


Security: Principles and Practice. Pearson Education.
2. Moustafa, N., & Slay, J. (2015). UNSW-NB15: A
Comprehensive Dataset for Network Intrusion Detection
Systems. Military Communications and Information
Systems Conference, 1-6.
3. Shone, N., Ngoc, T. N., Phai, V. D., & Shi, Q. (2018). A Deep
Learning Approach to Network Intrusion Detection. IEEE
Transactions on Emerging Topics in Computational
Intelligence, 2(1), 41-50.
4. Whitman, M. E., & Mattord, H. J. (2011). Principles of
Information Security. Cengage Learning.
5. Lipton, Z. C., Berkowitz, J., & Elkan, C. (2015). A Critical
Review of Recurrent Neural Networks for Sequence
Learning. arXiv preprint arXiv:1506.00019.

You might also like