IIS Cryptographic Implementation Using C++

Domains

Security
Backend
Systems
Research
AcademicMarch 1, 2022 - April 1, 2022
IIS Cryptographic Implementation Using C++

Tech Stack

C++
C
Git

Project Summary

Abstract

This Information and System Security project implements core public-key cryptography workflows in C++ instead of treating encryption as a black-box library call. The repository contains six standalone programs covering RSA, ElGamal, elliptic-curve cryptography, and their corresponding digital signature variants.

The implementation uses NTL for arbitrary-precision integers, prime generation, modular inverses, and modular exponentiation, with OpenSSL SHA-1 used to convert arbitrary messages into signed digests. Each program demonstrates the full lifecycle: parameter generation, key generation, encryption or signing, decryption or verification, and altered-signature rejection.

The ECC work goes deeper than API usage by implementing point addition, point doubling, scalar multiplication, message-to-curve mapping, and encryption/decryption on a 192-bit NIST-style curve.

What I Built

  • The repository implemented full RSA, ElGamal, and ECC workflows instead of wrapping prebuilt library calls.
  • Signature verification on authentic and tampered messages validated both success and failure paths in the cryptographic pipeline.
  • The ECC implementation went deep into point arithmetic, scalar multiplication, and message-to-curve handling.

Impact

  • Shows low-level security engineering and algorithmic understanding in a way that higher-level app projects cannot.
  • Adds strong systems credibility through reproducible C++ builds and explicit cryptographic primitives.

Page Info

Public-Key Encryption

Built standalone RSA, ElGamal, and elliptic-curve encryption programs using NTL for prime generation, modular arithmetic, and big-integer operations.

/projects/iis-crypto/logo.svg

Digital Signature Workflows

Extended the primitives into RSA, ElGamal, and ECC signature verification flows by hashing messages with OpenSSL SHA-1 and validating altered-signature failure cases.

/projects/iis-crypto/logo.svg

Build-Level Systems Work

Organized six C++ programs under a Makefile that links NTL, GMP, libm, pthread, and OpenSSL crypto for reproducible command-line execution.

/projects/iis-crypto/logo.svg

    IIS Cryptographic Implementation Using C++ | Vimal Rajesh | Applied AI and Platform Engineer