Skip to content
This repository has been archived by the owner on May 11, 2024. It is now read-only.

Minimum security level? #29

Open
dnat112 opened this issue Feb 23, 2020 · 5 comments
Open

Minimum security level? #29

dnat112 opened this issue Feb 23, 2020 · 5 comments

Comments

@dnat112
Copy link
Contributor

dnat112 commented Feb 23, 2020

For all the examples I try to run, including the simple matrix multiply example in the "examples" folder, I get an output which says

[WARN] 2020-02-23T08:18:04z src/seal/seal_util.cpp 36 Parameter selection does not enforce minimum security level

I have tried using every parameter setting in the "configs" folder.

Is this the expected behavior?

@fboemer
Copy link
Contributor

fboemer commented Feb 26, 2020

The warning will be emitted for any parameter selection which sets security_level: 0. Unfortunately, the default parameters use security_level: 0, so this warning will be printed several times. As long as you set security_level >= 128 (e.g. https://github.com/IntelAI/he-transformer/blob/master/configs/he_seal_ckks_config_N13_L7.json#L4), you will have appropriate security.

So it is expected, but not ideal, behavior. I'll leave this open to fix.

@dnat112
Copy link
Contributor Author

dnat112 commented Feb 26, 2020

I actually get this message for every parameter setting in the configs folder, including N13_L7.

For example, the command:

python examples/ax.py --backed=HE_SEAL --encryption_parameters=configs/he_seal_ckks_config_N13_L7.json

produces this as output:

config graph_options {
  rewrite_options {
    meta_optimizer_iterations: ONE
    min_graph_nodes: -1
    custom_optimizers {
      name: "ngraph-optimizer"
      parameter_map {
        key: "device_id"
        value {
          s: ""
        }
      }
      parameter_map {
        key: "enable_client"
        value {
          s: "False"
        }
      }
      parameter_map {
        key: "encryption_parameters"
        value {
          s: "configs/he_seal_ckks_config_N13_L7.json"
        }
      }
      parameter_map {
        key: "ngraph_backend"
        value {
          s: "HE_SEAL"
        }
      }
    }
  }
}

Result:  [[2. 3. 4. 5.]]
[WARN] 2020-02-26T20:06:14z src/seal/seal_util.cpp 36	Parameter selection does not enforce minimum security level
[WARN] 2020-02-26T20:06:14z src/seal/seal_util.cpp 36	Parameter selection does not enforce minimum security level
[WARN] 2020-02-26T20:06:14z src/seal/seal_util.cpp 36	Parameter selection does not enforce minimum security level
[WARN] 2020-02-26T20:06:14z src/seal/seal_util.cpp 36	Parameter selection does not enforce minimum security level

@fboemer
Copy link
Contributor

fboemer commented Feb 26, 2020

This is the result of the default encryption parameters here, which are used before the --encryption_parameters argument is processed.

@jchen98
Copy link

jchen98 commented Mar 28, 2020

I am also experiencing the same issue when I try to use configuration files even with security level >= 128. If I am understanding this correctly, are you saying that the warnings are before the processing step, but the matrix multiplication is actually run with the correct security level in the config?

@fboemer
Copy link
Contributor

fboemer commented Mar 28, 2020

Yes, this is correct.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants