问题标签 [seal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Azure 函数无法加载 Nuget 包 - 在本地工作
我一直在开发一个 azure 函数,它会接收加密数据并对这些数据进行一些操作然后返回。但是,我遇到了 Microsoft SEAL Nuget 包的问题。当我在本地运行我的函数时没有问题并且我可以使用该包,但是当我将我的函数发布到天蓝色时,我收到一条警告说:
该函数仍然发布到 azure,但是当我尝试发送请求时,我收到错误 500,这仅在使用 SEAL 功能时。当我检查有关 azure 的功能见解时,失败给出了错误:
Could not load file or assembly 'SEALNet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
根据我的研究,我认为这可能是一个依赖问题,但我无法解决这个问题。如果我没有正确格式化,请提前感谢 欢迎编辑。
c# - 无法将 Json 反序列化为类型,无法找到构造函数
我在反序列化发送到 azure 函数的 JSON 时遇到了一些问题。首先,我打算将一组带有 post 的 Ciphertext 类型发送到 azure,反序列化 JSON 以恢复我的数据,然后对该数据进行操作。我的类如下所示被调用,它有一个typesampleClass
属性:ciphertext
Ciphertext
这是我试图序列化/反序列化的类。
要发布我使用 HttpClient 的数据,我将其发布为 JSON,如下所示:
在我的天蓝色函数中,我试图将 Json 作为流读取并将其反序列化为 sampleClass [],但是这给了我一个错误。
抛出的错误如下所示:
执行“Function1”(失败,Id=1be7633e-6b6a-4626-98b7-8fec98eac633)[11/02/2020 15:50:48] System.Private.CoreLib:执行函数时出现异常:Function1。Newtonsoft.Json:找不到用于 Microsoft.Research.SEAL.Ciphertext 类型的构造函数。一个类应该有一个默认构造函数、一个带参数的构造函数或一个标有 JsonConstructor 属性的构造函数。路径“[0].ciphertext.CoeffModCount”,第 1 行,位置 32。
当我尝试反序列化我的 JSON 时抛出此错误,我该如何解决这个问题?
c++ - 带有 CKKS 的 Microsoft SEAL 中的矢量点积
我目前正在尝试使用 Microsoft SEAL 库实现矩阵乘法方法。我创建了一个vector<vector<double>>
作为输入矩阵并用CKKSEncoder
. 然而,编码器将整个向量打包成一个向量,Plaintext
所以我只有一个vector<Plaintext>
,这让我失去了 2D 结构(当然我会有一个vector<Ciphertext>
后加密)。拥有一维向量允许我完全访问行而不访问列。
我设法在编码之前转置矩阵。这允许我将第一个矩阵的行和第二个矩阵的列(转置形式的行)按分量相乘,但我无法将结果向量的元素加在一起,因为它被打包成一个密文。我只需要弄清楚如何使向量点积在 SEAL 中工作以执行矩阵乘法。我错过了什么还是我的方法错了?
c++ - 将 FetchContent_Declare 与 CMAKE_ARGS 一起使用
我正在使用cmake v3.13,我想将我ExternalProject_Add()
的SEAL库更改为:
当我使用时,ExternalProject_Add()
我已经使用过CMAKE_ARGS -DBUILD_SHARED_LIBS=ON
,这不适FetchContent_Declare()
用于仅下载库。
SEAL v3.5.2 CMakeLists.txt使用它来检查是否需要构建共享库:
有没有办法下载SEAL库FetchContent_Declare()
,然后在构建它时使用一些CMakeLists设置将CMAKE_ARGS -DBUILD_SHARED_LIBS=ON
参数传递给下载的库?
plaintext - 实数 CKKS Encoding Microsoft SEAL 明文形式
我想知道实数CKKS编码中明文的大小和形式,以小N为例:
- 输入向量数组= [1.1, 2.2]
- N = 8,比例增量= 2^2 = 4
- 插槽数 = N/2 = 4
明文形式:
- ptx = [4.4 8.8 0.0 0.0],大小为 N/2 或:
- ptx = [4.4 8.8 0.0 0.0 | 0.0 0.0 0.0 0.0] 大小为 N 或:
- ptx = [4.4 8.8 0.0 0.0 | 4.4 8.8 0.0 0.0] 大小为 N
谢谢您的帮助!
c++ - 如何在 Microsoft SEAL 3.1 中使用 CRT 批处理技术?
你能告诉我 SEAL 3.1 是否支持 PolyCRTBuilder 类吗?我正在尝试运行以下程序,但由于未在此范围内声明该类而失败。
/** 假设我有两个数组x = [1,2,3,4,5]
和xMean = [3,3,3,3,3]
. 我使用 PolyCRTBuilder(xCiphertext 和 xMeanCiphertext)组成并加密了这两个数组。如果我减去两个密文( xCiphertext MINUS xMeanCiphertext ),我应该得到xResult = [-2, -1, 0, 1, 2]
但在同态减法之后我得到了xResultDecrypted = [40959, 40960, 0 ,1, 2]
。我可以将溢出结果与普通模数集相关联,但是否有解决此问题的方法。这是代码:*/
laravel - Authorize.Net 支付网关徽标问题
如果我们不包含下面给出的代码,那么在现场支付是否有可能失败?
我正在使用 Laravel 框架。
matrix - 同态加密:使用 PALISADE 库的矩阵向量乘法
致所有他的专家:
我想用非常大的矩阵(600000 x 55)实现矩阵向量乘法。目前,我能够以少量输入执行加法、乘法、内积等运算。当我尝试将这些操作应用于较大的输入时,我会遇到错误,Invalid next size (normal)
或者我的主内存用完了,直到操作系统终止进程(退出代码 9)。
您是否有任何建议/示例如何归档实现矩阵向量乘法或类似方法的有效方法?(使用 BFV 和 CKKS)。
PS:我正在使用 PALISADE 库,但如果您有更好的建议,例如 SEAL 或 Helib,我也很乐意使用它们。
security - 对大型加密数据应用同态运算
目前正在尝试使用PALISADE 库进行同态加密。
我想在大型加密输入上应用简单的运算,例如加法和乘法。例如输入A[3200]
和输入B[4096]
两个向量/int值数组都被加密。有了这两个输入Enc(A)
,Enc(B)
我想应用一个乘法:
就我而言,上述要求的实现可以通过两种不同的方式解决:
将输入打包在单个密文(类似 SIMD)中,对于我可以用来
EvalIndexAt()
从加密输入中获取正确值的操作。分别加密来自 A 和 B 的每个值。
我不太确定所描述的解决方案在效率方面是最好的。第一种方法的主要优点是整个输入只需要一个加密过程,但这也带来了缺点,即我总是必须使用该 EvalAtIndex()
方法访问正确的元素,并且输入越大,获取的计算越慢EvalAtIndexKeyGen()
。(至少在我的机器上)
第二种方法似乎更合适,因为EvalAtIndex()
不需要,但它带来了单独加密每个值的成本,这需要相当长的时间。
有什么想法建议吗?
installation - 安装 Mircosoft SEAL 失败
当我使用 vcpkg 安装 SEAL 时,会出现以下情况:
C:\src\vcpkg\vcpkg\buildtrees\seal\config-x86-windows-dbg-out.log
C:\src\vcpkg\vcpkg\buildtrees\seal\config-x86-windows-dbg-err.log
what's the maining of "Zstandard: must be static" ???
请告诉我如何修复它或如何在 Windows 上安装 SEAL。谢谢!