Proof of Concept Implementation of an Improved Oblivious Message Retrieval (OMR) Scheme
- Paper: SophOMR: Improved Oblivious Message Retrieval from SIMD-Aware Homomorphic Compression
- Code: GitHub - keewoolee/SophOMR: Proof of Concept Implementation of SophOMR
OMR leverages HE to enhance UX while maintaining full-anonymity in secure messaging apps and privacy-preserving blockchains. For an introduction to OMR, you might find Eran Tromer’s talk at RWC 2022 helpful: https://youtu.be/dOAMi_uFv_Y?feature=shared&t=3000
Feature Requests: During the implementation, we identified several features missing in the OpenFHE library that could benefit various applications, including ours.
- Serialization/Compression of the evaluation keys using hash seeds. This can easily reduce the keysize by approximately half.
- Level-specific rotation keys. This can significantly reduce the keysize when most rotations occur at lower levels.
- Serialization of ciphertext regarding the ciphertext modulus smaller than 64-bit. This can reduce the ciphertext size during transmissions, particularly after applying ‘compress’ (See Feature 4).
- Independent selection of the base-level ciphertext modulus from the RNS limbs in BFV scheme. This can reduce the ciphertext size after applying ‘compress’ together with Feature 3.
- Ring Switching (Field Switching in BGV-Style Homomorphic Encryption). This feature is used in several works including our own, to reduce computational/communication complexity after consuming computational budgets (e.g. HERMES: Efficient Ring Packing using MLWE Ciphertexts and Application to Transciphering, Respire: High-Rate PIR for Databases with Small Records). One specific challenge we faced was: Is there a way to set the RNS moduli to specific values?
Thank you for your efforts maintaining and improving this library for the community!