


Perkongsian rahsia tambahan dan automasi perkongsian - menggunakan Python
Perkongsian rahsia tambahan ialah kaedah berkongsi rahsia kepada sekumpulan peserta, supaya rahsia itu hanya boleh dibina semula apabila bilangan peserta tertentu berkumpul dan menyumbang bahagian mereka. Teknologi ini digunakan secara meluas dalam kriptografi dan pengiraan berbilang pihak yang selamat. Dalam artikel ini, kita akan membincangkan konsep perkongsian rahsia tambahan dan pengaktifan perkongsian dan cara melaksanakannya menggunakan Python.
Pengenalan kepada Additive Secret Sharing
Additive secret sharing adalah teknik yang membolehkan sekumpulan peserta berkongsi rahsia tanpa mendedahkan rahsia kepada mana-mana individu peserta. Rahsia dibahagikan kepada saham, dengan setiap peserta menerima satu. Rahsia itu hanya boleh dibina semula apabila sebilangan peserta berkumpul dan menawarkan saham mereka. Teknik ini juga dikenali sebagai perkongsian rahsia ambang.
Idea asas perkongsian rahsia tambahan adalah untuk menyatakan rahsia sebagai polinomial darjah (t-1), di mana t ialah ambang. Pilih pekali polinomial untuk menjadi integer rawak. Setiap peserta kemudiannya diberikan satu mata pada polinomial yang mewakili bahagian mereka. Dengan interpolasi menggunakan mata yang disediakan oleh peserta, rahsia itu boleh dibina semula.
Sebagai contoh, andaikan kita mempunyai rahsia S yang ingin dikongsikan kepada tiga peserta A, B dan C. Kami memilih polinomial darjah ke-2 dengan pekali rawak. Polinomial ini dinyatakan sebagai S(x) = a0 + a1x + a2x^2. Setiap peserta kemudiannya diberikan titik (x, S(x)) pada polinomial, di mana x ialah nilai unik yang dipilih untuk setiap peserta.
Participant A receives the point (1, S(1)) Participant B receives the point (2, S(2)) Participant C receives the point (3, S(3))
Kini, jika mana-mana dua peserta berkumpul dan memberikan mata mereka, mereka boleh membina semula polinomial dan dengan itu rahsianya. Walau bagaimanapun, jika seorang peserta hanya memberikan mata mereka, mereka tidak boleh membina semula rahsia itu.
Melaksanakan perkongsian rahsia aditif dalam Python
Untuk melaksanakan perkongsian rahsia aditif dalam Python, kita boleh menggunakan perpustakaan Python yang dipanggil "secretsharing", yang menyediakan API yang mudah digunakan untuk melaksanakan perkongsian rahsia ambang. Pustaka menyediakan fungsi yang dipanggil "split_secret" yang menerima rahsia, bilangan saham dan ambang sebagai input dan mengembalikan senarai saham.
Berikut adalah contoh perkongsian rahsia antara tiga peserta menggunakan fungsi "split_secret" -
from secretsharing import SecretSharer
# Secret to be shared secret = "mysecret" # Number of shares to be generated n = 3 # Threshold value t = 2 # Generate shares shares = SecretSharer.split_secret(secret, n, t) # Print the shares for share in shares: print(share)
Dalam contoh di atas, kami mempunyai rahsia "mysecret" yang ingin kami kongsikan antara tiga pihak kalangan peserta. Kami menetapkan nilai ambang kepada 2, yang bermaksud mana-mana dua peserta boleh membina semula rahsia. Fungsi "split_secret" menjana tiga bahagian dan mencetaknya.
Rekonstruksi Rahsia
Untuk membina semula rahsia, kita boleh menggunakan fungsi "recover_secret" yang disediakan oleh perpustakaan "secretsharing". Fungsi ini menerima senarai saham sebagai input dan mengembalikan rahsia. Berikut ialah contoh membina semula rahsia menggunakan fungsi "recover_secret":
from secretsharing import SecretSharer # List of shares shares = ["1-mysecret", "2-mysecret", "3-mysecret"] # Reconstruct the secret secret = SecretSharer.recover_secret(shares) print(secret)
Dalam contoh di atas, kami mempunyai senarai stok yang ingin kami gunakan untuk membina semula rahsia tersebut. Fungsi "recover_secret" mengambil sebagai input senarai stok dan mengembalikan rahsia. Dalam contoh ini, rahsianya ialah "rahsia saya".
Memperkenalkan Share Proactivization
Share Proactivization ialah teknologi yang membolehkan sekumpulan peserta menyegarkan semula bahagian mereka secara proaktif tanpa mendedahkan rahsia. Teknik ini digunakan dalam situasi di mana rahsia mungkin perlu ditukar dengan kerap, seperti dalam kes kata laluan yang dikongsi.
Idea asas Share Proactivation ialah setiap peserta menjana bahagian baharu untuk rahsia baharu dan menghantarnya kepada orang lain. Saham baharu kemudiannya digabungkan untuk membina semula rahsia baharu. Saham lama dibuang dan saham baharu digunakan untuk membina semula rahsia baharu.
Melaksanakan Pengaktifan Kongsi dalam Python
Untuk melaksanakan Proaktivasi Kongsi dalam Python, kita boleh menggunakan perpustakaan "perkongsian rahsia" yang sama seperti perkongsian rahsia tambahan. Pustaka menyediakan fungsi yang dipanggil "create_share" yang menerima rahsia dan ID perkongsian unik sebagai input dan mengembalikan bahagian rahsia baharu.
Berikut ialah contoh menyegarkan perkongsian secara aktif menggunakan fungsi "create_share" -
from secretsharing import SecretSharer # New secret new_secret = "mynewsecret" # Share ID share_id = "1" # Create a new share new_share = SecretSharer.create_share(new_secret, share_id) print(new_share)
Dalam contoh di atas, kami mempunyai rahsia baru "mynewsecret" yang ingin kami kongsikan kepada tiga peserta. Kami juga mempunyai ID bahagian "1" yang mewakili peserta yang akan menjana bahagian baharu. Fungsi "create_share" menerima rahsia baharu dan berkongsi ID sebagai input dan mengembalikan bahagian baharu rahsia itu.
Untuk membina semula rahsia baharu, kita boleh menggunakan fungsi "recover_secret" yang sama seperti sebelum ini. Namun, kali ini kami akan menggunakan saham baharu yang dijana oleh setiap peserta.
from secretsharing import SecretSharer # List of new shares new_shares = ["1-mynewsecret", "2-mysecret", "3-mysecret"] # Reconstruct the new secret new_secret = SecretSharer.recover_secret(new_shares) print(new_secret)
Dalam contoh di atas, kami mempunyai senarai stok baharu yang ingin kami gunakan untuk membina semula rahsia baharu. Fungsi "recover_secret" mengambil sebagai input senarai stok baharu dan mengembalikan rahsia baharu, dalam kes ini "mynewsecret".
Kesimpulan
Perkongsian rahsia tambahan dan automasi perkongsian ialah teknik berkuasa yang boleh digunakan untuk berkongsi maklumat sensitif dengan selamat di kalangan sekumpulan peserta. Pustaka "perkongsian rahsia" dalam Python menyediakan API yang mudah digunakan untuk melaksanakan teknik ini. Dengan menggunakan fungsi "split_secret" dan "create_share", kami boleh melaksanakan perkongsian rahsia tambahan dan automasi perkongsian dengan mudah. Selain itu, dengan menggunakan fungsi "recover_secret", kita boleh membina semula rahsia atau rahsia baharu dengan mudah.
Atas ialah kandungan terperinci Perkongsian rahsia tambahan dan automasi perkongsian - menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial ini menunjukkan cara menggunakan Python untuk memproses konsep statistik undang -undang ZIPF dan menunjukkan kecekapan membaca dan menyusun fail teks besar Python semasa memproses undang -undang. Anda mungkin tertanya -tanya apa maksud pengedaran ZIPF istilah. Untuk memahami istilah ini, kita perlu menentukan undang -undang Zipf. Jangan risau, saya akan cuba memudahkan arahan. Undang -undang Zipf Undang -undang Zipf hanya bermaksud: Dalam korpus bahasa semulajadi yang besar, kata -kata yang paling kerap berlaku muncul kira -kira dua kali lebih kerap sebagai kata -kata kerap kedua, tiga kali sebagai kata -kata kerap ketiga, empat kali sebagai kata -kata kerap keempat, dan sebagainya. Mari kita lihat contoh. Jika anda melihat corpus coklat dalam bahasa Inggeris Amerika, anda akan melihat bahawa perkataan yang paling kerap adalah "th

Berurusan dengan imej yang bising adalah masalah biasa, terutamanya dengan telefon bimbit atau foto kamera resolusi rendah. Tutorial ini meneroka teknik penapisan imej di Python menggunakan OpenCV untuk menangani isu ini. Penapisan Imej: Alat yang berkuasa Penapis Imej

Artikel ini menerangkan cara menggunakan sup yang indah, perpustakaan python, untuk menghuraikan html. Ia memperincikan kaedah biasa seperti mencari (), find_all (), pilih (), dan get_text () untuk pengekstrakan data, pengendalian struktur dan kesilapan HTML yang pelbagai, dan alternatif (sel

Python, kegemaran sains dan pemprosesan data, menawarkan ekosistem yang kaya untuk pengkomputeran berprestasi tinggi. Walau bagaimanapun, pengaturcaraan selari dalam Python memberikan cabaran yang unik. Tutorial ini meneroka cabaran -cabaran ini, memberi tumpuan kepada Interprete Global

Artikel ini membandingkan tensorflow dan pytorch untuk pembelajaran mendalam. Ia memperincikan langkah -langkah yang terlibat: penyediaan data, bangunan model, latihan, penilaian, dan penempatan. Perbezaan utama antara rangka kerja, terutamanya mengenai grap pengiraan

Tutorial ini menunjukkan mewujudkan struktur data saluran paip tersuai di Python 3, memanfaatkan kelas dan pengendali yang berlebihan untuk fungsi yang dipertingkatkan. Fleksibiliti saluran paip terletak pada keupayaannya untuk menggunakan siri fungsi ke set data, GE

Serialization dan deserialization objek Python adalah aspek utama dari mana-mana program bukan remeh. Jika anda menyimpan sesuatu ke fail python, anda melakukan siri objek dan deserialization jika anda membaca fail konfigurasi, atau jika anda menjawab permintaan HTTP. Dalam erti kata, siri dan deserialization adalah perkara yang paling membosankan di dunia. Siapa yang peduli dengan semua format dan protokol ini? Anda mahu berterusan atau mengalirkan beberapa objek python dan mengambilnya sepenuhnya pada masa yang akan datang. Ini adalah cara yang baik untuk melihat dunia pada tahap konseptual. Walau bagaimanapun, pada tahap praktikal, skim siri, format atau protokol yang anda pilih boleh menentukan kelajuan, keselamatan, kebebasan status penyelenggaraan, dan aspek lain dari program

Modul Statistik Python menyediakan keupayaan analisis statistik data yang kuat untuk membantu kami dengan cepat memahami ciri -ciri keseluruhan data, seperti biostatistik dan analisis perniagaan. Daripada melihat titik data satu demi satu, cuma melihat statistik seperti min atau varians untuk menemui trend dan ciri dalam data asal yang mungkin diabaikan, dan membandingkan dataset besar dengan lebih mudah dan berkesan. Tutorial ini akan menjelaskan cara mengira min dan mengukur tahap penyebaran dataset. Kecuali dinyatakan sebaliknya, semua fungsi dalam modul ini menyokong pengiraan fungsi min () dan bukan hanya menjumlahkan purata. Nombor titik terapung juga boleh digunakan. Import secara rawak Statistik import dari fracti
