-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot generate public key #9
Comments
Little update: I tried to convert the C++ function in keygenerator.h:
to this function in keygenerator.jl
But Julia crashes with a segmentation fault whenever I try to run that function... Thank you |
Hej @narger-ef, thanks for posting this issue. You have caught me in a particularly bad moment, I have to admit: the JLL file with the SEAL binaries was recently updated to SEAL 3.6.2, while this library is still supporting the SEAL API as of v3.5.4. I cannot immediately give you an answer to your question, since I first need to have a closer look into what has changed on their side, but I will try to get back to you within the next few days. At the moment I don't see immediately why your snippet for function create_public_key(destination::PublicKey, keygen::KeyGenerator)
handleref = Ref{Ptr{Cvoid}}(C_NULL)
retval = ccall((:KeyGenerator_CreatePublicKey, libsealc), Clong,
(Ptr{Cvoid}, {Ptr{Cvoid}}),
keygen, keyptr)
@check_return_value retval
destination.handle = handleref[]
return destination
end This is similar to what we do in Lines 33 to 40 in fd1002f
However, the question remains: Why do you want to pass an already created public key to the function that is supposed to create one for you, instead of just modifying the lines I just referenced into calling KeyGenerator_CreatePublicKey instead of KeyGenerator_PublicKey ?
|
Hello, I managed to update the function following your example, I just had to add another null pointer since the method in 3.6 is defined like this:
By the way your question makes sense and I agree with you, but in (3.6 changelog), they say that:
And even in (
So I'm trying to update sticking to the original library. Anyway I hope that your bad moment will pass as soon as possible! Thank you |
OK, thanks for letting me know. I have not have worked with this package that much lately, but seeing that there's interest also from other people, I will have a look at it in the next week and let you know once I know how much time it will take me to update everything. |
@narger-ef Just to give you an update: in #13 I have fixed all tests and updated the API such that everything works again with SEAL v3.6.2. It will take me a little more time (1-2 days would be my guess), but then I'll merge and create a new release of SEAL.jl (probably v0.4.0). I'll let you know here once this has happened. |
Wow, thank you so much! I'm gonna use this library for some months so this update will absolutely be good for me |
@narger-ef I managed to finish everything I wanted to do before the next release, and I just registered v0.4.0 as a new version of SEAL.jl. Please verify that everything works and if yes, feel free to close this issue. I'm happy to hear that someone else is also using this library, thus in case of questions, please do not hesitate to create new issues! |
Thank you, I'm going to test it tomorrow. I am trying to study feasibility of traditional ML algorithms using FHE in Julia, of course I'm going to update if the work has potential. Thank you again! Take care |
Hello everyone, I'm new with this library so I'm trying the examples but Julia gives me an error when I try to generate a public key, in this line:
public_key_ = public_key(keygen);
Saying
ERROR: could not load symbol KeyGenerator_PublicKey
I noticed that in the header keygenerator.h of the original SEAL library the way to generate a public key is to call generate_public_key(), could the problem be there?
I also noticed that there used to be a public_key() generation function in old SEAL versions (<3.6), so probably it's just a renaming procedure, but I'm not very practical with call function =(
Anyone can help?
Thank you!
The text was updated successfully, but these errors were encountered: