Encrypted Image Classification
encrypted-image-classification · spec v0.1.0 · 0 implementations · 6 runners
DESCRIPTION
Assigns a class label to an encrypted image without decrypting it at any point.
The kernel covers the whole pipeline, because that is what a user of it needs: encoding the image into ciphertext, evaluating a model over it, and returning an encrypted label. Splitting the model into layers is an implementation decision, and different realizations split it differently — the cookbook records both a Kolmogorov-Arnold network and a multilayer perceptron reaching the same target.
What makes this an application rather than an operation is how success is measured: not by numeric distance to a reference ciphertext, but by how often the decrypted label is right across a dataset. Latency per image and the accuracy achieved trade against each other, and both belong to the answer.
INTERFACE
encrypted_classify( in ct : Ciphertext // the encrypted image out ct : Ciphertext // the encrypted class label, or scores per class ... // anything else the realization needs — keys, context, encoding — is its own concern )
PARAMETER SCHEMA
The schema belongs to the kernel. Each implementation declares which part of it it supports.
CORRECTNESS
A classifier that reaches the target on a hundred sampled images and not on the full set has not reached it. The legacy contest re-tested every qualifying entry on a larger subset for exactly this reason.
SECURITY PROPERTIES
The image and the resulting label stay encrypted end to end. Where the model is private too, its weights must not be recoverable from the answers.
ASSUMPTIONS
The client holds the keys and performs the final decryption. Model training happens in the clear and is outside this kernel.