badak ngl.
Locking down the front door with RSA.
During a three-month internship at PT Badak NGL (Bontang, East Kalimantan), I built a working prototype of an RSA login flow for the internal systems e-Procurement, e-PNK and e-Contract, which share one login form: credentials are encrypted with the public key as they move through the login path.
RSA
encryption on the login path
3
internal systems ยท e-Procurement, e-PNK, e-Contract
Source
code handed to the IT team
3 mo
internship ยท Dec 2024 - Feb 2025
How it works
The Crypto Flow
Login
credentials from the form
Encrypt
rsa public key
Hand-off
source code to IT team
login form
โ m = plaintext credentials
โผ
c = m^e mod n # rsa public key (e, n) encrypts
โ ciphertext travels the login path
โผ
hand-off # source code handed to the IT teamConcept refresher: RSA pairs a public key with a private key. The prototype covered the path from the login form into the database.
Key Concepts
The brief ยท problem โ approach โ result
01 / The problem
Internal tools often carry plaintext credentials from the login form into the database โ one leak exposes every account behind them.
02 / The approach
Built a prototype of the RSA login flow for the company's internal systems (e-Procurement, e-PNK, e-Contract): keypair generation and encryption of credentials as they move through the login path. Database storage was outside the prototype.
03 / The result
A working prototype, tested with dummy data over a 3-month internship; the source code went to the IT team, who implemented it in the internal systems.
The Stakes & The Strategy
The risk
Plaintext Credentials
Credentials often live inside internal databases as plaintext. If they leak, every account behind them is exposed.
The approach
RSA On The Login Path
I prototyped asymmetric encryption into the login flow: the public key encrypts credentials on the way in, so the credential moves through the app encrypted. What happens to it at storage was left to the IT team during implementation. Built as a working prototype, not a production system.
What I Built
RSA Prototype
Implemented RSA encryption for login credentials, including keypair generation, as a working prototype.
Login Flow
Wired encryption into the login flow, so credentials get encrypted before they move through the system.
Source Code Hand-off
The prototype ends at the login flow: the source code went to the IT team, who carried it into the internal systems, including where credentials are stored.
The Internship, at a Glance
Role
Information Technology Intern
Location
Bontang, East Kalimantan
Duration
3 months (Dec 2024 - Feb 2025)
Focus
RSA login flow prototype
Takeaway: the scope was a prototype, encryption from the login form all the way into the database, and it showed where crypto actually fits in a real system.