是否可以管理用於人臉辨識的加密數據集?
我在電腦視覺博士學位的最後一年,我的導師給了我一個我不太熟悉的任務。所以我每天都在自學同態加密。這個問題主要是為了澄清我的理解。
他希望我為他一年級學生的內部競賽設置一個加密數據集。任務是使用同態屬性辨識加密域內的人臉。
因此,首先我開始閱讀有關 Paillier 加密的內容,並根據文獻綜述中的方程式對加密和解密部分進行了編碼。所以現在我可以將數據加密成密文,然後成功地將密文解密回原始文本。然後我測試了同態,這也很有效。我可以將密文加在一起,也可以將一個標量值乘以密文。所以我自學的實施和實踐方面已經完成。
我知道在 Paillier 系統中,我們有一個公鑰
n
(n = p * q
) 和g
,以及一個私鑰mu
和lambda
。客戶端和伺服器知道公鑰,伺服器可以使用這個公鑰執行同態加法/乘法,只有客戶端知道私鑰,因為只有客戶端才能解密消息。現在根據我的理解,他的想法是讓我加密像 ORL 數據集這樣的簡單人臉數據集,並提供加密數據集和公鑰供他的學生執行操作,並希望確定另一個加密查詢圖像的正確身份。現在我主要關心的是所有這些的實用性和可能性。我的主管沒有給我太多細節,只是基本上說要做到這一點。
我的理解是,對這樣一個
n
大小為 1024 位的本地數據集進行適當的加密就足夠了。所以我應該用密鑰大小加密圖像,1024
然後將加密的數據集與公鑰一起提供給學生。也許我還應該提供私鑰,以便他們可以解密結果以查看它們是否正確辨識。對不起,很長的文章,但我試圖理解這一切可能嗎?學生能否僅使用我提供的數據在加密域中進行身份驗證?
如果我理解正確,您描述的設置是您要模擬加密數據集託管在不受信任的伺服器上的場景,然後使用者可以將加密圖像發送給它,伺服器將圖像與每個加密圖像盲目匹配集合,然後返回使用者最好的匹配。這似乎是不可能的(至少在沒有仔細考慮和設計的情況下),因為伺服器沒有私鑰,因此不知道哪個是最佳匹配。當然,伺服器可以為每個加密圖像返回一個結果,使用者可以解密,然後使用者決定哪一個是最佳匹配。
是否可以在加密域中進行匹配很大程度上取決於您使用的匹配算法。Paillier 只是加法同態,這意味著您不能在加密域中進行乘法運算(除了乘以一個常數)。計算僅限於整數組,而不是實數。所有這些限制都會限制您的選擇,可能僅限於那些簡單的選擇。