Skip to content
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

Unexpected semantics of multiply #1

Closed
TomMD opened this issue Apr 18, 2013 · 2 comments
Closed

Unexpected semantics of multiply #1

TomMD opened this issue Apr 18, 2013 · 2 comments

Comments

@TomMD
Copy link
Contributor

TomMD commented Apr 18, 2013

It appears Ctxt::operator* and Ctxt::multiplyBy are intentionally different operations, though where this is in the paper or the source documentation is a mystery to me. I see that one is "higher-level ... that include also modulus-switching and re-linearization".

Perhaps this is an error in my expectation of exactly what amount of crypto knowledge the library intends to assume is necessary for the user.

@shaih
Copy link
Collaborator

shaih commented Apr 19, 2013

The difference is described in the design document, under the doc sub-directory.

My view of this library is that it gives you the analog of an "assembly language" for working with HE. Just like assembly language, you have to be quite knowledgeable about the architecture at hand to be able to use it effectively.

Regards,

-- Shai

@TomMD
Copy link
Contributor Author

TomMD commented Apr 19, 2013

Ok, thanks. I'll consider this a perception bug and close.

@TomMD TomMD closed this as completed Apr 19, 2013
rbharath added a commit to rbharath/hepy that referenced this issue May 16, 2018
faberga pushed a commit that referenced this issue Sep 7, 2020
* Added CMakeCache to git ignore
* Bug fix in utils std.bash techo function
* Top level CMakeLists for all example programs
* Bats tests and tweaks for example programs
* Typo fix and corrected indentation
* Removed bc from bats test
* Refactored away some common relative paths
* Removed runtest.sh
* Improved error message when failing to find database file
* Added README for examples

Co-authored-by: Jack Crawford <jack.crawford@sky.com>
Co-authored-by: Enrico Steffinlongo <enrylongo@gmail.com>
UnionTech-Software added a commit to UnionTech-Software/HElib that referenced this issue Dec 20, 2024
This patch fixes the memory leak in zzX

==47958==ERROR: LeakSanitizer: detected memory leaks
                                                                                                                                       
Direct leak of 176 byte(s) in 1 object(s) allocated from:
    #0 0x794a300b61e7 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99                          
    homenc#1 0x5777885d6c36 in helib::getPhimXMod(helib::PAlgebra const&) /home/uos/HElib-2.3.0/HElib-2.3.0/src/zzX.cpp:96

Indirect leak of 49152 byte(s) in 2 object(s) allocated from:
    #0 0x794a300b6357 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:102                       
    homenc#1 0x794a2fda81c1 in long* NTL::MakeRawArray<long>(long) ../include/NTL/SmartPtr.h:998
    homenc#2 0x794a2fda81c1 in NTL::UniqueArray<long>::SetLength(long) ../include/NTL/SmartPtr.h:1620
    homenc#3 0x794a2fda81c1 in NTL::fftRep::DoSetSize(long, long) /home/uos/HElib-2.3.0/HElib-2.3.0/build/dependencies/Source/ntl_fetched/src/lzz_pX.cpp:1378

Indirect leak of 13888 byte(s) in 1 object(s) allocated from:
    #0 0x794a300b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145                              
    homenc#1 0x577788032e4b in NTL::Vec<NTL::zz_p>::AllocateTo(long) /home/uos/HElib-2.3.0/HElib-2.3.0/build/helib_pack/include/NTL/vector.h:653

Indirect leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0x794a300b64c7 in operator new(unsigned long, std::nothrow_t const&) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:105  
    homenc#1 0x794a2fdac3a4 in NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy>* NTL::MakeRaw<NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy>>() ../include/NTL/SmartPtr.h:710
    homenc#2 0x794a2fdac3a4 in void NTL::UniquePtr<NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy>, NTL::DefaultDeleterPolicy>::make<>() ../include/NTL/SmartPtr.h:1109
    homenc#3 0x794a2fdac3a4 in void NTL::OptionalVal<NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy> >::make<>() ../include/NTL/SmartPtr.h:1479
    homenc#4 0x794a2fdac3a4 in NTL::build(NTL::zz_pXModulus&, NTL::zz_pX const&) /home/uos/HElib-2.3.0/HElib-2.3.0/build/dependencies/Source/ntl_fetched/src/lzz_pX.cpp:2845

SUMMARY: AddressSanitizer: 63272 byte(s) leaked in 5 allocation(s).
UnionTech-Software added a commit to UnionTech-Software/HElib that referenced this issue Dec 20, 2024
This patch fixes the memory leak in zzX

==47958==ERROR: LeakSanitizer: detected memory leaks
                                                                                                                                       
Direct leak of 176 byte(s) in 1 object(s) allocated from:
    #0 0x794a300b61e7 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99                          
    homenc#1 0x5777885d6c36 in helib::getPhimXMod(helib::PAlgebra const&) /home/uos/HElib-2.3.0/HElib-2.3.0/src/zzX.cpp:96

Indirect leak of 49152 byte(s) in 2 object(s) allocated from:
    #0 0x794a300b6357 in operator new[](unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:102                       
    homenc#1 0x794a2fda81c1 in long* NTL::MakeRawArray<long>(long) ../include/NTL/SmartPtr.h:998
    homenc#2 0x794a2fda81c1 in NTL::UniqueArray<long>::SetLength(long) ../include/NTL/SmartPtr.h:1620
    homenc#3 0x794a2fda81c1 in NTL::fftRep::DoSetSize(long, long) /home/uos/HElib-2.3.0/HElib-2.3.0/build/dependencies/Source/ntl_fetched/src/lzz_pX.cpp:1378

Indirect leak of 13888 byte(s) in 1 object(s) allocated from:
    #0 0x794a300b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145                              
    homenc#1 0x577788032e4b in NTL::Vec<NTL::zz_p>::AllocateTo(long) /home/uos/HElib-2.3.0/HElib-2.3.0/build/helib_pack/include/NTL/vector.h:653

Indirect leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0x794a300b64c7 in operator new(unsigned long, std::nothrow_t const&) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:105  
    homenc#1 0x794a2fdac3a4 in NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy>* NTL::MakeRaw<NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy>>() ../include/NTL/SmartPtr.h:710
    homenc#2 0x794a2fdac3a4 in void NTL::UniquePtr<NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy>, NTL::DefaultDeleterPolicy>::make<>() ../include/NTL/SmartPtr.h:1109
    homenc#3 0x794a2fdac3a4 in void NTL::OptionalVal<NTL::Lazy<NTL::Vec<NTL::zz_p>, NTL::DefaultDeleterPolicy> >::make<>() ../include/NTL/SmartPtr.h:1479
    homenc#4 0x794a2fdac3a4 in NTL::build(NTL::zz_pXModulus&, NTL::zz_pX const&) /home/uos/HElib-2.3.0/HElib-2.3.0/build/dependencies/Source/ntl_fetched/src/lzz_pX.cpp:2845

SUMMARY: AddressSanitizer: 63272 byte(s) leaked in 5 allocation(s).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants