{
  "title": "TAIA Confidential Screening test vectors (DRAFT v0.1)",
  "seed_hex": "7461696120636f6e666964656e7469616c2073637265656e696e672074762031",
  "drbg": "SHA-256(seed || '\\n' || stream label || '\\n' || u64be counter), blocks concatenated; replaces crypto.getRandomValues for node-seal and for the service's masks",
  "environment": {
    "node": "v22.13.1",
    "node_seal": "7.0.0",
    "seal_wasm_sha256": "b30d3776265a56373a2001d2cd48baa8d72ddd571e04ddfaefd4c231271170e4",
    "screening_protocol_mjs_sha256": "adc4393edb1b85def011961f9e69a1b1a4629f92af5f22877012f5a25cf898f1",
    "snapshot_sha256": "1447ab07d53c32ab7918dafd3965beece3d4bf945f2fae6685ecbb61129d5779",
    "snapshot_names": 74757
  },
  "params": {
    "protocol": "taia-confidential-screening-1",
    "normalisation": "cscr-norm-2",
    "param_class": "n4096-t20-d9",
    "scheme": "BFV",
    "poly_modulus_degree": 4096,
    "plain_modulus": "1032193",
    "plain_modulus_bits": 20,
    "coeff_modulus_primes": [
      "68719403009",
      "68719230977",
      "137438822401"
    ],
    "coeff_modulus_prime_bits": [
      36,
      36,
      37
    ],
    "coeff_modulus_bits_key_level": 109,
    "coeff_modulus_bits_data_level": 72,
    "security_level_checked_by_seal": "tc128 (SEALContext built with SecLevelType.tc128)",
    "bins": 4096,
    "degree": 9,
    "answers": [
      {
        "list": "ofac_sdn",
        "rows": 3,
        "max_bin_load": 24,
        "names": 43109
      },
      {
        "list": "eu_fsf",
        "rows": 2,
        "max_bin_load": 18,
        "names": 30125
      },
      {
        "list": "seco",
        "rows": 2,
        "max_bin_load": 13,
        "names": 15796
      }
    ],
    "max_bin_load_any": 38
  },
  "normalisation": [
    {
      "input": "José O'Neil-Pérez",
      "normalised": "jose oneil perez",
      "bin": 4041,
      "x": "410716"
    },
    {
      "input": "PEREZ JOSE ONEIL",
      "normalised": "jose oneil perez",
      "bin": 4041,
      "x": "410716"
    },
    {
      "input": "Pérez, José O’Neil",
      "normalised": "jose oneil perez",
      "bin": 4041,
      "x": "410716"
    },
    {
      "input": "O´Neil José Pérez",
      "normalised": "jose oneil perez",
      "bin": 4041,
      "x": "410716"
    },
    {
      "input": "Jose Perez",
      "normalised": "jose perez",
      "bin": 1739,
      "x": "850242"
    },
    {
      "input": "Straße Æsir Øre Łódź",
      "normalised": "aesir lodz ore strasse",
      "bin": 2160,
      "x": "341141"
    },
    {
      "input": "ＡＢＣ　Ｄｅｆ＇ｇ",
      "normalised": "abc defg",
      "bin": 888,
      "x": "485354"
    },
    {
      "input": "Пример Тест",
      "normalised": "пример тест",
      "bin": 1868,
      "x": "963375"
    },
    {
      "input": "  --  ",
      "normalised": "",
      "note": "empty after normalisation: the page refuses it before any request"
    }
  ],
  "cases": [
    {
      "id": "case-1-match-all",
      "input": "SAHA AIRLINES",
      "note": "an airline entity on OFAC SDN, the EU list and SECO; typed in upper case and the list's other word order",
      "normalised": "airlines saha",
      "bin": 1114,
      "x": "770756",
      "seed_streams": {
        "client": "client/case-1-match-all",
        "server": "server/case-1-match-all"
      },
      "random_bytes_drawn": {
        "client": 4944,
        "server": 114688
      },
      "query_bytes": 418272,
      "query_ciphertexts": 9,
      "answer_bytes": 619716,
      "answer_ciphertexts": 7,
      "result": {
        "ofac_sdn": true,
        "eu_fsf": true,
        "seco": true
      },
      "possible_match_any": true,
      "min_noise_budget_bits": 21,
      "files": {
        "secret_key": "case-1-match-all.secret-key.bin",
        "query": "case-1-match-all.query.bin",
        "answer": "case-1-match-all.answer.bin"
      }
    },
    {
      "id": "case-2-match-some",
      "input": "Bank Melli",
      "note": "an entity whose exact normalised name 'bank melli' is on OFAC SDN and the EU list, not on SECO (SECO carries 'bank melli plc')",
      "normalised": "bank melli",
      "bin": 1449,
      "x": "82390",
      "seed_streams": {
        "client": "client/case-2-match-some",
        "server": "server/case-2-match-some"
      },
      "random_bytes_drawn": {
        "client": 4908,
        "server": 114688
      },
      "query_bytes": 417961,
      "query_ciphertexts": 9,
      "answer_bytes": 619747,
      "answer_ciphertexts": 7,
      "result": {
        "ofac_sdn": true,
        "eu_fsf": true,
        "seco": false
      },
      "possible_match_any": true,
      "min_noise_budget_bits": 21,
      "files": {
        "secret_key": "case-2-match-some.secret-key.bin",
        "query": "case-2-match-some.query.bin",
        "answer": "case-2-match-some.answer.bin"
      }
    },
    {
      "id": "case-3-no-match",
      "input": "Testname Nomatch Example",
      "note": "an invented name on none of the lists",
      "normalised": "example nomatch testname",
      "bin": 3446,
      "x": "753275",
      "seed_streams": {
        "client": "client/case-3-no-match",
        "server": "server/case-3-no-match"
      },
      "random_bytes_drawn": {
        "client": 4816,
        "server": 114688
      },
      "query_bytes": 418100,
      "query_ciphertexts": 9,
      "answer_bytes": 619636,
      "answer_ciphertexts": 7,
      "result": {
        "ofac_sdn": false,
        "eu_fsf": false,
        "seco": false
      },
      "possible_match_any": false,
      "min_noise_budget_bits": 21,
      "files": {
        "secret_key": "case-3-no-match.secret-key.bin",
        "query": "case-3-no-match.query.bin",
        "answer": "case-3-no-match.answer.bin"
      }
    }
  ]
}
