官术网_书友最值得收藏!

2.5 基于Python的安全計(jì)算庫

前面介紹了聯(lián)邦學(xué)習(xí)中常見的安全機(jī)制及實(shí)現(xiàn)。事實(shí)上,這些安全機(jī)制并非聯(lián)邦學(xué)習(xí)所特有,它們各自在密碼學(xué)領(lǐng)域中已經(jīng)被廣泛研究和使用,因此,當(dāng)前也有很多開源的實(shí)現(xiàn)方案可供使用。本節(jié)簡要介紹一些常用的基于Python實(shí)現(xiàn)的安全計(jì)算庫。

Python開源程序包pycrypto提供了常用的加/解密算法的實(shí)現(xiàn)[2],不僅包括AES、DES、RSA、ElGamal等常用算法,還包括常用的散列函數(shù)(例如SHA256和RIPEMD160等)。特別地,Python開源程序包pycryptodome是pycrypto項(xiàng)目的一個(gè)分支(fork),提供了更加豐富的加/解密算法的實(shí)現(xiàn),包括秘密共享算法[15]。在pycryptodome包里,對(duì)計(jì)算量大的操作還提供了高效的C語言擴(kuò)展實(shí)現(xiàn)。

當(dāng)前聯(lián)邦學(xué)習(xí)系統(tǒng)里最常用的隱私保護(hù)機(jī)制是同態(tài)加密。開源的Python-Paillier程序包提供了支持部分同態(tài)加密(例如加法和標(biāo)量乘法同態(tài)加密)的Python 3實(shí)現(xiàn)[16]。Python-Paillier程序包主要是實(shí)現(xiàn)了基于Paillier算法的加法和標(biāo)量乘法同態(tài)加密算法,支持對(duì)浮點(diǎn)數(shù)的加密運(yùn)算。

差分隱私的主要實(shí)現(xiàn)機(jī)制是在輸入或輸出上加入隨機(jī)化的噪聲(數(shù)據(jù)),例如拉普拉斯噪聲、高斯噪聲、指數(shù)噪聲[201]等。開源的Python程序包differential-privacy提供了常用的差分隱私方法的實(shí)現(xiàn)[7]。IBM公司提供的開源程序包diffprivlib是另外一個(gè)常用的Python差分隱私程序庫[175]

開源的MPyC程序包提供了基于Python的安全多方計(jì)算的實(shí)現(xiàn)[14]。MPyC程序包主要提供了基于有限域上的閾值秘密共享,即使用Shamir的門限閾值密碼共享方案以及偽隨機(jī)秘密共享[253]

常用的基于Python的安全計(jì)算程序包還有散列算法、ECC(Elliptic Curve cryptography)加密算法、ECDSA(Elliptic Curve Digital Signature Algorithm)加密算法和eth-keys秘鑰生成算法等[17]

主站蜘蛛池模板: 白银市| 屏东市| 新民市| 南汇区| 巴彦县| 如皋市| 商都县| 雷州市| 宜君县| 广丰县| 察隅县| 石家庄市| 大理市| 余干县| 翁源县| 泽库县| 兰西县| 江阴市| 阿克| 景东| 汉川市| 新宁县| 瑞金市| 杭州市| 文水县| 时尚| 黄山市| 卓资县| 美姑县| 龙山县| 阜城县| 乃东县| 庐江县| 建水县| 黎川县| 莆田市| 孟村| 抚远县| 祁连县| 宜春市| 敦煌市|