Cryptology Academy · Pelajaran

Matematik Penyulitan dan Penyahsulitan RSA

Gunakan pemangkatan modular untuk menyulitkan dan menyahsulitkan mesej.

Pelajaran 3 daripada 413 langkah

Matematik Penyulitan dan Penyahsulitan RSA ialah pelajaran Cryptology Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cryptology Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Selamat Datang

Setelah kunci RSA dijana, kini kita menggunakannya. Penyulitan dan penyahsulitan kedua-duanya ialah pengkuasaan modular — mudah dikira, tetapi amat sukar diterbalikkan tanpa kunci peribadi.

Penyulitan RSA Buku Teks

Sulitkan mesej M (sebagai nombor bulat) dengan kunci awam (e, n): C = M^e mod n Contoh: M=42, e=17, n=3233 C = 42^17 mod 3233 Python: C = pow(42, 17, 3233) = 2557

Penyahsulitan RSA Buku Teks

Nyahsulit teks sifer C dengan kunci peribadi (d, n): M = C^d mod n C=2557, d=2753, n=3233 M = 2557^2753 mod 3233 Python: M = pow(2557, 2753, 3233) = 42 ✓

Mengapa Ia Berfungsi: Teorem Euler

C^d mod n = (M^e)^d mod n = M^(ed) mod n. Oleh sebab ed ≡ 1 (mod φ(n)), M^(ed) = M^(1+k×φ(n)) = M × (M^φ(n))^k ≡ M × 1^k = M.

Algoritma Kuasa Dua dan Darab

Pengiraan naif M^e memerlukan e pendaraban. Algoritma kuasa dua dan darab mengurangkannya kepada O(log e) pendaraban: pow(base, exp, mod) dalam Python menggunakan kaedah ini secara automatik.

Had Saiz Mesej

RSA buku teks memerlukan M < n. Untuk RSA-2048, M boleh berukuran paling banyak 256 bait. Ini sesuai untuk menyulitkan kunci AES yang pendek, bukan untuk menyulitkan fail besar secara langsung.

Mengapa RSA Buku Teks Tidak Selamat

Masalah dengan RSA mentah: 1. M yang sama sentiasa → C yang sama (deterministik) 2. M kecil dengan e kecil: C = M^e secara literal (tiada pengurangan modular) 3. Bersifat pendaraban: Enc(M1)×Enc(M2) = Enc(M1×M2) Skim pelapik menyelesaikan semua masalah ini.

Penyulitan RSA dalam Python (OAEP)

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes ciphertext = public_key.encrypt( b'Secret message', padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) )

Penyahsulitan RSA dalam Python

plaintext = private_key.decrypt( ciphertext, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print(plaintext) # b'Secret message'

Corak RSA + AES Hibrid

# Real-world pattern: aes_key = os.urandom(32) # Random 256-bit AES key encrypted_key = rsa_encrypt(aes_key, recipient_pub) # RSA ciphertext = aes_gcm_encrypt(aes_key, plaintext) # AES # Send: encrypted_key + ciphertext

Angka Prestasi RSA

Penyulitan RSA-2048 (awam): kira-kira 0.1 ms. Penyahsulitan RSA-2048 (peribadi): kira-kira 1 ms. AES-256-GCM: kira-kira 100 MB/s. Penyulitan hibrid menggabungkan kelajuan pertukaran kunci RSA dengan kadar pemprosesan data AES.

Semakan Pantas

Dengan menggunakan RSA buku teks dan e=3, n=33: apakah hasil penyulitan bagi M=5?

Rumusan

Matematik penyulitan dan penyahsulitan RSA sudah jelas. Seterusnya kita melihat cara RSA melindungi HTTPS, SSH dan penandatanganan kod dalam dunia sebenar.
Percuma untuk bermula

Pelajari Cryptology Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
67
Pelajaran
261

Soalan Lazim

Adakah pelajaran “Matematik Penyulitan dan Penyahsulitan RSA” percuma?

Ya — teks penuh “Matematik Penyulitan dan Penyahsulitan RSA” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cryptology Academy, tingkat taraf kepada CoddyKit PRO. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Matematik Penyulitan dan Penyahsulitan RSA”?

Gunakan pemangkatan modular untuk menyulitkan dan menyahsulitkan mesej. Anda berlatih Cryptology Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cryptology Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cryptology Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Matematik Penyulitan dan Penyahsulitan RSA” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Konsep Kriptografi Kunci Awam
  2. Penjanaan Kunci RSA Langkah demi Langkah
  3. Matematik Penyulitan dan Penyahsulitan RSA
  4. Kes Penggunaan RSA dalam Dunia Sebenar & Saiz Kunci
← Kembali ke Cryptology Academy