encrypt
최대 레벨로의 암호화
Engine.encrypt(plaintext, public_key)
- 인코딩 된 Plaintext를 암호화합니다. 생성된 암호문의 최대 곱셈 횟수는 plaintext의 지정된 최대 곱셈 횟수와 같습니다.
- 인풋:
- Plaintext
- SecretKey
-
아웃풋:
- Ciphertext
암호화 자체만 놓고 보면 인코딩과 암호화가 통합된 API를 호출하는 것이 더 빠르기 때문에 분리된 API를 호출하는 것은 권장하지는 않습니다. 동일한 메시지를 여러번 암호화해야하는 경우나, 이미 다른 용도로 인코딩된 메시지를 암호화하는 경우에만 사용하는 것을 추천합니다.
특정 레벨로의 암호화
Engine.encrypt(message, public_key, level)
- 리스트 형태의 메시지를 암호화합니다. 한번에 암호화 될 수 있는 최대 크기는
Engine.slot_count
로 확인할 수 있습니다. 메시지의 길이가 최대 크기를 넘어서면 에러가 발생하며, 최대 크기보다 작은 경우에는 0으로 패딩되어서 암호화 됩니다.
- 인풋:
- data: 파이선 리스트나 numpy 어레이 혹은 plaintext를 받습니다. dtype은 int, double, complex double 모두 가능합니다.
- SecretKey
- level: optional
- 지정된 경우에는 해당 최대 곱셈 횟수에 필요한 만큼만 인코딩을 합니다. 레벨이 낮을 수록 차지하는 공간이 작지만 최대 곱셈 횟수가 줄어듭니다.
- 아웃풋:
- Plaintext