Teori bilangan & aritmetika modular: latihan soal dengan penyelesaian langkah demi langkah
Latihan soal Teori bilangan & aritmetika modular gratis dengan diagram, petunjuk, dan pembahasan lengkap. Nilai baru setiap kali, dalam tiga tingkat: FPB dan sisa, invers dan kongruensi, pangkat modular dan RSA.
Cara menyelesaikan soal Teori bilangan & aritmetika modular
Reduksi dulu setiap bilangan modulo n; sisa berada di antara 0 dan n − 1.
Untuk FPB, bagi berulang kali dengan algoritma Euclid; sisa taknol terakhir adalah FPB.
Untuk invers, jalankan algoritma yang diperluas dan ambil koefisien a; tambahkan n jika negatif.
Selesaikan a·x ≡ b dengan mengalikan a⁻¹; gabungkan dua kongruensi dengan menuliskan x = r₁ + m₁k.
Untuk pangkat, tuliskan eksponen dalam biner dan kuadratkan berulang; dalam RSA, d = e⁻¹ mod φ(n) dengan φ(n) = (p − 1)(q − 1).
Kesalahan umum
Memberikan sisa negatif untuk bilangan negatif.
Menghentikan algoritma Euclid pada sisa pertama.
Membiarkan invers negatif dan tidak menambahkan n.
Mengambil eksponen RSA d modulo n dan bukan φ(n).
Mereduksi eksponen modulo p dan bukan p − 1 pada teorema Fermat.
Rumus utama
Pembagian dengan sisa
a = q·n + r, 0 ≤ r < n
Euclid
gcd(a, b) = gcd(b, a mod b)
Kelipatan persekutuan terkecil
lcm(a, b) = a·b/gcd(a, b)
Invers
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Kongruensi 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 bilangan & aritmetika modular dari nol
1Sisa dan kongruensi
Membagi a dengan n memberi hasil bagi q dan sisa r: a = q·n + r dengan 0 ≤ r < n. Sisa ditulis a mod n. Untuk bilangan negatif q juga negatif: −3 = −1·7 + 4, jadi −3 mod 7 = 4.
Dua bilangan kongruen modulo n, a ≡ b (mod n), jika keduanya memberi sisa yang sama, yaitu jika n membagi a − b.
Sisa dapat direduksi pada setiap langkah, sehingga bilangan tetap kecil:
(a + b) mod n = ((a mod n) + (b mod n)) mod n, dan hal yang sama untuk a·b
Misalnya 47·58 mod 9: 47 ≡ 2 dan 58 ≡ 4, jadi 47·58 ≡ 8 (mod 9).
Tes mandiri Berapa −17 mod 5?
2
3
−2
−3
Jawaban: 3. −17 = −4·5 + 3, jadi sisanya 3. Jawaban 2 adalah 17 mod 5; sisa tidak pernah negatif.
2Algoritma Euclid
Faktor persekutuan terbesar FPB(a, b) adalah bilangan terbesar yang membagi keduanya. Algoritma Euclid memakai FPB(a, b) = FPB(b, a mod b):
Bagi: a = q·b + r.
Ganti (a, b) dengan (b, r).
Ulangi sampai sisanya 0. Sisa taknol terakhir adalah FPB.
Kelipatan persekutuan terkecil mengikutinya: KPK(a, b) = a·b / FPB(a, b).
Tes mandiri Berapa FPB(84, 36)?
12
252
4
6
Jawaban: 12. 84 = 2·36 + 12 dan 36 = 3·12 + 0, jadi FPB-nya 12. 252 adalah kelipatan persekutuan terkecil, 84·36/12.
3Invers dan algoritma yang diperluas
Invers a modulo n adalah bilangan x dengan a·x ≡ 1 (mod n). Invers ini ada tepat ketika FPB(a, n) = 1.
Algoritma Euclid yang diperluas menjalankan Euclid pada (n, a) dan mencatat koefisien t untuk setiap sisa, sehingga setiap sisa r ≡ t·a (mod n). Mulai dengan t = 0 untuk n dan t = 1 untuk a; setiap t baru adalah t dua baris di atas dikurangi q kali t satu baris di atas. Ketika sisa 1 muncul, t-nya adalah invers.
Dengan invers, kongruensi a·x ≡ b (mod n) diselesaikan dengan x ≡ a⁻¹·b. Bila d = FPB(a, n) lebih besar dari 1, ada d penyelesaian jika d membagi b, dan tidak ada jika tidak.
Dua kongruensi dengan modulus yang saling prima, x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂), memiliki tepat satu penyelesaian modulo m₁·m₂ (teorema sisa Cina). Tuliskan x = r₁ + m₁k dan selesaikan untuk k.
Pengkuadratan berulang menghitung aᵏ mod n dengan cepat: tulis k dalam biner, cari a, a², a⁴, a⁸, … mod n dengan mengkuadratkan dan mereduksi, lalu kalikan pangkat yang bitnya 1.
Teorema kecil Fermat: untuk bilangan prima p yang tidak membagi a, aᵖ⁻¹ ≡ 1 (mod p). Jadi eksponen dapat direduksi modulo p − 1.
RSA membangun kunci dari dua bilangan prima p dan q:
n = p·q dan φ(n) = (p − 1)(q − 1).
Pilih e dengan FPB(e, φ(n)) = 1; (n, e) adalah kunci publik.
Hitung d = e⁻¹ mod φ(n): kunci privat.
Enkripsi c = mᵉ mod n; dekripsi m = cᵈ mod n.
φ(n) Euler menghitung bilangan dari 1 sampai n yang saling prima dengan n: φ(p) = p − 1 untuk bilangan prima, φ(pᵏ) = pᵏ − pᵏ⁻¹, dan φ bersifat multiplikatif untuk faktor yang saling prima.
Tes mandiri Sebuah kunci RSA memakai p = 5, q = 11, dan e = 3. Berapa d?
13
27
37
3
Jawaban: 27. φ(n) = 4·10 = 40, dan 3·27 = 81 = 2·40 + 1, jadi d = 27. Invers 3 modulo n = 55 adalah 37, tetapi d diambil modulo φ(n).
5Kesalahan umum
Memberi sisa negatif untuk bilangan negatif: −17 mod 5 adalah 3, bukan −2.
Menghentikan Euclid pada sisa pertama dan bukan sisa taknol terakhir.
Lupa menambahkan n pada koefisien negatif dari algoritma yang diperluas.
Menghitung eksponen RSA d modulo n dan bukan modulo φ(n).
Mereduksi eksponen modulo p dan bukan p − 1 pada teorema Fermat.
6Seperti apa soal ujiannya
Mudah: FPB dan sisa. Anda menjalankan algoritma Euclid untuk FPB atau KPK, mencari sisa bilangan negatif, dan mereduksi jumlah serta hasil kali modulo n.
Sedang: invers dan kongruensi. Anda mencari invers modular dengan algoritma yang diperluas, menyelesaikan kongruensi linear, menggabungkan dua kongruensi dengan teorema sisa Cina, dan menghitung φ(n) Euler.
Sulit: pangkat modular dan RSA. Anda memakai pengkuadratan berulang dan teorema Fermat, menyelesaikan kongruensi dengan beberapa penyelesaian, serta mencari eksponen privat RSA, teks sandi, dan pesan hasil dekripsi.
Carilah (914·953) mod 11 tanpa mengalikan bilangan besar: reduksi dulu.
n = 11
Tentukan (914·953) mod 11
Tampilkan petunjuk
(x·y) mod n = ((x mod n)·(y mod n)) mod n, dan hal yang sama berlaku untuk jumlah.
914 mod 11 = 1, 953 mod 11 = 7.
Reduksi hasil kali sisa-sisanya modulo 11.
Tampilkan jawaban dan penyelesaian langkah demi langkah
Keterbagian dan sisa: a mod n adalah sisa r dengan 0 ≤ r < n dan a = q·n + r, juga ketika a negatif. Algoritma Euclid mencari FPB(a, b) dengan mengulang a = q·b + r dan mengganti (a, b) dengan (b, r); sisa taknol terakhir adalah FPB. Lalu KPK(a, b) = a·b/FPB(a, b). Sisa dapat direduksi pada setiap langkah: (a + b) mod n dan (a·b) mod n hanya bergantung pada a mod n dan b mod n.
Reduksi setiap bilangan
914 ≡ 1, 953 ≡ 7 (mod 11)
Gabungkan
1·7 = 7 ≡ 7 (mod 11)
Jawaban
(914·953) mod 11 = 7
Contoh 2Sedang
Carilah fungsi totien Euler φ(637), banyaknya bilangan bulat dari 1 sampai 637 yang saling prima dengan 637.
n = 637 = 72·13
Tentukan φ(637)
Tampilkan petunjuk
Faktorkan n menjadi bilangan prima: 637 = 72·13.
φ bersifat multiplikatif untuk faktor yang saling prima, dan φ(pᵏ) = pᵏ − pᵏ⁻¹.
φ(n) = n·∏(1 − 1/p).
Tampilkan jawaban dan penyelesaian langkah demi langkah
Invers dan kongruensi: a memiliki invers modulo n tepat ketika FPB(a, n) = 1. Algoritma Euclid yang diperluas menuliskan 1 = s·n + t·a, dan kemudian a⁻¹ ≡ t (mod n). Kongruensi a·x ≡ b (mod n) dengan FPB(a, n) = 1 memiliki penyelesaian x ≡ a⁻¹·b. Dua kongruensi x ≡ r₁ (mod m₁) dan x ≡ r₂ (mod m₂) dengan modulus saling prima memiliki satu penyelesaian modulo m₁·m₂ (teorema sisa Cina). φ(n) Euler menghitung bilangan dari 1 sampai n yang saling prima dengan n: φ(n) = n·∏(1 − 1/p).
Faktor prima
637 = 72·13
Totien
φ(637) = φ(49)·φ(13) = 42·12 = 504
Jawaban
φ(637) = 504
Contoh 3Sulit
Sebuah kunci RSA memakai p = 13, q = 37, dan e = 23. Dekripsikan teks sandi c = 225: carilah pesan m.
p = 13q = 37e = 23c = 225
Tentukan m
Tampilkan petunjuk
n = 481, φ(n) = 432.
d = e⁻¹ mod φ(n) = 263.
m = cd mod n = 225263 mod 481: pakai pengkuadratan berulang.
Tampilkan jawaban dan penyelesaian langkah demi langkah
Pangkat modular dan RSA: hitung aᵏ mod n dengan pengkuadratan berulang: tulis k dalam biner, kuadratkan, reduksi setelah setiap langkah, dan kalikan pangkat yang bitnya 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) untuk bilangan prima p yang tidak membagi a, sehingga eksponen dapat direduksi modulo p − 1. RSA: pilih bilangan prima p dan q, n = p·q dan φ(n) = (p − 1)(q − 1); eksponen publik e saling prima dengan φ(n), dan eksponen privat adalah d = e⁻¹ mod φ(n). Enkripsi dengan c = mᵉ mod n dan dekripsi dengan m = cᵈ mod n.
Eksponen privat
n = 481, φ(n) = 432
d = 23−1 mod 432 = 263
Dekripsi dengan pengkuadratan 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)
Pesan
m = 361
periksa: 36123 mod 481 = 225
Jawaban
m = 361
Tanya jawab
Apa itu Teori bilangan & aritmetika modular?
Membagi a dengan n memberi hasil bagi q dan sisa r: a = q·n + r dengan 0 ≤ r < n. Sisa ditulis a mod n. Untuk bilangan negatif q juga negatif: −3 = −1·7 + 4, jadi −3 mod 7 = 4.
Dua bilangan kongruen modulo n, a ≡ b (mod n), jika keduanya memberi sisa yang sama, yaitu jika n membagi a − b.
Bagaimana cara menyelesaikan soal Teori bilangan & aritmetika modular langkah demi langkah?
Reduksi dulu setiap bilangan modulo n; sisa berada di antara 0 dan n − 1.
Untuk FPB, bagi berulang kali dengan algoritma Euclid; sisa taknol terakhir adalah FPB.
Untuk invers, jalankan algoritma yang diperluas dan ambil koefisien a; tambahkan n jika negatif.
Selesaikan a·x ≡ b dengan mengalikan a⁻¹; gabungkan dua kongruensi dengan menuliskan x = r₁ + m₁k.
Untuk pangkat, tuliskan eksponen dalam biner dan kuadratkan berulang; dalam RSA, d = e⁻¹ mod φ(n) dengan φ(n) = (p − 1)(q − 1).
Apa kesalahan yang sering terjadi pada Teori bilangan & aritmetika modular?
Memberikan sisa negatif untuk bilangan negatif.
Menghentikan algoritma Euclid pada sisa pertama.
Membiarkan invers negatif dan tidak menambahkan n.
Mengambil eksponen RSA d modulo n dan bukan φ(n).
Mereduksi eksponen modulo p dan bukan p − 1 pada teorema Fermat.
Apa saja yang dilatih dalam soal Teori bilangan & aritmetika modular?
Mudah: FPB dan sisa
Sedang: invers dan kongruensi
Sulit: pangkat modular dan RSA
Setiap soal memakai nilai baru, sehingga Anda mempelajari metodenya, bukan menghafal jawabannya. Buntu? Buka petunjuk kecil terlebih dahulu, dan penjelasan lengkap hanya jika Anda membutuhkannya.
Cara kerja latihan
Setiap soal memakai nilai baru, sehingga Anda mempelajari metodenya, bukan menghafal jawabannya.
Buntu? Buka petunjuk kecil terlebih dahulu, dan penjelasan lengkap hanya jika Anda membutuhkannya.
Kemajuan, kesalahan, dan soal tersimpan Anda disimpan, sehingga Anda dapat mengulasnya sebelum ujian.