privacy-utils-secure-agg
v0.2.1
Published
Secure aggregation protocols for privacy-preserving multi-party computation
Maintainers
Readme
Privacy Utils Secure Aggregation
Secure aggregation protocols for privacy-preserving multi-party computation and federated learning.
Features
- Secure Multi-Party Computation: Privacy-preserving collaborative computation
- Federated Learning: Distributed model training without data sharing
- Homomorphic Encryption: Encrypted data processing
- Secret Sharing: Distributed secret reconstruction
- Masking Techniques: Differential privacy with secure aggregation
- WebSocket Communication: Real-time secure aggregation protocols
- Threshold Cryptography: Distributed key generation and signing
Installation
npm install privacy-utils-secure-aggUsage
import {
SecureAggregator,
SecretSharer,
MaskingEngine,
WebSocketAggregator
} from 'privacy-utils-secure-agg';
// Create secure aggregator
const aggregator = new SecureAggregator({
minParticipants: 3,
maxParticipants: 10,
privacyBudget: { epsilon: 1.0, delta: 1e-5 }
});
// Add participant data
aggregator.addParticipant('user1', [1, 2, 3, 4, 5]);
aggregator.addParticipant('user2', [2, 3, 4, 5, 6]);
aggregator.addParticipant('user3', [3, 4, 5, 6, 7]);
// Perform secure aggregation
const result = await aggregator.aggregate();
// Secret sharing
const sharer = new SecretSharer({ threshold: 3, totalShares: 5 });
const shares = sharer.shareSecret('sensitive-data');
// Reconstruct secret (needs threshold number of shares)
const reconstructed = sharer.reconstructSecret(shares.slice(0, 3));
// WebSocket-based aggregation
const wsAggregator = new WebSocketAggregator({
port: 8080,
participants: ['ws://node1:8080', 'ws://node2:8080', 'ws://node3:8080']
});
wsAggregator.start();API Reference
For complete API documentation, see the TypeScript definitions or visit the main repository.
Architecture
The package provides both client and server components:
- Client: Participates in secure aggregation protocols
- Server: Coordinates the aggregation process
- Network Layer: WebSocket-based communication
- Crypto Layer: Homomorphic encryption and secret sharing
Security Model
- End-to-End Encryption: All communications are encrypted
- Zero-Knowledge Proofs: Verify computations without revealing data
- Differential Privacy: Add noise to protect individual contributions
- Threshold Security: No single party can reconstruct sensitive data
License
MIT
Contributing
Contributions are welcome! Please see the main repository for contribution guidelines.
