12 पॉइंट द्वारा GN⁺ 2024-08-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • नया Swift open source पैकेज swift-homomorphic-encryption जारी
  • Homomorphic Encryption (HE) एक ऐसी encryption तकनीक है जिसमें encrypted data को decrypt किए बिना भी उस पर computation किया जा सकता है
  • क्लाइंट encrypted data को server पर भेजता है, और server उस पर computation करके परिणाम लौटाता है
  • server मूल data को decrypt नहीं करता और न ही decryption key तक पहुंचता है
  • cloud services में user data की privacy और security की रक्षा के लिए नए अवसर प्रदान करता है

Apple के उपयोग के मामले

  • iOS 18 के नए फीचर Live Caller ID Lookup में Homomorphic Encryption का उपयोग
  • Live Caller ID Lookup encrypted query को server पर भेजकर phone number के बारे में जानकारी देता है
  • server को request में मौजूद विशिष्ट phone number का पता नहीं चलता
  • live-caller-id-lookup-example पैकेज के माध्यम से फीचर का परीक्षण किया जा सकता है

प्रमुख विशेषताएं

  • Swift on Server, Hummingbird HTTP framework, और cross-platform समर्थन
  • Benchmark library के माध्यम से आसान benchmarking
  • Swift Crypto के उच्च-प्रदर्शन low-level cryptographic primitives

Private Information Retrieval (PIR)

  • Live Caller ID Lookup, Private Information Retrieval (PIR) पर निर्भर करता है
  • क्लाइंट server को keyword भेजकर संबंधित value प्राप्त करता है
  • इसे इस तरह लागू किया गया है कि server को keyword का पता न चले
  • Homomorphic Encryption का उपयोग करके बड़े database को कुशलतापूर्वक प्रोसेस किया जाता है

Homomorphic Encryption

  • Homomorphic Encryption में decrypt किए बिना encrypted data पर computation किया जा सकता है
  • सामान्य workflow:
    • क्लाइंट sensitive data को encrypt करके server पर भेजता है
    • server ciphertext पर computation करता है
    • server परिणामस्वरूप ciphertext क्लाइंट को भेजता है
    • क्लाइंट परिणाम को decrypt करता है
  • Brakerski-Fan-Vercauteren (BFV) HE scheme का implementation
  • BFV, quantum-resistant RLWE समस्या पर आधारित है

Homomorphic Encryption के उपयोग के उदाहरण

  • privacy-preserving applications की विभिन्न श्रेणियों में उपयोगी
  • उदाहरण कोड:
    import HomomorphicEncryption  
    
    // Bfv 체계에 대한 몇 가지 암호화 파라미터를 선택하는 것으로 시작  
    // *이 암호화 파라미터는 안전하지 않으며 테스트용으로만 적합*  
    let encryptParams = try EncryptionParameters(from: .insecure_n_8_logq_5x18_logt_5)  
    
    // 매개변수를 사용하여 HE 계산을 위한 사전 계산을 수행  
    let context = try Context(encryptionParameters: encryptParams)  
    
    // Coefficient 인코딩을 사용하여 N 값을 인코딩  
    let values: [UInt64] = [8, 5, 12, 12, 15, 0, 8, 5]  
    let plaintext: Bfv.CoeffPlaintext = try context.encode(values: values, format: .coefficient)  
    
    // 비밀 키를 생성하고 이를 사용하여 일반 텍스트를 암호화  
    let secretKey = try context.generateSecretKey()  
    let ciphertext = try plaintext.encrypt(using: secretKey)  
    
    // 일반 텍스트를 해독하면 원래 값을 얻을 수 있음  
    let decrypted = try ciphertext.decrypt(using: secretKey)  
    let decoded: [UInt64] = try decrypted.decode(format: .coefficient)  
    precondition(decoded == values)  
    

GN⁺ का सारांश

  • Homomorphic Encryption, data privacy की रक्षा करते हुए cloud services के लिए नई संभावनाएं खोलता है
  • Apple के iOS 18 फीचर में लागू होकर इसकी व्यावहारिक उपयोगिता साबित हुई है
  • Swift community में विभिन्न privacy-preserving applications का विकास संभव
  • समान सुविधाएं देने वाले अन्य प्रोजेक्ट्स में Microsoft SEAL, IBM HELib आदि शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-08-01
Hacker News राय
  • फ़ोन नंबर lookup, homomorphic encryption के वास्तव में काम न करने का एक textbook उदाहरण है
  • homomorphic encryption ऐसा रोचक है, जैसे simulation को ऐसे parallel universe में शिफ्ट कर देना जहाँ उस तक पहुंचा नहीं जा सकता
  • FHE में रुचि रखने वालों को Zama.ai को देखना चाहिए, जिसने हाल ही में practical FHE बनाया है
  • यह HE का पहला वास्तविक use case हो सकता है। आम तौर पर इसे इतना धीमा माना जाता है कि उपयोगी नहीं है, लेकिन यह एक शानदार use case है
  • यह लंबे समय में बहुत महत्वपूर्ण घोषणा है, भले ही इसका असर तुरंत महसूस न हो
    • यह AI और PII से जुड़े use cases के लिए एक बड़ी घोषणा है
  • यह Zama.ai के FHE से कैसे तुलना करेगा, यह जानने की उत्सुकता है
  • FHE शानदार है, लेकिन यह वास्तव में कितने use cases के लिए उपयुक्त है, इस पर जिज्ञासा है। यह users को बेहतर security guarantees देता है, लेकिन अगर कोई organization कहे कि वह cloud में secure execution environment का वादा करती है, तो क्या users सच में इसकी परवाह करेंगे?
    • साथ ही engineering के नज़रिए से FHE इस्तेमाल करने के लिए flow को refactor करना होगा और सभी downstream processing को fixed रूप में commit करना होगा। जब तक कानून इसे अनिवार्य न करे, क्या organizations के पास पर्याप्त प्रोत्साहन होगा?
  • नाम मज़ेदार है, क्योंकि HME कई मायनों में बिल्कुल भी fast नहीं है
    • मुझे लगता है कि असली समाधान secure enclaves हैं, लेकिन उनकी भी अपनी कठिनाइयाँ हैं
  • FHE के बारे में एक बात जो मैं हमेशा जानना चाहता था: आधुनिक cryptography का gold standard IND-CCA security है। FHE परिभाषा के अनुसार उस मानक को पूरा नहीं कर सकता (ciphertext को बदलकर plaintext पर अनुमानित प्रभाव डालना ही chosen-ciphertext attack की परिभाषा है)। तो आधुनिक FHE schemes उस मानक के कितने करीब हैं? यानी FHE के लाभ पाने के लिए कितनी security की कुर्बानी देनी पड़ती है?
  • मैं यह नहीं समझ पा रहा कि server, key जाने बिना ciphertext को किसी value से कैसे match कर सकता है। server कैसे तय करता है कि यह ciphertext किसी खास value के अनुरूप है? अगर server इस ciphertext-value database को बनाता है, तो उसे कैसे पता चलता है कि values को ciphertext में बदलकर स्टोर करने के लिए कौन-सा algorithm इस्तेमाल करना है?