- 聯(lián)邦學(xué)習(xí)實(shí)戰(zhàn)
- 楊強(qiáng)等
- 601字
- 2021-05-19 18:07:00
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]。
- 成為提問工程師
- 知識(shí)圖譜與認(rèn)知智能:基本原理、關(guān)鍵技術(shù)、應(yīng)用場(chǎng)景與解決方案
- 決策智能:鏈接數(shù)據(jù)、行為和結(jié)果的新智能
- 工業(yè)人工智能
- 人工智能實(shí)戰(zhàn)進(jìn)階導(dǎo)引
- 人工智能:現(xiàn)代方法(第4版)
- 解碼智能時(shí)代2021:來自未來的數(shù)智圖譜
- 人工的你:人工智能與心智的未來
- 自己動(dòng)手制作無人機(jī)
- DeepSeek實(shí)戰(zhàn)精粹
- 一本書讀懂大模型:技術(shù)創(chuàng)新、商業(yè)應(yīng)用與產(chǎn)業(yè)變革
- 深度學(xué)習(xí)時(shí)代的計(jì)算機(jī)視覺算法
- 圖解人工智能
- 機(jī)器學(xué)習(xí)實(shí)踐指南:案例應(yīng)用解析
- 揭秘大模型:從原理到實(shí)戰(zhàn)