About the `utils` Module
The `utils` module in the ckks_engine crate provides utility functions essential for encoding, decoding, noise addition, and modular reduction in the CKKS encryption scheme. These utilities ensure seamless handling of polynomial operations, scaling, and string transformations while preserving data integrity.
Key Features
- Encoding and Decoding: Convert real numbers or strings into polynomial form with scaling and decode them back to their original form.
- Noise Addition: Adds controlled noise to polynomials for enhanced security.
- Modular Reduction: Ensures coefficients remain within the bounds of the prime modulus for secure computations.
How It Works
This module leverages scaling factors to encode real numbers and strings into integer-based polynomials. These polynomials are then processed through modular reduction to ensure compatibility with the CKKS encryption scheme.
The utility functions also handle noise addition, which is crucial for cryptographic security, and provide mechanisms for decoding encrypted data back into readable formats.