ntt

Engine.ntt(ciphertext)
Apply an NTT (Number Theoretic Transform) to a ciphertext to make multiplication more efficiently. Does not consume any level. In any operation, the engine will automatically apply an NTT to input ciphertexts if needed.

Warning

  • This function is intended for experts who want the best possible performance.
  • The matrix form does not yet support this operation.
  • input:
    • Ciphertext
  • Output:
    • Ciphertext
from desilofhe import Engine

engine = Engine()
secret_key = engine.create_secret_key()
public_key = engine.create_public_key(secret_key)

message = [1, 2, 3]
ciphertext = engine.encrypt(message, public_key)

ntt_form = engine.ntt(ciphertext)
Engine.ntt(plaintext)
Apply an NTT to a plaintext to make multiplication more efficiently. Does not consume any level. In any operation, the engine will automatically apply an NTT to input plaintexts if needed.

Warning

  • This function is intended for experts who want the best possible performance.
  • The matrix form does not yet support this operation.
  • input:
    • Plaintext
  • Output:
    • Plaintext
from desilofhe import Engine

engine = Engine()

message = [1, 2, 3]
plaintext = engine.encode(message)

ntt_form = engine.ntt(plaintext)