Teori nombor & aritmetik modulo: soalan latihan dengan penyelesaian langkah demi langkah
Soalan latihan Teori nombor & aritmetik modulo percuma dengan rajah, petunjuk dan penyelesaian lengkap. Nilai baharu setiap kali, pada tiga tahap: gcd dan baki, songsangan dan kongruen, kuasa modular dan RSA.
Cara menyelesaikan soalan Teori nombor & aritmetik modulo
Kurangkan setiap nombor modulo n dahulu; baki terletak antara 0 dengan n − 1.
Untuk gcd, bahagi berulang kali dengan algoritma Euclid; baki bukan sifar yang terakhir ialah gcd.
Untuk songsangan, jalankan algoritma lanjutan dan simpan pekali a; tambah n jika ia negatif.
Selesaikan a·x ≡ b dengan mendarab dengan a⁻¹; gabungkan dua kongruen dengan menulis x = r₁ + m₁k.
Untuk kuasa, tulis eksponen dalam perduaan dan kuasa duakan berulang kali; dalam RSA, d = e⁻¹ mod φ(n) dengan φ(n) = (p − 1)(q − 1).
Kesilapan lazim
Memberi baki negatif bagi nombor negatif.
Menghentikan algoritma Euclid pada baki pertama.
Membiarkan songsangan negatif dan bukan menambah n.
Mengambil eksponen RSA d modulo n dan bukan φ(n).
Mengurangkan eksponen modulo p dan bukan p − 1 dengan teorem Fermat.
Formula utama
Pembahagian dengan baki
a = q·n + r, 0 ≤ r < n
Euclid
gcd(a, b) = gcd(b, a mod b)
Gandaan sepunya terkecil
lcm(a, b) = a·b/gcd(a, b)
Songsangan
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Kongruen linear
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Fungsi totien Euler
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n
Pelajari Teori nombor & aritmetik modulo dari awal
1Baki dan kongruen
Membahagi a dengan n memberi hasil bahagi q dan baki r: a = q·n + r dengan 0 ≤ r < n. Baki ditulis a mod n. Bagi nombor negatif, q juga negatif: −3 = −1·7 + 4, maka −3 mod 7 = 4.
Dua nombor adalah kongruen modulo n, a ≡ b (mod n), apabila keduanya meninggalkan baki yang sama, iaitu apabila n membahagi a − b.
Baki boleh dikurangkan pada setiap langkah, yang memastikan nombor kecil:
(a + b) mod n = ((a mod n) + (b mod n)) mod n, dan sama juga bagi a·b
Contohnya 47·58 mod 9: 47 ≡ 2 dan 58 ≡ 4, maka 47·58 ≡ 8 (mod 9).
Semakan kendiri Apakah −17 mod 5?
2
3
−2
−3
Jawapan: 3. −17 = −4·5 + 3, maka bakinya 3. Jawapan 2 ialah 17 mod 5; baki tidak pernah negatif.
2Algoritma Euclid
Pembahagi sepunya terbesar gcd(a, b) ialah nombor terbesar yang membahagi kedua-duanya. Algoritma Euclid menggunakan gcd(a, b) = gcd(b, a mod b):
Bahagi: a = q·b + r.
Gantikan (a, b) dengan (b, r).
Ulang sehingga baki ialah 0. Baki bukan sifar yang terakhir ialah gcd.
Jawapan: 12. 84 = 2·36 + 12 dan 36 = 3·12 + 0, maka gcd ialah 12. 252 ialah gandaan sepunya terkecil, 84·36/12.
3Songsangan dan algoritma lanjutan
Songsangan a modulo n ialah nombor x dengan a·x ≡ 1 (mod n). Ia wujud tepat apabila gcd(a, n) = 1.
Algoritma Euclid lanjutan menjalankan Euclid pada (n, a) dan menyimpan pekali t bagi setiap baki, supaya setiap baki r ≡ t·a (mod n). Mulakan dengan t = 0 untuk n dan t = 1 untuk a; setiap t baharu ialah t dua baris di atas tolak q darab t satu baris di atas. Apabila baki 1 muncul, t-nya ialah songsangan.
Dengan songsangan, kongruen a·x ≡ b (mod n) diselesaikan dengan x ≡ a⁻¹·b. Apabila d = gcd(a, n) lebih besar daripada 1, terdapat d penyelesaian jika d membahagi b, dan tiada jika tidak.
Dua kongruen dengan modulus pasangan perdana relatif, x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂), mempunyai tepat satu penyelesaian modulo m₁·m₂ (teorem baki Cina). Tulis x = r₁ + m₁k dan selesaikan untuk k.
Kuasa dua berulang mengira aᵏ mod n dengan cepat: tulis k dalam perduaan, cari a, a², a⁴, a⁸, … mod n dengan mengkuasaduakan dan mengurangkan, dan darabkan kuasa yang bitnya 1.
Teorem kecil Fermat: untuk nombor perdana p yang tidak membahagi a, aᵖ⁻¹ ≡ 1 (mod p). Maka eksponen boleh dikurangkan modulo p − 1.
RSA membina kunci daripada dua nombor perdana p dan q:
n = p·q dan φ(n) = (p − 1)(q − 1).
Pilih e dengan gcd(e, φ(n)) = 1; (n, e) ialah kunci awam.
Hitung d = e⁻¹ mod φ(n): kunci persendirian.
Penyulitan c = mᵉ mod n; penyahsulitan m = cᵈ mod n.
φ(n) Euler mengira nombor dari 1 hingga n yang perdana relatif dengan n: φ(p) = p − 1 untuk nombor perdana, φ(pᵏ) = pᵏ − pᵏ⁻¹, dan φ bersifat multiplikatif untuk faktor perdana relatif.
Semakan kendiri Kunci RSA menggunakan p = 5, q = 11 dan e = 3. Apakah d?
13
27
37
3
Jawapan: 27. φ(n) = 4·10 = 40, dan 3·27 = 81 = 2·40 + 1, maka d = 27. Songsangan 3 modulo n = 55 ialah 37, tetapi d diambil modulo φ(n).
5Kesilapan lazim
Memberi baki negatif bagi nombor negatif: −17 mod 5 ialah 3, bukan −2.
Menghentikan Euclid pada baki pertama dan bukan baki bukan sifar yang terakhir.
Terlupa menambah n pada pekali negatif daripada algoritma lanjutan.
Mengira eksponen RSA d modulo n dan bukan modulo φ(n).
Mengurangkan eksponen modulo p dan bukan p − 1 dengan teorem Fermat.
6Rupa soalan peperiksaan
Mudah: gcd dan baki. Anda menjalankan algoritma Euclid untuk gcd atau lcm, mencari baki bagi nombor negatif, dan mengurangkan hasil tambah serta hasil darab modulo n.
Sederhana: songsangan dan kongruen. Anda mencari songsangan modular dengan algoritma lanjutan, menyelesaikan kongruen linear, menggabungkan dua kongruen dengan teorem baki Cina, dan mengira φ(n) Euler.
Sukar: kuasa modular dan RSA. Anda menggunakan kuasa dua berulang dan teorem Fermat, menyelesaikan kongruen dengan beberapa penyelesaian, dan mencari eksponen persendirian RSA, teks sulit dan mesej yang dinyahsulit.
Cari (914·953) mod 11 tanpa mendarab nombor besar: kurangkan dahulu.
n = 11
Cari nilai (914·953) mod 11
Tunjukkan petunjuk
(x·y) mod n = ((x mod n)·(y mod n)) mod n, dan perkara yang sama berlaku untuk hasil tambah.
914 mod 11 = 1, 953 mod 11 = 7.
Kurangkan hasil darab baki itu modulo 11.
Tunjukkan jawapan dan penyelesaian langkah demi langkah
Kebolehbahagian dan baki: a mod n ialah baki r dengan 0 ≤ r < n dan a = q·n + r, juga apabila a negatif. Algoritma Euclid mencari gcd(a, b) dengan mengulang a = q·b + r dan menggantikan (a, b) dengan (b, r); baki bukan sifar yang terakhir ialah gcd. Kemudian lcm(a, b) = a·b/gcd(a, b). Baki boleh dikurangkan pada setiap langkah: (a + b) mod n dan (a·b) mod n hanya bergantung pada a mod n dan b mod n.
Kurangkan setiap nombor
914 ≡ 1, 953 ≡ 7 (mod 11)
Gabungkan
1·7 = 7 ≡ 7 (mod 11)
Jawapan
(914·953) mod 11 = 7
Contoh 2Sederhana
Cari fungsi totien Euler φ(637), bilangan integer dari 1 hingga 637 yang perdana relatif dengan 637.
n = 637 = 72·13
Cari nilai φ(637)
Tunjukkan petunjuk
Faktorkan n kepada nombor perdana: 637 = 72·13.
φ bersifat multiplikatif untuk faktor perdana relatif, dan φ(pᵏ) = pᵏ − pᵏ⁻¹.
φ(n) = n·∏(1 − 1/p).
Tunjukkan jawapan dan penyelesaian langkah demi langkah
Songsangan dan kongruen: a mempunyai songsangan modulo n tepat apabila gcd(a, n) = 1. Algoritma Euclid lanjutan menulis 1 = s·n + t·a, dan kemudian a⁻¹ ≡ t (mod n). Kongruen a·x ≡ b (mod n) dengan gcd(a, n) = 1 mempunyai penyelesaian x ≡ a⁻¹·b. Dua kongruen x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂) dengan modulus perdana relatif mempunyai satu penyelesaian modulo m₁·m₂ (teorem baki Cina). φ(n) Euler mengira nombor dari 1 hingga n yang perdana relatif dengan n: φ(n) = n·∏(1 − 1/p).
Faktor perdana
637 = 72·13
Totien
φ(637) = φ(49)·φ(13) = 42·12 = 504
Jawapan
φ(637) = 504
Contoh 3Sukar
Kunci RSA menggunakan p = 13, q = 37 dan e = 23. Nyahsulit teks sulit c = 225: cari mesej m.
p = 13q = 37e = 23c = 225
Cari nilai m
Tunjukkan petunjuk
n = 481, φ(n) = 432.
d = e⁻¹ mod φ(n) = 263.
m = cd mod n = 225263 mod 481: gunakan kuasa dua berulang.
Tunjukkan jawapan dan penyelesaian langkah demi langkah
Kuasa modular dan RSA: hitung aᵏ mod n dengan kuasa dua berulang: tulis k dalam perduaan, kuasa duakan, kurangkan selepas setiap langkah dan darabkan kuasa yang bitnya 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) untuk nombor perdana p yang tidak membahagi a, maka eksponen boleh dikurangkan modulo p − 1. RSA: pilih nombor perdana p dan q, n = p·q dan φ(n) = (p − 1)(q − 1); eksponen awam e perdana relatif dengan φ(n), dan eksponen persendirian ialah d = e⁻¹ mod φ(n). Sulitkan dengan c = mᵉ mod n dan nyahsulit dengan m = cᵈ mod n.
Eksponen persendirian
n = 481, φ(n) = 432
d = 23−1 mod 432 = 263
Nyahsulit dengan kuasa dua berulang
263 = 256 + 4 + 2 + 1
2251 ≡ 225 (mod 481)
2252 ≡ 120 (mod 481)
2254 ≡ 451 (mod 481)
2258 ≡ 419 (mod 481)
22516 ≡ 477 (mod 481)
22532 ≡ 16 (mod 481)
22564 ≡ 256 (mod 481)
225128 ≡ 120 (mod 481)
225256 ≡ 451 (mod 481)
225263 ≡ 225·120·451·451 ≡ 361 (mod 481)
Mesej
m = 361
semakan: 36123 mod 481 = 225
Jawapan
m = 361
Soalan dan jawapan
Apakah Teori nombor & aritmetik modulo?
Membahagi a dengan n memberi hasil bahagi q dan baki r: a = q·n + r dengan 0 ≤ r < n. Baki ditulis a mod n. Bagi nombor negatif, q juga negatif: −3 = −1·7 + 4, maka −3 mod 7 = 4.
Dua nombor adalah kongruen modulo n, a ≡ b (mod n), apabila keduanya meninggalkan baki yang sama, iaitu apabila n membahagi a − b.
Bagaimanakah saya menyelesaikan soalan Teori nombor & aritmetik modulo langkah demi langkah?
Kurangkan setiap nombor modulo n dahulu; baki terletak antara 0 dengan n − 1.
Untuk gcd, bahagi berulang kali dengan algoritma Euclid; baki bukan sifar yang terakhir ialah gcd.
Untuk songsangan, jalankan algoritma lanjutan dan simpan pekali a; tambah n jika ia negatif.
Selesaikan a·x ≡ b dengan mendarab dengan a⁻¹; gabungkan dua kongruen dengan menulis x = r₁ + m₁k.
Untuk kuasa, tulis eksponen dalam perduaan dan kuasa duakan berulang kali; dalam RSA, d = e⁻¹ mod φ(n) dengan φ(n) = (p − 1)(q − 1).
Apakah kesilapan lazim dalam Teori nombor & aritmetik modulo?
Memberi baki negatif bagi nombor negatif.
Menghentikan algoritma Euclid pada baki pertama.
Membiarkan songsangan negatif dan bukan menambah n.
Mengambil eksponen RSA d modulo n dan bukan φ(n).
Mengurangkan eksponen modulo p dan bukan p − 1 dengan teorem Fermat.
Apakah yang diliputi oleh latihan Teori nombor & aritmetik modulo?
Mudah: gcd dan baki
Sederhana: songsangan dan kongruen
Sukar: kuasa modular dan RSA
Setiap soalan mempunyai nilai baharu, jadi anda mempelajari kaedah dan bukannya jawapan. Buntu? Buka petunjuk kecil dahulu, dan penerangan penuh hanya apabila anda memerlukannya.
Cara latihan berfungsi
Setiap soalan mempunyai nilai baharu, jadi anda mempelajari kaedah dan bukannya jawapan.
Buntu? Buka petunjuk kecil dahulu, dan penerangan penuh hanya apabila anda memerlukannya.
Kemajuan, kesilapan dan soalan tersimpan anda dikekalkan, jadi anda boleh menyemak sebelum peperiksaan.