{"id":498032,"date":"2018-07-27T14:20:44","date_gmt":"2018-07-27T21:20:44","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-research-item&p=498032"},"modified":"2018-10-16T20:13:29","modified_gmt":"2018-10-17T03:13:29","slug":"homomorphic-lower-digits-removal-and-improved-fhe-bootstrapping-3","status":"publish","type":"msr-research-item","link":"https:\/\/www.microsoft.com\/en-us\/research\/publication\/homomorphic-lower-digits-removal-and-improved-fhe-bootstrapping-3\/","title":{"rendered":"Homomorphic Lower Digits Removal and Improved FHE Bootstrapping"},"content":{"rendered":"

Bootstrapping is a crucial operation in Gentry\u2019s breakthrough work on fully homomorphic encryption (FHE), where a homomorphic encryption scheme evaluates its own decryption algorithm. There has been a couple of implementations of bootstrapping, among which HElib arguably marks the state-of-the-art in terms of throughput, ciphertext\/message size ratio and support for large plaintext moduli.<\/p>\n

In this work, we applied a family of \u201clowest digit removal\u201d polynomials to design an improved homomorphic digit extraction algorithm which is a crucial part in bootstrapping for both FV and BGV schemes. When the secret key has 1-norm\u00a0h<\/span>=<\/span>|<\/span><\/span><\/span>|<\/span><\/span><\/span>s<\/span>|<\/span><\/span><\/span>|<\/span><\/span><\/span>1<\/span><\/span><\/span><\/span><\/span><\/span><\/p>\n

h<\/mi>=<\/mo>|<\/mo><\/mrow>|<\/mo><\/mrow>s<\/mi>|<\/mo><\/mrow>|<\/mo><\/mrow>1<\/mn><\/msub><\/math><\/p>\n

and the plaintext modulus is\u00a0t<\/span>=<\/span>p<\/span>r<\/span><\/span><\/span><\/span><\/span><\/span><\/p>\n

t<\/mi>=<\/mo>p<\/mi>r<\/mi><\/msup><\/math><\/p>\n

, we achieved bootstrapping depth\u00a0log<\/span><\/span>h<\/span>+<\/span>log<\/span><\/span>(<\/span>log<\/span>p<\/span><\/span><\/span>(<\/span>h<\/span>t<\/span>)<\/span>)<\/span><\/span><\/span><\/span><\/span><\/p>\n

log<\/mi>\u2061<\/mo>h<\/mi>+<\/mo>log<\/mi>\u2061<\/mo>(<\/mo>log<\/mi>p<\/mi><\/msub>\u2061<\/mo>(<\/mo>h<\/mi>t<\/mi>)<\/mo>)<\/mo><\/math><\/p>\n

in FV scheme. In case of the BGV scheme, we brought down the depth from\u00a0log<\/span><\/span>h<\/span>+<\/span>2<\/span>log<\/span><\/span>t<\/span><\/span><\/span><\/span><\/span><\/p>\n

log<\/mi>\u2061<\/mo>h<\/mi>+<\/mo>2<\/mn>log<\/mi>\u2061<\/mo>t<\/mi><\/math><\/p>\n

to\u00a0log<\/span><\/span>h<\/span>+<\/span>log<\/span><\/span>t<\/span><\/span><\/span><\/span><\/span><\/p>\n

log<\/mi>\u2061<\/mo>h<\/mi>+<\/mo>log<\/mi>\u2061<\/mo>t<\/mi><\/math><\/p>\n

.<\/p>\n

We implemented bootstrapping for FV in the SEAL library. We also introduced another \u201cslim mode\u201d, which restrict the plaintexts to batched vectors in\u00a0\u2124<\/span><\/span><\/span>p<\/span>r<\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/p>\n

Z<\/mi><\/mrow>p<\/mi>r<\/mi><\/msup><\/mrow><\/msub><\/math><\/p>\n

. The slim mode has similar throughput as the full mode, while each individual run is much faster and uses much smaller memory. For example, bootstrapping takes 6.75\u00a0s for vectors over\u00a0GF<\/em>(127) with 64 slots and 1381\u00a0s for vectors over\u00a0G<\/span>F<\/span>(<\/span>257<\/span>128<\/span><\/span><\/span><\/span>)<\/span><\/span><\/span><\/span><\/span><\/p>\n

G<\/mi>F<\/mi>(<\/mo>257<\/mn>128<\/mn><\/mrow><\/msup>)<\/mo><\/math><\/p>\n

with 128 slots. We also implemented our improved digit extraction procedure for the BGV scheme in HElib.<\/p>\n","protected":false},"excerpt":{"rendered":"

Bootstrapping is a crucial operation in Gentry\u2019s breakthrough work on fully homomorphic encryption (FHE), where a homomorphic encryption scheme evaluates its own decryption algorithm. There has been a couple of implementations of bootstrapping, among which HElib arguably marks the state-of-the-art in terms of throughput, ciphertext\/message size ratio and support for large plaintext moduli. In this […]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"msr-content-type":[3],"msr-research-highlight":[],"research-area":[13558],"msr-publication-type":[193716],"msr-product-type":[],"msr-focus-area":[],"msr-platform":[],"msr-download-source":[],"msr-locale":[268875],"msr-post-option":[],"msr-field-of-study":[],"msr-conference":[],"msr-journal":[],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-498032","msr-research-item","type-msr-research-item","status-publish","hentry","msr-research-area-security-privacy-cryptography","msr-locale-en_us"],"msr_publishername":"","msr_edition":"","msr_affiliation":"","msr_published_date":"2018-03-31","msr_host":"","msr_duration":"","msr_version":"","msr_speaker":"","msr_other_contributors":"","msr_booktitle":"","msr_pages_string":"","msr_chapter":"","msr_isbn":"","msr_journal":"","msr_volume":"","msr_number":"","msr_editors":"","msr_series":"","msr_issue":"","msr_organization":"","msr_how_published":"","msr_notes":"","msr_highlight_text":"","msr_release_tracker_id":"","msr_original_fields_of_study":"","msr_download_urls":"http:\/\/YToxOntpOjA7YToxOntzOjM6InVybCI7czo2MjoiaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMzE5LTc4MzgxLTlfMTIiO319","msr_external_url":"","msr_secondary_video_url":"","msr_longbiography":"","msr_microsoftintellectualproperty":1,"msr_main_download":"","msr_publicationurl":"https:\/\/link.springer.com\/chapter\/10.1007\/978-3-319-78381-9_12","msr_doi":"","msr_publication_uploader":[{"type":"url","title":"https:\/\/link.springer.com\/chapter\/10.1007\/978-3-319-78381-9_12","viewUrl":false,"id":false,"label_id":0}],"msr_related_uploader":"","msr_attachments":[{"id":0,"url":"https:\/\/link.springer.com\/chapter\/10.1007\/978-3-319-78381-9_12"}],"msr-author-ordering":[{"type":"user_nicename","value":"Hao Chen","user_id":36122,"rest_url":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/microsoft-research\/v1\/researchers?person=Hao Chen"},{"type":"text","value":"Kyoohyung Han","user_id":0,"rest_url":false}],"msr_impact_theme":[],"msr_research_lab":[199565],"msr_event":[],"msr_group":[],"msr_project":[438444],"publication":[],"video":[],"download":[],"msr_publication_type":"inproceedings","related_content":{"projects":[{"ID":438444,"post_title":"Microsoft SEAL","post_name":"microsoft-seal","post_type":"msr-project","post_date":"2017-11-07 10:24:35","post_modified":"2023-01-04 09:36:35","post_status":"publish","permalink":"https:\/\/www.microsoft.com\/en-us\/research\/project\/microsoft-seal\/","post_excerpt":"Microsoft SEAL\u2014powered by open-source homomorphic encryption technology\u2014provides a set of encryption libraries that allow computations to be performed directly on encrypted data.","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/438444"}]}}]},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/498032"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-research-item"}],"version-history":[{"count":3,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/498032\/revisions"}],"predecessor-version":[{"id":555012,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-item\/498032\/revisions\/555012"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=498032"}],"wp:term":[{"taxonomy":"msr-content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-content-type?post=498032"},{"taxonomy":"msr-research-highlight","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-research-highlight?post=498032"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=498032"},{"taxonomy":"msr-publication-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-publication-type?post=498032"},{"taxonomy":"msr-product-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-product-type?post=498032"},{"taxonomy":"msr-focus-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-focus-area?post=498032"},{"taxonomy":"msr-platform","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-platform?post=498032"},{"taxonomy":"msr-download-source","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-download-source?post=498032"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=498032"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=498032"},{"taxonomy":"msr-field-of-study","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-field-of-study?post=498032"},{"taxonomy":"msr-conference","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-conference?post=498032"},{"taxonomy":"msr-journal","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-journal?post=498032"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=498032"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=498032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}