0% found this document useful (0 votes)
15 views11 pages

Your Paragraph Text

This 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. The project emphasizes data security, usability, and modularity, providing a user-friendly interface for banking tasks while protecting sensitive information. It serves as a foundation for further enhancements and real-world applications 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)
15 views11 pages

Your Paragraph Text

This 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. The project emphasizes data security, usability, and modularity, providing a user-friendly interface for banking tasks while protecting sensitive information. It serves as a foundation for further enhancements and real-world applications 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/ 11

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 ATM system is an essential tool in modern
banking, providing users with quick access to their
funds and enabling various financial operations. In
this project, we have developed a simulated ATM
system using JavaFX to create a graphical user
interface (GUI) that replicates the functionality of
a real-world ATM system. The key challenges in
developing such systems involve ensuring data
security, managing user authentication, and
providing a seamless user experience. This project
incorporates a Vigenère cipher encryption
technique to secure sensitive user data, along with
a user-friendly interface for interaction. The aim of
this project is to create a simple yet secure ATM
application that can perform basic banking tasks
while ensuring that personal data is protected from
unauthorized access.
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
1. Development Environment
Programming Language: Java
Framework: JavaFX
2. System Design
Modules:
User Module: Handles user registration and data
storage.
Transaction Module: Processes deposits,
withdrawals, and transfers.
Security Module: Encrypts and decrypts sensitive
data using the Vigenère cipher.
Data Storage: Utilizes in-memory storage for user data.
3. Encryption Mechanism
Vigenère Cipher:
Encrypts characters by combining plaintext and
key characters in a modular arithmetic operation.
Ensures data confidentiality for phone numbers,
emails, and balances.
4. Graphical User Interface
Tabs:
“Users Data” tab for displaying user details.
“Add Users” tab for adding new users.
“Operations” tab for login and transactions.
Components: TextFields, PasswordFields, Buttons,
ListView, and Alerts.
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.
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