实数纯文本的形式 CKKS 编码 微软 SEAL

问题描述 投票:0回答:2

我想知道CKKS编码中实数Plaintext的大小和形式,以小N为例。

  • 0.0 0.0 0.0 0.0] with size of Nor:ptx = [4.4 8.8 0.0 0.0 阵列
  • = [1.1, 2.2]N =8,比例尺 三角洲
  • = 2^2 = 4

槽数 = N2 = 4

  • 纯文本的形式。
  • ptx = [4.4 8.8 0.0 0.0] 大小为N2or:
  • ptx = [4.4 8.8 0.0 0.0] 2 = 4 形式... ...

首先,在CKKS中,槽数总是N2,其中N为

. 当你对一个短于该值的向量进行编码时,其余的槽会被简单地设置为零。因此,在你的情况下,明文槽的值将是
plaintext seal
2个回答
0
投票

输入的向量和它的复数共轭的长度是双倍的;poly_modulus_degree计算一个类似FFT的变换,将输入向量转换成复系数多项式。[1.1, 2.2, 0.0, 0.0]复数系数按指定的比例进行缩放。

系数的实部被提取为一个整数。

  1. (其实这是在RNS表示法中,即,模数的每个
  2. prime).结果RNS多项式被转换成NTT形式,这是使用CKKS时Plaintexts的默认状态。
  3. 得到的RNS多项式被转换为NTT形式,这是使用CKKS时Plaintexts的默认状态。
  4. 如果不进行缩放,步骤4.将引入大量的错误,以至于这个过程将变得完全不可逆。modulo coeff_modulus coeff_modulus
  5. 我真的很感谢你的帮助。我很模糊如何使用CKKS方案将信息矢量编码和加密成密文,我无法用SEAL代码打印出来。总之,我想知道。

步骤是:

2

0
投票

5

  1. 将一个N大小的向量转化为一个N大小的NTT形式的密文。将实数向量和复数向量分步加倍有什么不同?1, 如何将复数的实数&象部分映射到N2槽中,分步进行。
  2. 2?如果问题很傻,请不要笑我:)。) 谢谢你的帮助。
© www.soinside.com 2019 - 2024. All rights reserved.