<style> .reveal { font-size: 26px; font-family: { "Helvetica Neue", "Microsoft JhengHei"}; } </style> ++Group report on 12/8++ # CKKS: a leveled HE scheme ### Chun-Yu Lin -- - [[CKKS16]](https://eprint.iacr.org/2016/421) HE for Arithmetic of Approximate Numbers - [[CKKS_rns18]](https://eprint.iacr.org/2018/931) A Full RNS Variant of Approximate HE - [[MK_SIMD19]](https://eprint.iacr.org/2019/524) Efficient **Multi-Key** HE with **Packed Ciphertexts** with Application to Oblivious NN Inference - HE SIMD [[GHS_pack11]](https://eprint.iacr.org/2011/566) [[HE_SIMD11]](https://eprint.iacr.org/2011/133) [USE case](http://homomorphicencryption.org/wp-content/uploads/2018/10/CCS-HE-Tutorial-Slides.pdf) ### Shamir's Secret Sharing - Idea: N-point uniquly define a ploy(N-1) --- ### SVP - Close conectin with LWR - [Definition](https://web.eecs.umich.edu/~cpeikert/lic13/lec02.pdf) - LWE is hard for given q with large dimensions. --- ### Multi-party FHE: Threshould FHE - Round 1: A of key generation completed. - Joint public key for (s_a + s_b) is generated... - Joint evaluation multiplication key for (s_a + s_b) is generated... - Joint evaluation multiplication key (s_a + s_b) is transformed into s_b*(s_a + s_b)... - Joint evaluation summation key for (s_a + s_b) is generated... Round 3 (party A) started. - Joint key (s_a + s_b) is transformed into s_a*(s_a + s_b)... - Computing the final evaluation multiplication key for (s_a + s_b)*(s_a + s_b)... (Ref: https://palisade-crypto.org/wp-content/uploads/2020/10/PALISADE-10-30-MULTIPARTY.pdf) --- ## IBM's HELib: * Based on RLWE problem (cf. Gentry's original scheme based on ideal lattices) * [Github](https://github.com/homenc/HElib) * [Algorithm paper](https://eprint.iacr.org/2014/106.pdf) * [Bootstrapping paper](https://eprint.iacr.org/2014/873.pdf) * Implement * Brakerski-Gentry-Vaikuntanathan (BGV) scheme with bootstrapping * Approximate Number scheme of CKKS * Smart-Vercauteren ciphertext packing techniques * Gentry-Halevi-Smart optimizations * Secure Gaussian randomness distribution not yet implemented --> no security proofs ?!? * In 2015 iDASH Secure Genome Analysis Contest --- ## PALISADE * Support * BFV/BGV for integer arithmetic * CKKS for real-number arithmetic * Ducas-Micciancio (FHEW) and Chillotti-Gama-Georgieva-Izabachene (TFHE) for Boolean circuit evaluation * Stehle-Steinfeld scheme for limited integer arithmetic * Multi-Party Extensions of FHE (for multi-key FHE) * Threshold FHE for BGV, BFV, and CKKS schemes * Proxy Re-Encryption for BGV, BFV, and CKKS schemes * Digital Signature... * Identity-Based Encryption (cf. grid secure infra ) ... * Ciphertext-Policy Attribute-Based Encryption (can do implicit authorization)... --- ## Related to other concepts: * Obfuscation: (that key in the black box may have secure issue) * Functional Encryption: --- ## Improved RNS * [RNS variant of BFV](https://eprint.iacr.org/2018/117.pdf) * Involve operation on large cyclotomic ring --- ## Limitations: * Multiple users -- multi-key FHE * Complex algorithms (HE of Turing machines instead of circuits?) * FHE does not imply secret function evaluation? (it's obfuscation or circuit privacy that keep algorithm secure..) --- ## Applications * Non-interactive Zero Knowledge Proofs * Delegation, Oursourcing of Computation * Signatures * Multiparty Computation --- ## Reference: * Courses: * [Lattices Algorithms and Applications](https://cseweb.ucsd.edu/classes/wi10/cse206a/) * http://tau-crypto-f13.wikidot.com/course-schedule * [An Intensive Introduction to Cryptography](https://intensecrypto.org/public/index.html) by Boaz --- ## Example: Multiparty computation * What's the adversary? (Assume Honest but curious ) --- ## Senario: * Single-key HE (Data owner outsources computing with a single key.) * For multiple data owner senerio: * Multi-key: each party (data/model owner) has its own pk/sk, and decrypt the final answer collectively. * Threshould HE: all interact to gen joint $pk=pk_1+pk_2+...$ w/ sk for each party. The "full-sk" is unseem by anyone. --- ## Threshould HE * RNS (Residul Number System): x represented by $x_i$ that $x = x_i \mod m_i$, allowing efficient computation in 64-bit CPU.
{"metaMigratedAt":"2023-06-15T16:19:13.967Z","metaMigratedFrom":"Content","title":"CKKS: a leveled HE scheme","breaks":true,"contributors":"[{\"id\":\"c163a953-3c44-49f9-b08b-1a8d7f798ca7\",\"add\":16434,\"del\":12122}]"}
    312 views