Interposer Module for Transparent Application Data Encryption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing applications face challenges in retrofitting encryption and decryption logic into existing programs, especially when source code is lost or unavailable, making it difficult to ensure secure data transmission and storage.
Innovation Solution
Implementing a segmentation strategy for encryption using AES-256, where data is divided into segments of uniform size, each encrypted independently with a unique key, and using a shared object shim Interposer module to intercept and manage file operations, providing transparent encryption and decryption services without modifying the application code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If encryption logic is retrofitted into existing applications, then data security is improved, but source code availability and ease of implementation deteriorate
Solution Approach 1:
The patent introduces an interposer module as an intermediary layer between the application and the standard C library. This module intercepts file I/O function calls (fopen, fread, fwrite, fclose) and applies encryption/decryption operations without requiring modifications to the application source code. The interposer acts as a mediator that transparently secures data flows while maintaining compatibility with existing applications.
2Productivity
If data is encrypted in large blocks, then encryption speed is improved, but ciphertext expansion and memory usage increase
Solution Approach 1:
The patent implements segmentation by dividing file I/O operations into smaller manageable chunks processed through the interposer module. Instead of encrypting entire files at once, the system processes data in segments as they flow through function calls, applying AES-256 encryption to each segment. This approach maintains security while controlling memory usage and ciphertext expansion.
Solution Approach 2:
The encryption buffer size is made dynamic rather than fixed, allowing the system to adjust the amount of data held in memory based on available resources and performance requirements. The interposer module dynamically manages buffer allocation and encryption timing, optimizing the balance between encryption speed and memory consumption.
3Speed
If decryption operations are optimized for speed, then data access time is improved, but computational resource usage increases
Solution Approach 1:
The system performs preliminary actions by pre-computing and caching cryptographic keys and initialization vectors before actual decryption operations. The interposer module prepares decryption contexts in advance, so when decryption is needed, the computational work has already been partially completed, reducing real-time resource consumption while maintaining high decryption speeds.
Data Source
AI summary
A computer-implemented method can include encrypting a data file as a multiplicity of independent segments that are each a multiple of a block encryption's block size, encrypting the application data on a segment-by-segment basis using the multiplicity of selected encryption methods and associated information, and creating a programming shared object “shim” Interposer module.


