- Yeni Swift açık kaynak paketi
swift-homomorphic-encryptionduyuruldu - Homomorfik şifreleme (HE), şifrelenmiş veriler üzerinde şifre çözmeden işlem yapılmasını sağlayan bir şifreleme teknolojisidir
- İstemci şifrelenmiş veriyi sunucuya gönderir ve sunucu bunun üzerinde işlem yaparak sonucu geri döndürür
- Sunucu, orijinal veriyi çözmez ve çözme anahtarına erişmez
- Bulut hizmetlerinde kullanıcı verilerinin gizliliğini ve güvenliğini korumak için yeni fırsatlar sunar
Apple'ın kullanım örnekleri
- iOS 18'in yeni özelliklerinden Live Caller ID Lookup'ta homomorfik şifreleme kullanılıyor
- Live Caller ID Lookup, telefon numarası hakkında bilgi sağlamak için sunucuya şifrelenmiş sorgular gönderir
- Sunucu, istekteki belirli telefon numarasını bilmez
- Özellik,
live-caller-id-lookup-examplepaketi üzerinden test edilebilir
Başlıca özellikler
- Swift on Server, Hummingbird HTTP framework'ü ve çapraz platform desteği
- Benchmark kütüphanesiyle kolay benchmark alma
- Swift Crypto'nun yüksek performanslı düşük seviyeli kriptografik primitive'leri
Private Information Retrieval (PIR)
- Live Caller ID Lookup, Private Information Retrieval (PIR) yaklaşımına dayanır
- İstemci sunucuya bir anahtar kelime gönderir ve ilgili değeri sorgular
- Bu, sunucunun anahtar kelimeyi öğrenmemesi sağlanacak şekilde uygulanır
- Büyük ölçekli veritabanlarını verimli işlemek için homomorfik şifreleme kullanılır
Homomorfik şifreleme
- Homomorfik şifreleme, şifrelenmiş veri üzerinde şifre çözme olmadan işlem yapılmasına imkan tanır
- Genel iş akışı:
- İstemci hassas veriyi şifreleyip sunucuya gönderir
- Sunucu şifreli metin üzerinde işlem yapar
- Sunucu sonuç şifreli metnini istemciye gönderir
- İstemci sonucu çözer
- Brakerski-Fan-Vercauteren (BFV) HE şeması uygulanmıştır
- BFV, kuantum direncine sahip RLWE problemine dayanır
Homomorfik şifreleme kullanım örneği
- Çeşitli gizlilik korumalı uygulamalar için faydalıdır
- Örnek kod:
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⁺ özeti
- Homomorfik şifreleme, veri gizliliğini korurken bulut hizmetleri için yeni imkanlar açıyor
- Apple'ın iOS 18 özelliğinde kullanılması, bunun pratikliğini gösteriyor
- Swift topluluğu içinde çeşitli gizlilik odaklı uygulamalar geliştirilebilir
- Benzer işlev sunan diğer projeler arasında Microsoft SEAL ve IBM HELib bulunuyor
1 yorum
Hacker News görüşleri