Hal Nguyen
About
I'm in my final year as a Computer Science student at University of Victoria, with a strong focus on Networking and Cryptography. Beyond my academic pursuits, I'm deeply passionate about Cryptography, Linux, and Free and Open Source Software.
My journey through the tech industry has led me to roles at various startups and freelancing opportunities, where I've authored code as a full-stack software developer. These experiences have introduced me to the modern web technologies, and standard security practices.
Motivated to learn, I constantly seek to leverage my skills and expertise to contribute meaningfully to the realms of cybersecurity and open-source innovation.
Experiences
Full-stack Developer @ INSO Systems
Oct 2023 - Jan 2024- Implemented JWT and Session Cookie authentication for enhanced system security.
- Developed and maintained a API's with CRUD operations.
- Applied SQL knowledge for seamless database management and migration.
- Streamlined deployment and development processes using Docker.
Front-end Developer @ Hey Nova
May 2023 - Nov 2023- Developed responsive and accessible UI using mordern technologies (ReactJS/NextJS, SCSS, TailwindCSS) and CMSs (Airtable, Prismic).
- Queried GraphQL servers and Firebase for data integration.
- Collaborated with external clients to deliver and implement key features.
Sales Representative @ TELUS Retails LTD.
Apr 2017 - Dec 2022- Delivered customized communication solutions to clients, ensuring integration of services tailored to their specific needs.
- Conducted thorough credit checks as part of the sales process to ensure financial eligibility for customers.
- Resolved instances of fraudulent activity by implementing effective problem-solving skills and collaborating with relevant teams.
Projects
Differential Cryptanalysis
A small program efficiently recovers the last round key from a basic cipher using Linear Differential Cryptanalysis. Through a chosen plaintext attack, it processes over 17,000 plaintext/ciphertext pairs to identify a specific characteristic. The correct 16-bit key is then determined by partially decrypting the last round with all possible key combinations and finding the one that matches the characteristic.