Closed Guillaume-AV closed 3 years ago
Hey @Guillaume-AV, when you save any serializable object with node-seal
using the .save()
function it gets serialized as a base64 string (compression always defaults to use ZSTD for all operations). There's also another method to save/load using a byte-array (Uint8Array) by calling the respective .saveArray()
and .loadArray()
functions.
I'd start by serializing/deserializing the encryption parameters first before attempting to debug the public key as the serialized output of the encryption parameters can be directly compared since it stores only deterministic data. Then try saving the encryption parameters in node-seal
and in your c#
application as a plain byte-array and comparing the output. From there, you should be able to identify if there's an issue with the byte-order.
Hello, Thanks for the advise. I check parameters and my issue was when I create the CoeffModulus. I used "CoeffModulus.BFVDefault" in C# and I didn't find the bitSizes used in this function. So I adapte the code used with your librairie in C# and I haven't the problem anymore.
Hello, I try to use the Microsoft Seal librairie and your librairie to build an application. In my situtation, the api generate the key and the front need to load the public key to send the ciphertext to the api. But when I want to load the string in the key, I have an error : "Error: ciphertext data is invalid" My api is in C# witth the Microsoft nuget (https://www.nuget.org/packages/Microsoft.Research.SEALNet) version 3.6.4 And my front use angular with your package.
When I export the public key from the api, I use the save function and convert the UTF16 string in UTF8 string (I read that could be a source of issue) :
Next I imagine build the context with the same parameter :
And when it's the time to load the key with this :
I read you are supporting Microsoft Seal 3.6.4, so I would like some advises to understand what is the problem.