{
  "created_utc": "2026-10-22 00:46:48",
  "seed": 20261022,
  "target_sizes": [
    16,
    20,
    24,
    28,
    32,
    36,
    40,
    44,
    48
  ],
  "environment": "Python stdlib; ordinary curves with full prime group order (cofactor 1), Hasse certified",
  "curve_parameters": [
    {
      "bits": 16,
      "p": 49177,
      "a": 0,
      "b": 5,
      "n": 48799,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 35853,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 20,
      "p": 786433,
      "a": 0,
      "b": 100000,
      "n": 784897,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 432451,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 24,
      "p": 12582919,
      "a": 0,
      "b": 17,
      "n": 12587563,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 6211686,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 28,
      "p": 201326707,
      "a": 0,
      "b": 32,
      "n": 201298843,
      "cofactor": 1,
      "Gx": 2,
      "Gy": 720710,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 32,
      "p": 3221225563,
      "a": 0,
      "b": 32,
      "n": 3221180089,
      "cofactor": 1,
      "Gx": 2,
      "Gy": 1316874620,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 36,
      "p": 51539607793,
      "a": 0,
      "b": 5,
      "n": 51539513437,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 30036951039,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 40,
      "p": 824633721253,
      "a": 0,
      "b": 32,
      "n": 824635470601,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 589248034951,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 44,
      "p": 13194139533493,
      "a": 0,
      "b": 3125,
      "n": 13194144388501,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 10994730794884,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    },
    {
      "bits": 48,
      "p": 211106232533407,
      "a": 0,
      "b": 3,
      "n": 211106205190693,
      "cofactor": 1,
      "Gx": 1,
      "Gy": 2,
      "prime_order_verified": true,
      "embedding_degree_gt_32": true
    }
  ],
  "measurements": [
    {
      "bits": 16,
      "n": 48799,
      "method": "exhaustive",
      "trial": 1,
      "status": "found",
      "group_ops": 18217,
      "elapsed_seconds": 0.024965,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 16,
      "n": 48799,
      "method": "exhaustive",
      "trial": 2,
      "status": "found",
      "group_ops": 6737,
      "elapsed_seconds": 0.012264,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 16,
      "n": 48799,
      "method": "BSGS",
      "trial": 1,
      "status": "found",
      "group_ops": 343,
      "elapsed_seconds": 0.000499,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 16,
      "n": 48799,
      "method": "BSGS",
      "trial": 2,
      "status": "found",
      "group_ops": 354,
      "elapsed_seconds": 0.000631,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 16,
      "n": 48799,
      "method": "Pollard rho",
      "trial": 1,
      "status": "found",
      "group_ops": 416,
      "elapsed_seconds": 0.000676,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 16,
      "n": 48799,
      "method": "Pollard rho",
      "trial": 2,
      "status": "found",
      "group_ops": 492,
      "elapsed_seconds": 0.000745,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 20,
      "n": 784897,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 20,
      "n": 784897,
      "method": "BSGS",
      "trial": 1,
      "status": "found",
      "group_ops": 1021,
      "elapsed_seconds": 0.001746,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 20,
      "n": 784897,
      "method": "BSGS",
      "trial": 2,
      "status": "found",
      "group_ops": 1374,
      "elapsed_seconds": 0.00245,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 20,
      "n": 784897,
      "method": "Pollard rho",
      "trial": 1,
      "status": "found",
      "group_ops": 9929,
      "elapsed_seconds": 0.016955,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 20,
      "n": 784897,
      "method": "Pollard rho",
      "trial": 2,
      "status": "found",
      "group_ops": 4172,
      "elapsed_seconds": 0.008435,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 24,
      "n": 12587563,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 24,
      "n": 12587563,
      "method": "BSGS",
      "trial": 1,
      "status": "found",
      "group_ops": 5748,
      "elapsed_seconds": 0.009856,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 24,
      "n": 12587563,
      "method": "BSGS",
      "trial": 2,
      "status": "found",
      "group_ops": 4761,
      "elapsed_seconds": 0.008953,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 24,
      "n": 12587563,
      "method": "Pollard rho",
      "trial": 1,
      "status": "found",
      "group_ops": 21675,
      "elapsed_seconds": 0.038481,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 24,
      "n": 12587563,
      "method": "Pollard rho",
      "trial": 2,
      "status": "found",
      "group_ops": 2704,
      "elapsed_seconds": 0.004813,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 28,
      "n": 201298843,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 28,
      "n": 201298843,
      "method": "BSGS",
      "trial": 1,
      "status": "found",
      "group_ops": 17542,
      "elapsed_seconds": 0.032316,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 28,
      "n": 201298843,
      "method": "Pollard rho",
      "trial": 1,
      "status": "found",
      "group_ops": 80556,
      "elapsed_seconds": 0.163376,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 32,
      "n": 3221180089,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 32,
      "n": 3221180089,
      "method": "BSGS",
      "trial": 1,
      "status": "found",
      "group_ops": 88311,
      "elapsed_seconds": 0.189442,
      "correct": true,
      "reason": ""
    },
    {
      "bits": 32,
      "n": 3221180089,
      "method": "Pollard rho",
      "trial": 1,
      "status": "capped",
      "group_ops": 150000,
      "elapsed_seconds": 0.335717,
      "correct": null,
      "reason": "Operation cap"
    },
    {
      "bits": 36,
      "n": 51539513437,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 36,
      "n": 51539513437,
      "method": "BSGS",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 36,
      "n": 51539513437,
      "method": "Pollard rho",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 40,
      "n": 824635470601,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 40,
      "n": 824635470601,
      "method": "BSGS",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 40,
      "n": 824635470601,
      "method": "Pollard rho",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 44,
      "n": 13194144388501,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 44,
      "n": 13194144388501,
      "method": "BSGS",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 44,
      "n": 13194144388501,
      "method": "Pollard rho",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 48,
      "n": 211106205190693,
      "method": "exhaustive",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 48,
      "n": 211106205190693,
      "method": "BSGS",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    },
    {
      "bits": 48,
      "n": 211106205190693,
      "method": "Pollard rho",
      "trial": null,
      "status": "skipped_budget",
      "group_ops": null,
      "elapsed_seconds": null,
      "correct": null,
      "reason": "VPS resource cap / no extrapolated measurements"
    }
  ],
  "ml": [
    {
      "bits": 16,
      "n": 48799,
      "elapsed_seconds": 0.01564044100814499,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 0.0012295585884667404,
      "exact_accuracy": 0.0,
      "guess_accuracy": 2.049264314111234e-05,
      "bit_accuracy": 0.4895833333333333,
      "training_keys_disjoint": true,
      "inference_seconds": 0.006481532996986061,
      "group_ops_for_dataset": 7083,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 20,
      "n": 784897,
      "elapsed_seconds": 0.01909702899865806,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 7.644324853228962e-05,
      "exact_accuracy": 0.0,
      "guess_accuracy": 1.274054142204827e-06,
      "bit_accuracy": 0.49416666666666664,
      "training_keys_disjoint": true,
      "inference_seconds": 0.007533681986387819,
      "group_ops_for_dataset": 8944,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 24,
      "n": 12587563,
      "elapsed_seconds": 0.022472320997621864,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 4.766610087004934e-06,
      "exact_accuracy": 0.0,
      "guess_accuracy": 7.944350145008223e-08,
      "bit_accuracy": 0.4861111111111111,
      "training_keys_disjoint": true,
      "inference_seconds": 0.007708283985266462,
      "group_ops_for_dataset": 10739,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 28,
      "n": 201298843,
      "elapsed_seconds": 0.02672536001773551,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 2.980643077916961e-07,
      "exact_accuracy": 0.0,
      "guess_accuracy": 4.967738463194935e-09,
      "bit_accuracy": 0.5107142857142857,
      "training_keys_disjoint": true,
      "inference_seconds": 0.008471344015561044,
      "group_ops_for_dataset": 12794,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 32,
      "n": 3221180089,
      "elapsed_seconds": 0.03414889398845844,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 1.8626713924974444e-08,
      "exact_accuracy": 0.0,
      "guess_accuracy": 3.1044523208290737e-10,
      "bit_accuracy": 0.49375,
      "training_keys_disjoint": true,
      "inference_seconds": 0.010145003005163744,
      "group_ops_for_dataset": 14707,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 36,
      "n": 51539513437,
      "elapsed_seconds": 0.04348460800247267,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 1.1641553441226398e-09,
      "exact_accuracy": 0.0,
      "guess_accuracy": 1.9402589068710663e-11,
      "bit_accuracy": 0.5060185185185185,
      "training_keys_disjoint": true,
      "inference_seconds": 0.012219614000059664,
      "group_ops_for_dataset": 16555,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 40,
      "n": 824635470601,
      "elapsed_seconds": 0.05113964100019075,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 7.275942175558413e-11,
      "exact_accuracy": 0.0,
      "guess_accuracy": 1.2126570292597355e-12,
      "bit_accuracy": 0.5025,
      "training_keys_disjoint": true,
      "inference_seconds": 0.013009525020606816,
      "group_ops_for_dataset": 18545,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 44,
      "n": 13194144388501,
      "elapsed_seconds": 0.060359704977599904,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 4.5474718354830134e-12,
      "exact_accuracy": 0.0,
      "guess_accuracy": 7.579119725805023e-14,
      "bit_accuracy": 0.48522727272727273,
      "training_keys_disjoint": true,
      "inference_seconds": 0.014729882008396089,
      "group_ops_for_dataset": 20153,
      "model": "5-NN coordinate-to-scalar regression"
    },
    {
      "bits": 48,
      "n": 211106205190693,
      "elapsed_seconds": 0.0693522589863278,
      "train": 256,
      "test": 60,
      "hits": 0,
      "random_hits": 0,
      "expected_random_hits": 2.8421713111560156e-13,
      "exact_accuracy": 0.0,
      "guess_accuracy": 4.736952185260026e-15,
      "bit_accuracy": 0.4892361111111111,
      "training_keys_disjoint": true,
      "inference_seconds": 0.015893492993200198,
      "group_ops_for_dataset": 22187,
      "model": "5-NN coordinate-to-scalar regression"
    }
  ],
  "positive_controls": [
    {
      "status": "pass",
      "control": "supersingular_MOV_pairing",
      "field_prime": 131203,
      "subgroup_prime": 32801,
      "subgroup_bits": 16,
      "embedding_degree": 2,
      "hidden_k": 5271,
      "recovered_k": 5271,
      "pairing_operations_EC": 66,
      "finite_field_multiplications_BSGS": 210,
      "elapsed_seconds": 0.0011797529878094792,
      "note": "Genuine reduced Tate pairing followed by Fp² discrete log."
    }
  ],
  "not_run": [
    "Smart anomalous-curve attack (requires p-adic toolchain)"
  ],
  "fits": [
    {
      "method": "BSGS",
      "slope_log2_ops_vs_bits": 0.49484658870105314,
      "samples": 8
    },
    {
      "method": "Pollard rho",
      "slope_log2_ops_vs_bits": 0.5538513070500662,
      "samples": 7
    }
  ],
  "limitations": [
    "Measured op counts are group additions/doublings, not equivalent CPU instructions.",
    "Memory/operation caps cause SKIPPED or CAPPED, not failures of attacks.",
    "ML is kNN scalar regression on (x/p,y/p), disjoint training and test keys.",
    "ML accuracy 1/n is a theoretical uniform-guess baseline; 60 trials per curve cannot resolve such tiny probabilities.",
    "Positive MOV test is on a weak supersingular curve; it does not imply the ML model learned the attack.",
    "Theoretical projections are not observed timings."
  ]
}