FHERMA
L4 · APPLICATIONMEASURED

Encrypted Fraud Detection

encrypted-fraud-detection · spec v0.1.0 · 0 implementations · 6 runners

Create implementationSpecification

DESCRIPTION

Classifies encrypted transaction records as legitimate or fraudulent.

The shape of the problem is what makes it interesting rather than the algorithm: fraud is rare, so accuracy is a misleading number, and the cost of a missed fraud is nothing like the cost of a false alarm. A realization is judged on the balance it strikes, which is why the metric has to be stated with the workload.

The cookbook records two realizations — a support vector machine with a linear kernel, and one with a radial basis kernel that needs an approximated exponential. They sit under the same kernel because they answer the same question at different points on the same cost curve.

INTERFACE

encrypted_fraud_detection(
  in  ct     : Ciphertext  // the encrypted transaction features
  out ct     : Ciphertext  // the encrypted verdict per transaction
  ...               // anything else the realization needs — keys, context, encoding — is its own concern
)

PARAMETER SCHEMA

NAMETYPERANGE
featuresinteger1 – 2^12
batch_sizeinteger1 – 2^16
target_accuracynumber0.5 – 1
model_publicbooleantrue, false

The schema belongs to the kernel. Each implementation declares which part of it it supports.

CORRECTNESS

01Each record receives a verdict, and the verdict is stable across runs.
02Performance is reported on both classes, since a rare positive makes overall accuracy easy and meaningless.
03The encoding of the verdict is fixed and stated, so a client can act on it without a convention of its own.

SECURITY PROPERTIES

Transaction features stay encrypted throughout, and the verdict is returned encrypted. Where the model is private, the answers must not reveal its weights.

ASSUMPTIONS

Feature extraction and scaling happen before encryption and are outside this kernel.

REFERENCES

Encrypted Fraud Detection · FHERMA