Swift ने Homomorphic Encryption पैकेज जारी किया
(swift.org)- नया 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 टिप्पणियां
Hacker News राय