conjugate

켤레화 키를 통환 켤레화

Engine.conjugate(ciphertext, conjugation_key)
암호문을 켤레화하여 반환합니다. 암호문이라면 켤레화 키가 필요합니다.
  • 인풋:
    • Ciphertext
    • ConjugationKey
  • 아웃풋:
    • Plaintext or Ciphertext
from desilofhe import Engine

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

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

일반적으로는 암호문의 레벨을 소모하지 않지만, 암호문의 레벨이 각 파라미터 설정의 최대 레벨의 경우 레벨이 하나 사용됩니다.

인코딩된 평문의 켤레화

Engine.conjugate(plaintext)
인코딩된 평문을 켤레화하여 반환합니다.
  • 인풋:
    • Plaintext
  • 아웃풋:
    • Plaintext
from desilofhe import Engine

engine = Engine()

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