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.

Soalan latihan percumaMudah
012345678910mod 11

Cari 942 mod 11, baki r dengan 0 ≤ r < 11.

a = 942n = 11

Jawapan tepat: nombor bulat, tanpa pembundaran.

Soalan seterusnya →

Apa yang anda latih

  1. Mudahgcd dan baki
  2. Sederhanasongsangan dan kongruen
  3. Sukarkuasa modular dan RSA

Cara menyelesaikan soalan Teori nombor & aritmetik modulo

  1. Kurangkan setiap nombor modulo n dahulu; baki terletak antara 0 dengan n − 1.
  2. Untuk gcd, bahagi berulang kali dengan algoritma Euclid; baki bukan sifar yang terakhir ialah gcd.
  3. Untuk songsangan, jalankan algoritma lanjutan dan simpan pekali a; tambah n jika ia negatif.
  4. Selesaikan a·x ≡ b dengan mendarab dengan a⁻¹; gabungkan dua kongruen dengan menulis x = r₁ + m₁k.
  5. 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.

0123456mod 7−3 ≡ 411 ≡ 4

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?
  1. 2
  2. 3
  3. −2
  4. −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):

  1. Bahagi: a = q·b + r.
  2. Gantikan (a, b) dengan (b, r).
  3. Ulang sehingga baki ialah 0. Baki bukan sifar yang terakhir ialah gcd.
252 = 2·105 + 42, 105 = 2·42 + 21, 42 = 2·21 + 0 → gcd = 21

Gandaan sepunya terkecil terhasil daripadanya: lcm(a, b) = a·b / gcd(a, b).

Semakan kendiri Apakah gcd(84, 36)?
  1. 12
  2. 252
  3. 4
  4. 6

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.

Contoh terselesai

Cari songsangan 7 modulo 40.

1

Euclid pada (40, 7)

40 = 5·7 + 5, 7 = 1·5 + 2, 5 = 2·2 + 1
2

Jejaki pekali t

t(40) = 0, t(7) = 1.

t(5) = 0 − 5·1 = −5, t(2) = 1 − 1·(−5) = 6, t(1) = −5 − 2·6 = −17
3

Jadikan positif

1 ≡ −17·7 (mod 40), dan −17 + 40 = 23.

4

Semakan

7·23 = 161 = 4·40 + 1
Jawapan

Songsangannya ialah 7⁻¹ ≡ 23 (mod 40).

4Kuasa modular dan RSA

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:

  1. n = p·q dan φ(n) = (p − 1)(q − 1).
  2. Pilih e dengan gcd(e, φ(n)) = 1; (n, e) ialah kunci awam.
  3. Hitung d = e⁻¹ mod φ(n): kunci persendirian.
  4. 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?
  1. 13
  2. 27
  3. 37
  4. 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.

Belajar langkah demi langkah dalam aplikasiBelajar langkah demi langkah dalam aplikasi

Contoh penyelesaian

Contoh 1Mudah

Cari (914·953) mod 11 tanpa mendarab nombor besar: kurangkan dahulu.

n = 11

Cari nilai (914·953) mod 11

Tunjukkan petunjuk
  1. (x·y) mod n = ((x mod n)·(y mod n)) mod n, dan perkara yang sama berlaku untuk hasil tambah.
  2. 914 mod 11 = 1, 953 mod 11 = 7.
  3. 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
  1. Faktorkan n kepada nombor perdana: 637 = 72·13.
  2. φ bersifat multiplikatif untuk faktor perdana relatif, dan φ(pᵏ) = pᵏ − pᵏ⁻¹.
  3. φ(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
mc = me​ mod n225m = cd​ mod n?(n, e) = (481, 23)d

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
  1. n = 481, φ(n) = 432.
  2. d = e⁻¹ mod φ(n) = 263.
  3. 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?
  1. Kurangkan setiap nombor modulo n dahulu; baki terletak antara 0 dengan n − 1.
  2. Untuk gcd, bahagi berulang kali dengan algoritma Euclid; baki bukan sifar yang terakhir ialah gcd.
  3. Untuk songsangan, jalankan algoritma lanjutan dan simpan pekali a; tambah n jika ia negatif.
  4. Selesaikan a·x ≡ b dengan mendarab dengan a⁻¹; gabungkan dua kongruen dengan menulis x = r₁ + m₁k.
  5. 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.

Kursus dengan topik ini

Lebih banyak topik dalam Matematik & statistik

Lembaran kerja boleh cetak