密碼學與神經網路共舞(上)

加密,資安攻防的一大重點,舉凡 RSA、AES、DES、Blowfish 和 Twofish 這些,都是著名的加密演算法,而這些演算法,可以讓攻擊者花較多時間破解,並配合驗證機制以減少資料庫被盜取的機會。在人工智慧開始流行之後,也漸漸開始出現能以機器學習、深度學習實現的加密演算法。

CryptoNets[1]

CryptoNets 採用 MNIST 來做機器學習,並配合同態加密技術(HE,homomorphic encryption)[2],讓機器辨識加密資料,從而提高安全性。
同態加密技術用於將資料託給第三方的時候,亦可適用於雲端。它是一類對稱型加密演算法,也是公鑰加密技術的一種。(著名的 RSA 加密演算法算是 HE 的雛型。)
CryptoNets 可用 GAN 的方式來實作,相關原始碼開源於此 GitHub repo[3] 中。作者提供了 CryptoNets 的模式圖,如下圖。

CryptoNN[4]

CryptoNN 為以自己開發的神經網路結合功能性加密的演算法。在神經網路方面,其架構如下圖。 本篇論文作者表示這類型的加密演算法適用所有神經網路架構(在論文中採用以 CNN 改寫的架構),而在此架構中,使用的演算法為自行開發的功能性加密技術(FE,functional encryption),之後並加入安全矩陣運算(secure matrix computation),如下 pseudocode 所示。
演算法 pseudocode:

CV-QNN[5]

CV-QNN 結合了量子電腦、類神經網路與加密演算法的概念,十分先進。但由於目前量子電腦技術尚未成熟,故仍暫時無法實作,而只能模擬。 CV-QNN 的發明是因應量子電腦的產生,可能會對於傳統加密演算法產生不小的衝擊。在這篇論文 中,提及的 CV-QNN 架構如下圖所示。其主要構造較近似於 RSA 加密,只是加密與解密的主要機制需要依靠量子電腦運算。
配合類神經網路相關演算法,可以有效阻擋攻擊者以暴力方式破解密碼而獲取資料。此型態在資安上為一新趨勢,或許,在不遠的未來,也可以和經生物學或基因與蛋白質的 encoding 結合,發展出另一些新型態的加密技術,保障使用者的資料安全。

撰文 | 郭彥伶

資料來源:
[1] CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy.
[2] Wikipedia: Homomorphic encryption
[3] GitHub: avinsit123 / CryptoNET
[4] Runhua Xu, James B.D. Joshi, Chao Li. CryptoNN: Training Neural Networks over Encrypted Data. arXiv CS CR: Apr 2019.
[5] Jinjing Shi, Shuhui Chen, Yuhu Lu, Yanyan Feng, Ronghua Shi, Yuguang Yang & Jian Li. An Approach to Cryptography Based on Continuous-Variable Quantum Neural Network. Scientific Reports: Feb 2020.

留言