Swift merilis paket Homomorphic Encryption
(swift.org)- Paket open-source Swift baru,
swift-homomorphic-encryption, telah dirilis - Homomorphic Encryption (HE) adalah teknologi enkripsi yang memungkinkan komputasi pada data terenkripsi tanpa perlu mendekripsinya
- Klien mengirim data terenkripsi ke server, dan server menghitungnya lalu mengembalikan hasilnya
- Server tidak mendekripsi data asli maupun mengakses kunci dekripsi
- Memberikan peluang baru untuk melindungi privasi dan keamanan data pengguna di layanan cloud
Kasus penggunaan Apple
- Homomorphic Encryption digunakan pada Live Caller ID Lookup, fitur baru di iOS 18
- Live Caller ID Lookup mengirim kueri terenkripsi ke server untuk menyediakan informasi tentang nomor telepon
- Server tidak mengetahui nomor telepon spesifik dalam permintaan
- Fitur ini dapat diuji melalui paket
live-caller-id-lookup-example
Fitur utama
- Mendukung Swift on Server, framework HTTP Hummingbird, dan lintas platform
- Benchmarking yang mudah melalui library Benchmark
- Primitive kriptografi tingkat rendah berperforma tinggi dari Swift Crypto
Private Information Retrieval (PIR)
- Live Caller ID Lookup bergantung pada Private Information Retrieval (PIR)
- Klien mengirim kata kunci ke server dan mengambil nilai yang terkait
- Diimplementasikan agar server tidak mengetahui kata kunci tersebut
- Menggunakan Homomorphic Encryption untuk menangani database skala besar secara efisien
Homomorphic Encryption
- Homomorphic Encryption memungkinkan komputasi pada data terenkripsi tanpa dekripsi
- Alur kerja umum:
- Klien mengenkripsi data sensitif lalu mengirimkannya ke server
- Server menjalankan komputasi pada ciphertext
- Server mengirim ciphertext hasil kembali ke klien
- Klien mendekripsi hasilnya
- Mengimplementasikan skema HE Brakerski-Fan-Vercauteren (BFV)
- BFV didasarkan pada masalah RLWE yang memiliki ketahanan terhadap kuantum
Contoh penggunaan Homomorphic Encryption
- Berguna untuk berbagai aplikasi yang melindungi privasi
- Contoh kode:
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)
Ringkasan GN⁺
- Homomorphic Encryption membuka kemungkinan baru bagi layanan cloud sambil tetap melindungi privasi data
- Penerapannya pada fitur iOS 18 Apple membuktikan nilai praktisnya
- Komunitas Swift dapat mengembangkan berbagai aplikasi pelindung privasi
- Proyek lain dengan fungsi serupa antara lain Microsoft SEAL dan IBM HELib
1 komentar
Komentar Hacker News