Hybrid Encryption System

Main-Module Hybrid Encryption System

Project Overview

This project implements secure communication(share private key) between the main process and a module process using Hybrid Encryption System

We made a Hybrid Encryption System with AES and RSA to combine the speed of symmetric encryption (AES) with the security of asymmetric encryption (RSA), providing both optimal performance and security.

Technology Stack & Key Features

  • Language: Java

  • AES for symmetric encryption

  • RSA for key exchange

  • IPC(Binder) for communication between main and module

Communication and Encryption Flow

  1. The AES Key is encrypted using RSA and securely transmitted.

  2. The transmitted AES key is used for data encryption and decryption during communication.

  3. All data is encrypted with AES and transmitted through the IPC channel(Binder).

Schematic Diagram

Can make Schematic Diagram like Image

if Each Module Process generated,

Implementation Description

e.g. How to createWallet

[Wallet/UI/CreateWallet.java]

First, input the password in UI, then call createWallet Function

[Wallet/ModuleHandler/ModuleHandler.java]

Second, Wallet calls the Module function that generateRsaKeys. At this time, the module process is alive, so the private key is also maintained according to the life cycle.

[Module/ModuleService.java]

We can check in ModuleService.java

Last updated