Skip to content

extension: swift-to-rust interop adapter for BFV/CKKS #22

@mascharkh

Description

@mascharkh

Current State
The project assumes inputs are generated and processed within the Rust/Python ecosystem. There is no mechanism to ingest ciphertexts generated by client-side libraries like Apple's swift-homomorphic-encryption, preventing iOS devices from offloading inference to the distributed cluster.

Desired State
An iOS client can encrypt data using Apple's Swift library, send it to the distributed-zkml cluster for processing, and receive a valid result. The system acts as a high-performance backend for mobile privacy apps.

Actions

  • Define a shared serialization schema (Protobuf/Cap'n Proto) compatible with Apple's SEAL-based ciphertext format.
  • Implement a Rust adapter crate (zkml-swift-bridge) to deserialize Swift vectors into concrete or halo2 native witnesses.
  • Create an integration test where a mock Swift payload is successfully processed by the distributed prover.

Success Criteria

  • Rust adapter successfully deserializes a sample vector exported from swift-homomorphic-encryption.
  • The distributed prover accepts this external input and generates a valid proof/result.
  • Decryption of the result matches the expected plaintext value.

Related to apple/swift-homomorphic-encryption#138

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions