How mazharulmd/collusion-resilient-searchable-homomorphic-encryption-multicloud works
CR-SHE is a prototype for privacy-preserving keyword search and homomorphic analytics over multi-cloud IoT data. An authorized user creates a keyword query; the system derives a pseudonymous index address, splits the point query into DPF keys, and combines provider results into matching record IDs. The user can then compute encrypted sums or weighted sums over matched fields. The README describes replicated provider storage and user-only decryption; the sampled implementation models search in memory and does not implement provider networking or a decryption workflow.
Main entry points: crshe.py Provider evaluation · dpf.py Generate DPF keys
Components 15
Indexing
- Build index
crshe.py - PRF address
crshe.py - Membership index
crshe.py
Private Search
- Search query
crshe.py - Generate DPF keys
dpf.py - Provider evaluation
crshe.py - Evaluate DPF point
dpf.py - Combine shares
crshe.py - Matched record IDs
crshe.py
Encrypted Analytics
- Encrypt fields
crshe.py - Encrypted fields
crshe.py - Homomorphic aggregate
crshe.py
Other components
- Authorized user
- Cloud providers
- Paillier library
Connections 19
- Build index → PRF address: derives addresses
- Build index → Membership index: writes index
- Authorized user → Search query: requests search
- Search query → PRF address: derives address
- Search query → Generate DPF keys: generates keys
- Generate DPF keys → Provider evaluation: supplies keys
- Membership index → Provider evaluation: provides index
- Provider evaluation → Evaluate DPF point: evaluates points
- Cloud providers → Provider evaluation: holds replicas
- Provider evaluation → Combine shares: returns shares
- Combine shares → Matched record IDs: reconstructs matches
- Matched record IDs → Authorized user: returns IDs
- Authorized user → Encrypt fields: supplies fields
- Encrypt fields → Paillier library: encrypts with
- Encrypt fields → Encrypted fields: stores ciphertexts
- Authorized user → Homomorphic aggregate: requests aggregate
- Encrypted fields → Homomorphic aggregate: provides ciphertexts
- Homomorphic aggregate → Paillier library: uses operations
- Homomorphic aggregate → Authorized user: returns ciphertext