5 Indeks = Logaritma Diskret
Kita telah membahas subgrup siklik dari yang dibangkitkan oleh unsur dalam bukti versi Teorema Lagrange 3.13, sebagai langkah menuju Teorema Euler 3.14. Ingat bahwa subgrup itu terdiri atas semua pangkat (lebih tepatnya, ) dalam . Berikut beberapa contoh:
| 2 | 1 | 1 | 1 | ||
| 3 | 2 | 1 | 1 | ||
| 2 | 2 | ||||
| 4 | 2 | 1 | 1 | ||
| 3 | 2 | ||||
| 5 | 4 | 1 | 1 | ||
| 2 | 4 | ||||
| 3 | 4 | ||||
| 4 | 2 | ||||
| 6 | 2 | 1 | 1 | ||
| 5 | 2 | ||||
| 7 | 6 | 1 | 1 | ||
| 2 | 3 | ||||
| 3 | 6 | ||||
| 4 | 3 | ||||
| 5 | 6 | ||||
| 6 | 2 | ||||
| 8 | 4 | 1 | 1 | ||
| 3 | 2 | ||||
| 5 | 2 | ||||
| 7 | 2 |
Setiap subgrup siklik ini mempunyai ukuran, yakni orde dari pembangkitnya, yang membagi ukuran grup induk , sebagaimana dijamin oleh versi Teorema Lagrange 3.13.
Dengan bukti yang masih sangat terbatas pada tabel ini, kita juga dapat membuat beberapa pengamatan sementara yang mungkin benar secara umum, mungkin juga tidak:
sering kali terdapat unsur yang membangkitkan subgrup siklik sebesar mungkin: ;
grup satuan tampaknya selalu mempunyai subgrup siklik sebesar itu ketika prima;
bahkan beberapa komposit menghasilkan yang mempunyai subgrup siklik besar, kecuali pangkat terbesar yang telah kita coba, yaitu .
Untuk melihat apakah dugaan umum sementara itu masih bertahan, mari kita hitung dua contoh lagi. Demi menghemat tempat, kita hanya mencantumkan ukuran dan , bukan daftar lengkap unsurnya; unsur-unsur sendiri dapat dibaca pada kolom berlabel “”:
| 16 | 8 | 1 | 1 |
| 3 | 4 | ||
| 5 | 4 | ||
| 7 | 2 | ||
| 9 | 2 | ||
| 11 | 4 | ||
| 13 | 4 | ||
| 15 | 2 | ||
| 17 | 16 | 1 | 1 |
| 2 | 8 | ||
| 3 | 16 | ||
| 4 | 4 | ||
| 5 | 16 | ||
| 6 | 16 | ||
| 7 | 16 | ||
| 8 | 8 | ||
| 9 | 8 | ||
| 10 | 16 | ||
| 11 | 16 | ||
| 12 | 16 | ||
| 13 | 4 | ||
| 14 | 16 | ||
| 15 | 8 | ||
| 16 | 2 |
Dugaan kita (pangkat besar dari kurang baik; nilai lain, terutama yang prima, lebih baik) masih bertahan. Tentu saja, bukti empiris berhingga sebanyak apa pun belum dapat memastikan pernyataan matematika yang bersifat umum.
Sekarang kita beralih ke analisis formal.
5.1 Sifat-Sifat Lain Orde Multiplikatif
Sebelum itu, kita memerlukan beberapa fakta tambahan tentang orde [multiplikatif].
Teorema 5.1. Misalkan dan memenuhi dan . Maka, untuk , berlaku jika dan hanya jika .
Bukti. Satu arah sangat mudah: jika memenuhi , maka sedemikian sehingga . Jadi,
Sebaliknya, misalkan memenuhi . Terapkan Algoritma Pembagian untuk memperoleh sedemikian sehingga dan . Maka Namun, menurut definisi orde, adalah bilangan bulat positif terkecil yang membuat berpangkat bilangan tersebut kongruen dengan 1. Karena itu, dan hanya mungkin jika . Jadi, dan , seperti yang diinginkan. ◻
Artinya, ketika bekerja dalam subgrup siklik dari yang dibangkitkan oleh suatu unsur , kita harus memperlakukan pangkat-pangkat seolah-olah pangkat tersebut hidup dalam . Tepatnya:
Teorema 5.2. Misalkan dan memenuhi dan . Maka, untuk , berlaku jika dan hanya jika .
Bukti. Sekali lagi, satu arah sangat mudah. Misalkan memenuhi . Karena kesimpulannya simetris dalam dan , tanpa mengurangi keumuman ambil . Dengan demikian, sedemikian sehingga , dan
Sebaliknya, misalkan memenuhi . Jika , kesimpulannya langsung berlaku. Jika , tanpa mengurangi keumuman ambil , sehingga . Kalikan kedua ruas kongruensi dengan , yang ada karena . Kita memperoleh . Menurut Teorema 5.1, , atau dengan kata lain . ◻
Contoh 5.3. Baris-baris pada Tabel 5.1 memperlihatkan Teorema 5.1 dan 5.2: banyaknya unsur dalam setiap subgrup siklik (baris) membagi nilai yang bersesuaian, dan pangkat pembangkit hanya ditentukan modulo .
Tampaknya, beberapa subgrup siklik yang lebih kecil juga kadang-kadang muncul sebagai himpunan bagian dari subgrup siklik yang lebih besar. Jadi, modulo , jika dan , kita mempunyai inklusi . Di sini, terdiri atas separuh unsur , yaitu pangkat-pangkat genap dari : Jika kita beralih ke , tetap berlaku , tetapi sekarang terdiri atas sepertiga unsur , yakni pangkat-pangkat yang merupakan kelipatan :
Bagian terakhir contoh ini mengisyaratkan suatu pernyataan umum: seberapa besar himpunan bagian dari subgrup siklik yang dibentuk oleh subgrup siklik untuk suatu ? Ukurannya adalah orde unsur tersebut, sehingga kita memerlukan teorema berikut.
Teorema 5.4. Misalkan dan memenuhi dan . Maka, , .
Bukti. Tetapkan suatu , lalu tuliskan dan . Dengan notasi ini, kita hendak membuktikan bahwa .
Dalam bukti ini kita akan berulang kali menggunakan fakta bahwa, karena merupakan pembagi, dan . Oleh sebab itu, .
Sekarang kita mulai pembuktiannya.
Menurut definisi orde, adalah bilangan asli terkecil yang memenuhi . Perhatikan bahwa
Menurut Teorema 5.1, kita menyimpulkan bahwa .
Terlepas dari sifat minimalnya, karena , Teorema 5.1 memberikan . Jadi, sedemikian sehingga . Dengan membagi kedua ruas oleh , kita memperoleh persamaan bilangan asli yang berarti Menurut Teorema 1.26, , maka Lemma Euklides 2.6 menyatakan bahwa .
Kita telah menunjukkan bahwa dan saling membagi. Dengan demikian, keduanya sama, seperti yang hendak dibuktikan. ◻
Latihan untuk §5.1
Latihan 5.1. Misalkan memenuhi . Buktikan bahwa jika terdapat sedemikian sehingga , maka prima.
Latihan 5.2. Misalkan adalah bilangan prima ganjil dan . Buktikan bahwa jika sedemikian sehingga , maka . [Petunjuk: lihat bukti Lemma 3.8.]
Latihan 5.3. Misalkan memenuhi dan memenuhi . Buktikan bahwa
Latihan 5.4. Buktikan, dengan melengkapi
perincian kerangka berikut, bahwa terdapat tak berhingga banyak bilangan
prima yang kongruen dengan 1 modulo 4:
Buktikan: jika bilangan prima ganjil dan memenuhi , maka [gunakan sebuah teorema dalam bagian ini]. Mengapa bilangan prima genap harus dikecualikan di sini?
Jadi, untuk , setiap pembagi prima ganjil dari kongruen dengan 1 modulo 4.
Sekarang, andaikan demi memperoleh kontradiksi bahwa hanya terdapat berhingga banyak bilangan prima yang kongruen dengan 1 modulo 4, lalu tinjau bilangan . Terapkan langkah sebelumnya ….
5.2 Selingan yang Diperlukan: Teorema Gauss tentang Jumlah Nilai Fungsi Phi Euler
Kelak dalam bab ini, kita akan memerlukan sebuah fakta tentang fungsi Euler yang pertama kali dibuktikan oleh Gauss:
Teorema 5.5. Untuk setiap ,
Kita akan memberikan dua bukti yang menyoroti aspek berbeda dari identitas ini:
Bukti 1. Tetapkan .
Untuk setiap pilihan pembagi positif , definisikan himpunan bagian dari berikut:
Himpunan-himpunan ini saling lepas. Memang, untuk setiap dengan , nilai sudah tertentu, sehingga hanya berada dalam tersebut.
Untuk , berlaku . Menurut Teorema 1.26, . Jadi, adalah banyaknya unsur dalam rentang yang relatif prima terhadap ; dengan kata lain, .
Setiap dalam rentang berada tepat dalam satu semacam ini, dengan suatu pembagi positif dari . Oleh karena itu, sehingga Namun, ketika merentang seluruh pembagi positif , demikian pula . Dengan kata lain,
Karena itu, persamaan besar terakhir dapat ditulis ulang sebagai seperti yang hendak dibuktikan. ◻
Bukti 2. Pendekatan ini berpusat pada fungsi yang mempunyai beberapa sifat sangat baik.
Sebagai contoh, misalkan prima dan . Pembagi-pembagi adalah , sehingga
Selanjutnya, jika dan adalah bilangan prima berbeda, pembagi-pembagi adalah , , , dan . Selain itu, . Jadi, menurut Teorema 2.33, Dari fakta ini, dapat dibuktikan (sebagai latihan di bawah) bahwa setiap kali relatif prima. Artinya, mempunyai sifat multiplikatif terhadap faktor-faktor yang relatif prima, sama seperti .
Sekarang kita siap menyelesaikan bukti. Ambil sebarang dengan (untuk , teorema ini langsung benar). Misalkan faktorisasi prima dari diberikan oleh dengan bilangan-bilangan prima yang berbeda. Karena itu, jika . Dengan memakai sifat multiplikatif dan perhitungan untuk pangkat-pangkat bilangan prima, kita menyimpulkan seperti yang hendak dibuktikan. ◻
Latihan untuk §5.2
Latihan 5.5. Selesaikan bukti kedua Teorema Gauss 5.5 dengan membuktikan bahwa untuk setiap yang relatif prima.
5.3 Akar Primitif
Sekarang kita kembali ke unsur-unsur yang membangkitkan subgrup siklik besar. Unsur-unsur tersebut mempunyai nama khusus:
Definisi 5.6. Untuk dengan , unsur disebut akar primitif modulo jika . Kita juga menyebut bilangan bulat sebagai akar primitif modulo jika merupakan akar primitif dalam pengertian yang baru saja didefinisikan.
Contoh 5.7. Dari kedua tabel dalam pendahuluan bab ini, kita dapat membaca akar-akar primitif berikut untuk setiap modulus :
| Akar primitif modulo | |||
|---|---|---|---|
| 2 | 1 | 1 | 1 |
| 3 | 2 | 2 | 1 |
| 4 | 3 | 2 | 1 |
| 5 | 2, 3 | 4 | 2 |
| 6 | 5 | 2 | 1 |
| 7 | 3, 5 | 6 | 2 |
| 8 | tidak ada | 4 | 2 |
| ⋮ | |||
| 16 | tidak ada | 8 | 4 |
| 17 | 3, 5, 6, 7, 10, 11, 12, 14 | 16 | 8 |
Kita menyertakan kolom karena setiap akar primitif harus mempunyai orde tersebut. Kita juga menambahkan kolom karena, seolah-olah melalui suatu keajaiban, nilai itu sering menghitung banyaknya akar primitif.
Mari kita nyatakan secara formal dan buktikan hasil umum yang tampak dalam contoh ini:
Teorema 5.8. Untuk dengan , jika mempunyai akar primitif, maka mempunyai tepat akar primitif.
Bukti. Misalkan suatu akar primitif. Artinya, karena . Setiap akar primitif lain , sebagai unsur , harus merupakan salah satu pangkat tersebut. Dengan memilih wakil pangkat secara unik, terdapat tepat satu dengan sedemikian sehingga .
Agar ini menjadi akar primitif, ordenya harus . Namun, menurut Teorema 5.4,
Jadi, merupakan akar primitif jika dan hanya jika . Menurut definisi fungsi Euler , di antara terdapat tepat nilai semacam itu. ◻
Mari kita lihat apakah, dalam keadaan tertentu, kita dapat membuktikan keberadaan akar primitif yang menjadi syarat awal teorema di atas. Keadaan termudah tampaknya terjadi ketika modulusnya prima, sebab dalam kasus itu kita mempunyai perangkat yang paling kuat.
Mencari unsur dengan orde tertentu antara lain berarti mencari solusi persamaan . Langkah pertamanya ialah teorema Lagrange berikut yang lebih umum mengenai polinomial modulo :
Teorema 5.9. Untuk dan , polinomial
dengan mempunyai paling banyak solusi dalam jika prima.
Bukti. Kita menggunakan induksi pada derajat . Kasus dasar berarti menyelesaikan kongruensi linear dengan . Karena prima, hal ini berarti . Jadi, menurut versi Teorema 2.13 yang dinyatakan dalam Catatan 2.14, kongruensi linear tersebut mempunyai solusi unik modulo .
Untuk langkah induksi, andaikan teorema benar untuk suatu , lalu kita buktikan kasus . Misalkan memenuhi . Jika tidak mempunyai akar modulo , teorema jelas benar untuk polinomial berderajat ini: banyaknya solusi adalah .
Sebaliknya, jika mempunyai sekurang-kurangnya satu akar modulo , pilih wakil bilangan bulatnya . Pembagian panjang polinomial memberikan dengan dan polinomial berkoefisien bilangan bulat yang memenuhi Karena itu, merupakan polinomial konstan, katakanlah bernilai .
Substitusikan ke dalam rumus hasil pembagian polinomial di atas: Jadi, , sehingga . Koefisien sama dengan koefisien utama , sehingga koefisien utama itu tidak kongruen dengan modulo .
Karena itu, hipotesis induksi berlaku bagi dan menyatakan bahwa mempunyai paling banyak akar modulo . Akar-akar tersebut, ditambah satu akar dari , berjumlah paling banyak akar bagi .
Untuk menuntaskan bukti, kita hanya perlu memastikan bahwa setiap akar memang merupakan akar atau . Misalkan suatu akar. Maka yang berarti . Menurut Proposisi 3.5, haruslah atau . Dengan kata lain, atau , seperti yang diharapkan. [Ini menggunakan apa yang dalam aljabar dasar disebut “sifat hasil kali nol”. Sifat tersebut berlaku dalam untuk prima menurut Proposisi 3.5; dalam aljabar abstrak, kita mengatakan bahwa merupakan suatu domain jika prima.]
Jadi, semua akar berasal dari akar atau , sehingga banyaknya paling besar . Langkah induksi pun terbukti. ◻
Demikianlah batas maksimum banyaknya akar. Dalam kasus khusus berikut, kita dapat menentukan banyaknya akar secara tepat:
Teorema 5.10. Jika prima dan memenuhi , maka, hingga kongruensi modulo , terdapat tepat solusi bagi kongruensi
Bukti. Misalkan dan seperti dalam pernyataan, lalu definisikan . Kita menggunakan faktorisasi cerdik berikut: sehingga .
Menurut Teorema Kecil Fermat, mempunyai tepat akar berbeda modulo , yaitu . Selain itu, menurut Teorema 5.9, mempunyai paling banyak akar. Seperti dalam bukti teorema tersebut (pada bagian tentang “sifat hasil kali nol” ), himpunan akar adalah gabungan himpunan akar dan . Karena akar berbeda itu harus tertampung dalam gabungan tersebut, sedangkan mempunyai paling banyak akar, mempunyai sekurang-kurangnya akar. Di sisi lain, Teorema 5.9 membatasi polinomial berderajat ini pada paling banyak akar. Jadi, mempunyai tepat akar modulo . ◻
Sekarang kita dapat menghitung secara tepat kelas-kelas kongruensi dalam , untuk prima, yang mempunyai orde tertentu:
Teorema 5.11. Jika prima dan memenuhi , maka terdapat tepat kelas kongruensi berbeda berorde dalam .
Bukti. Misalkan dan seperti dalam pernyataan, lalu tuliskan Menurut versi Teorema Lagrange kita, Teorema 3.13, setiap dengan mempunyai orde yang membagi . Jadi, Selain itu, menurut Teorema Gauss 5.5 ,
Dengan demikian, Sekarang cukup ditunjukkan bahwa untuk setiap yang membagi . Karena kedua jumlah berhingga di atas sama, ketaksamaan tersebut kemudian harus berupa kesamaan untuk setiap .
Ambil dengan . Jika , tidak ada unsur berorde , dan tentu saja karena .
Sekarang misalkan , sehingga terdapat unsur berorde dalam . Untuk setiap , . Jadi, merupakan unsur berbeda dalam yang semuanya memenuhi
Menurut Teorema 5.10, kongruensi ini mempunyai tepat solusi. Dengan demikian, merupakan seluruh solusinya. Di antara solusi tersebut terdapat semua unsur yang berorde , serta mungkin unsur berorde pembagi .
Teorema 5.4 menentukan secara tepat orde unsur-unsur : orde adalah
Jadi, unsur-unsur berorde adalah tepat unsur dengan dan . Banyaknya tepat ; dengan kata lain, . ◻
Jadi, inilah kesimpulan utamanya:
Akibat 5.12. Jika prima, terdapat akar primitif dalam .
Bukti. Gunakan dalam teorema sebelumnya. ◻
Untuk menuntaskan rangkaian dugaan yang mengawali bab dan bagian ini, mari kita buktikan teorema berikut.
Teorema 5.13. Misalkan memenuhi . Maka tidak mempunyai akar primitif.
Bukti. Kita akan membuktikan dengan induksi pada bahwa, untuk setiap bilangan ganjil , Untuk kasus dasar , perhatikan semua kelas kongruensi dalam yang mempunyai wakil ganjil beserta kuadrat kelas-kelas tersebut: Jadi, kasus dasar terbukti.
Sekarang andaikan pernyataan berlaku untuk nilai , yang berarti bahwa untuk setiap ganjil, Dengan kata lain, sedemikian sehingga Dengan menguadratkan kedua ruas, kita memperoleh yang berarti
Dengan demikian, bukti induktif bagi pernyataan awal selesai. Perhatikan bahwa untuk setiap ganjil, atau dengan kata lain setiap , Teorema 5.1 memberikan , sehingga . Jadi, tidak mempunyai akar primitif: akar semacam itu harus berupa bilangan ganjil berorde . ◻
Seperti yang tampak dari beberapa contoh yang telah kita hitung, pangkat besar dari dua tidak mempunyai akar primitif.
Latihan untuk §5.3
Latihan 5.6. Nyatakan setiap akar primitif modulo sebagai pangkat dari salah satunya.
Latihan 5.7. Temukan semua akar primitif untuk bilangan prima dan , lalu nyatakan masing-masing sebagai pangkat dari salah satu akar primitifnya.
Latihan 5.8. Untuk setiap orde yang mungkin, temukan semua unsur yang mempunyai orde tersebut.
Latihan 5.9. Dengan menyatakan semuanya sebagai pangkat dari satu akar primitif, gunakan Akibat 5.12 untuk membuktikan satu arah Teorema Wilson.
Latihan 5.10. Jika merupakan akar primitif dari bilangan prima ganjil , buktikan bahwa . Buktikan pula bahwa jika adalah akar primitif lain dari , maka tidak mungkin merupakan akar primitif.
Latihan 5.11. Buktikan bahwa invers suatu akar primitif selalu merupakan akar primitif.
Latihan 5.12. Jika prima dan kongruen dengan , buktikan bahwa untuk setiap akar primitif dari , nilai juga merupakan akar primitif. Jika prima dan kongruen dengan , buktikan bahwa .
5.4 Indeks
Untuk beberapa nilai , terdapat akar primitif . Dalam keadaan itu, kita telah melihat bahwa Artinya, setiap merupakan suatu pangkat dari . Mungkin Anda bertanya, “Pangkat yang mana?” Untuk menjawabnya, kita membuat definisi berikut.
Definisi 5.14. Jika mempunyai akar primitif , maka untuk setiap dengan , bilangan terkecil yang memenuhi disebut indeks relatif terhadap dan dinotasikan dengan .
Kita kadang-kadang juga membahas untuk . Maksudnya ialah indeks relatif terhadap dari sebarang wakil bagi kelas kongruensi .
Contoh 5.15. Berdasarkan tabel-tabel di atas (5.1, 5.2, dan 5.3), kita dapat dengan mudah menghitung sejumlah contoh. Pertama, untuk modulus-modulus kecil yang hanya mempunyai sedikit akar primitif:
| 2 | 1 | 1 | 1 |
| 3 | 2 | 1 | 2 |
| 2 | 1 | ||
| 4 | 3 | 1 | 2 |
| 3 | 1 | ||
| 5 | 2 | 1 | 4 |
| 2 | 1 | ||
| 3 | 3 | ||
| 4 | 2 | ||
| 5 | 3 | 1 | 4 |
| 2 | 3 | ||
| 3 | 1 | ||
| 4 | 2 |
| 7 | 3 | 1 | 6 |
| 2 | 2 | ||
| 3 | 1 | ||
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | 3 | ||
| 5 | 1 | 6 | |
| 2 | 4 | ||
| 3 | 5 | ||
| 4 | 2 | ||
| 5 | 1 | ||
| 6 | 3 |
Dari dua modulus lebih besar yang telah kita hitung, hanya yang mempunyai akar primitif. Karena mempunyai 16 unsur dan 8 akar primitif, kita membuat tabel yang lebih besar khusus untuk modulus ini:
| 1-18 | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3-18 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
| 1-18 | 3 | 16 | 14 | 1 | 12 | 5 | 15 | 11 | 10 | 2 | 3 | 7 | 13 | 4 | 9 | 6 | 8 |
| 2-18 | 5 | 16 | 6 | 13 | 12 | 1 | 3 | 15 | 2 | 10 | 7 | 11 | 9 | 4 | 5 | 14 | 8 |
| 2-18 | 6 | 16 | 2 | 15 | 4 | 11 | 1 | 5 | 6 | 14 | 13 | 9 | 3 | 12 | 7 | 10 | 8 |
| 2-18 | 7 | 16 | 10 | 3 | 4 | 15 | 13 | 1 | 14 | 6 | 9 | 5 | 7 | 12 | 11 | 2 | 8 |
| 2-18 | 10 | 16 | 10 | 11 | 4 | 7 | 5 | 9 | 14 | 6 | 1 | 13 | 15 | 12 | 3 | 2 | 8 |
| 2-18 | 11 | 16 | 2 | 7 | 4 | 3 | 9 | 13 | 6 | 14 | 5 | 1 | 11 | 12 | 15 | 10 | 8 |
| 2-18 | 12 | 16 | 6 | 5 | 12 | 9 | 11 | 7 | 2 | 10 | 15 | 3 | 1 | 4 | 13 | 14 | 8 |
| 2-18 | 14 | 16 | 14 | 9 | 12 | 13 | 7 | 3 | 10 | 2 | 11 | 15 | 5 | 4 | 1 | 6 | 8 |
| 1-18 | |||||||||||||||||
Berdasarkan contoh-contoh dan definisi indeks yang sederhana ini, beberapa dugaan muncul secara alami. Banyak di antaranya sangat mudah dibuktikan (dan dijadikan latihan):
Teorema 5.16. Misalkan mempunyai akar primitif . Maka
; secara ekuivalen, ;
;
untuk setiap yang memenuhi , berlaku
untuk setiap dengan dan setiap , berlaku
Sifat-sifat ini sangat mirip dengan sifat dasar logaritma berbasis . Karena itu, dalam literatur ilmu komputer, indeks disebut logaritma diskret. Untuk aplikasi kriptologi, penting untuk memerhatikan bahwa, pada keluarga parameter besar yang dipilih dengan sesuai, eksponensiasi dalam merupakan calon fungsi satu arah yang sangat baik:
Jika , , dan diberikan, eksponensiasi modular cepat merupakan komputasi layak untuk memperoleh modulo .
Jika , , dan diberikan dengan parameter dari keluarga semacam itu, belum dikenal algoritme klasik layak yang menemukan dengan .
Dalam bagian-bagian berikutnya, kita akan membahas beberapa protokol kriptologi yang berbasis logaritma diskret.
Sebelum beralih ke kriptologi, kita menjelajahi beberapa penerapan matematis murni dari indeks. Seperti penerapan logaritma dalam aljabar dasar, kegunaan indeks berasal dari Teorema 5.16, yang memungkinkan manipulasi aljabar terhadap pangkat dan perkalian secara mudah. Berikut sebuah contoh.
Contoh 5.17. Kita menggunakan indeks untuk menyelesaikan kongruensi dengan mula-mula mengambil pada kedua ruas: dan menerapkan semua aturan dalam Teorema 5.16. Dengan melihat Tabel 5.5, kita mengubahnya menjadi atau, setelah diselesaikan, yang, setelah kita kembali melihat tabel, berarti .
Sebagai pemeriksaan, perhatikan bahwa .
Bagaimana jika kita menyelesaikan persamaan yang sama, tetapi memakai akar primitif yang berbeda sebagai basis indeks? Hitung sehingga dan kita memperoleh persamaan serupa, sehingga solusinya tetap .
Kesalahan umum ketika menggunakan indeks ialah memakai modulus yang sama untuk indeks dan kongruensi asal. Padahal, ketika kongruensi asal adalah modulo , untuk , kongruensi indeks adalah modulo !
Latihan untuk §5.4
Latihan 5.13. Untuk modulus
,
gunakan indeks untuk menyelesaikan kongruensi berikut:
(b)
Latihan 5.14. Aturan logaritma dalam Teorema 5.16 sangat mirip dengan aturan logaritma biasa, tetapi satu aturan belum ada: rumus perubahan basis. Tentukan bentuk rumus tersebut dalam konteks indeks, nyatakan secara formal, lalu buktikan.
Latihan 5.15. Misalkan bilangan prima ganjil dan suatu akar primitif modulo .
Buktikan bahwa .
Jika memenuhi , apa hubungan antara dan ? Buktikan!
Jika memenuhi , apa hubungan antara dan ? Buktikan!
5.5 Pertukaran Kunci Diffie–Hellman
Sekitar setahun sebelum kriptosistem RSA diciptakan, Whitfield Diffie dan Martin Hellman menerbitkan New directions in cryptography (Diffie dan Hellman 1976), uraian lengkap pertama dalam literatur ilmiah terbuka mengenai kriptosistem kunci publik yang dapat berfungsi.1 Dalam makalah itu mereka mendefinisikan sesuatu yang kemudian dinamai menurut keduanya:
Definisi 5.18. Protokol berikut disebut pertukaran kunci Diffie–Hellman [DHKE]:
Alice dan Bob menyepakati sebuah bilangan prima besar beserta akar primitif , lalu mengumumkan keduanya.
Alice memilih yang memenuhi , menghitung , merahasiakan , tetapi mengumumkan .
Bob memilih yang memenuhi , menghitung , merahasiakan , dan mengumumkan .
Alice memperoleh nilai publik dan menghitung .
Bob memperoleh dan menghitung nilai yang sama, .
Alice dan Bob memakai rahasia bersama sebagai kunci untuk komunikasi selanjutnya, yang dienkripsi dengan suatu kriptosistem simetris yang telah mereka sepakati sebelumnya.
Nilai yang dimiliki Alice dan Bob [tetapi tidak dimiliki Eve] disebut kunci bersama atau rahasia bersama mereka.
Gambaran grafisnya sebagai berikut:
Proposisi 5.19. Jika Alice dan Bob mengikuti protokol DHKE, keduanya menghitung kunci bersama yang sama; dengan kata lain, DHKE berfungsi.
Bukti. Hanya sedikit yang perlu diperiksa. Dengan memakai notasi dalam definisi dan, tepat di tengah, sifat komutatif perkalian, kita memperoleh Ujung kiri kongruensi ini adalah yang dihitung Alice, sedangkan ujung kanannya adalah yang dihitung Bob; keduanya sama sebagai kelas modulo . ◻
Contoh 5.20. Dalam pembicaraan terbuka, Alice dan Bob sepakat memakai bilangan prima beserta akar primitifnya .
Alice secara privat memilih nilai rahasianya dan mengirim nilai kepada Bob melalui surel yang tidak aman. (Tentu saja, setiap surel tanpa enkripsi tidak aman.)
Bob memilih nilai rahasianya dan mengirim nilai kepada Alice melalui surel yang tidak aman.
Alice menghitung rahasia bersama
Bob menghitung rahasia bersama yang sama melalui
Mereka kemudian dapat memakai nilai ini sebagai kunci kriptografi simetris untuk sisa komunikasi tersebut.
Bagaimana dengan kepraktisan DHKE? Seperti dibahas dalam §4.4, mencari bilangan prima [besar] (kita tetap memakai notasi dari Definisi 5.18) layak secara komputasi, demikian pula beberapa eksponensiasi modular dalam protokol DHKE. Masih tersisa persoalan mencari akar primitif .
Salah satu caranya ialah menghindari pencarian lebih dari sekali. Setelah satu bilangan prima beserta akar primitif modulo ditemukan, setiap pengguna dapat memilih rahasianya sendiri ( milik Alice dan milik Bob) tanpa tumpang tindih atau konflik. Pendekatan ini disarankan dalam sejumlah standar Internet; lihat, misalnya, (Harkins dan Carrel, t.t.) dan (Lepinski dan Kent 2008).
Strategi lain yang lebih matematis didasarkan pada definisi berikut. Kita menyertakannya karena konsep ini menarik secara matematis dan tokoh yang namanya diabadikan di dalamnya menjalani kehidupan yang luar biasa.
Definisi 5.21. Bilangan prima yang membuat juga prima disebut prima Sophie Germain.
Belum diketahui berapa banyak prima Sophie Germain yang ada, meskipun diduga jumlahnya tak hingga. Bahkan, terdapat dugaan yang cermat mengenai kepadatan asimtotik prima semacam itu serta teknik algoritmik untuk membangkitkannya secara efisien; lihat (Shoup 2009).
Contoh 5.22. Tujuh belas prima Sophie Germain pertama ialah
Barisan semua prima Sophie Germain adalah barisan
A005384 dalam On-Line Encyclopedia of
Integer Sequences,
oeis.org.
Pada saat naskah sumber ini ditulis, prima Sophie Germain terbesar yang diketahui ialah
yang ditemukan pada 2012 oleh Philipp Bliedung dan sebuah jaringan besar komputer terdistribusi.
Kegunaan prima Sophie Germain dalam DHKE diselidiki pembaca melalui latihan di bawah ini.
Seperti disebutkan dalam bagian sebelumnya 5.4, keamanan DHKE pada keluarga parameter besar yang dipilih dengan sesuai bergantung pada asumsi bahwa eksponensiasi modular berperilaku sebagai fungsi satu arah: layak dihitung ke arah maju (dengan eksponensiasi modular cepat), tetapi belum dikenal cara klasik yang layak untuk membalik operasi itu (yakni menghitung suatu indeks).
Jika logaritma diskret dapat dihitung dengan algoritme layak, Eve dapat membobol DHKE sepenuhnya. Berawal dari nilai publik dan , ia akan menghitung dan . Selanjutnya ia dapat menghitung sebagai , , atau langsung sebagai . Setelah memperoleh , ia dapat mendekripsi komunikasi Alice dan Bob yang lewat.
Sebenarnya, Eve tidak harus mampu menghitung logaritma diskret selama ia dapat menyelesaikan suatu masalah komputasi tertentu.
Definisi 5.23. Masalah Diffie–Hellman [DHP] adalah pertanyaan berikut. Diberikan
bilangan prima ,
akar primitif , dan
dua unsur yang diketahui berbentuk dan untuk , meskipun dan tidak diketahui,
hitung
.
Cara efisien untuk menghitung logaritma diskret tentu menghasilkan penyelesaian DHP. Namun, belum diketahui apakah DHP dapat diselesaikan tanpa algoritme lengkap untuk menghitung logaritma diskret. Karena pertanyaan ini masih terbuka pada saat naskah sumber ditulis, pernyataan yang paling cermat ialah bahwa membobol DHKE berarti menyelesaikan DHP. Untuk keluarga parameter besar yang dipilih dengan sesuai, tidak dikenal algoritme klasik yang layak untuk melakukannya.2
DHKE merupakan salah satu protokol kriptologi yang paling luas digunakan di Internet. Protokol ini atau variannya dipakai, antara lain, dalam SSL, TLS, SSH, IPsec, dan banyak VPN.
Latihan untuk §5.5
Latihan 5.16. Andaikan Anda mempunyai algoritme efisien untuk membangkitkan prima Sophie Germain yang besar. Jelaskan cara memakainya untuk memilih parameter publik awal DHKE: telusuri semua tahap penyiapan protokol ini dan jelaskan bagaimana setiap tahap dapat dilakukan secara layak, berdasarkan pembahasan terdahulu tentang perhitungan yang dapat kita lakukan secara layak atau berdasarkan gagasan baru yang Anda kembangkan di sini.
Latihan 5.17. Bilangan adalah prima dan merupakan akar primitif modulo . Dengan berperan sebagai Alice, pengajar Anda telah menghitung .
Berperanlah sebagai Bob dan lakukan apa yang diperlukan untuk membentuk kunci bersama dengan pengajar Anda: hitung seperti dalam DHKE dan kirimkan Anda melalui surel agar pengajar juga dapat menghitung . Kemudian tunggu petunjuk lanjutan melalui surel balasan yang dienkripsi dengan rahasia bersama.
Anda mungkin perlu melakukan perhitungan yang sulit dikerjakan
dengan kalkulator genggam. Jika Anda memiliki akses ke dan terbiasa
dengan sistem komputer seperti Octave, Matlab,
atau Mathematica, perhitungan ini dapat
dilakukan dengan sistem tersebut. Jika tidak, cobalah mencari frasa
“fast modular exponentiation applet” dengan mesin pencari favorit Anda
atau memakai wolframalpha.com.
Latihan 5.18. Uraikan dengan perincian matematis yang cermat semua langkah yang digunakan dalam serangan man-in-the-middle terhadap DHKE.
5.6 Kriptosistem ElGamal
Seperti disebutkan dalam bagian sebelumnya, untuk keluarga parameter besar yang dipilih dengan sesuai, eksponensiasi modulo bilangan prima publik merupakan calon fungsi satu arah yang baik. Perhitungan ke arah maju berlangsung cepat (layak), sedangkan inversnya, yakni logaritma diskret relatif terhadap akar primitif modulo , belum diketahui dapat dihitung dengan algoritme klasik yang layak—bahkan ketika akar itu diketahui publik. Asumsi ini mendasari DHKE; kini kita membahas cara memakai gagasan satu arah tersebut untuk membentuk kriptosistem kunci publik yang lebih lazim, yaitu kriptosistem ElGamal.
Dalam kriptosistem kunci publik RSA, enkripsi dilakukan dengan eksponensiasi modulo . Dekripsi kemudian dilakukan dengan eksponen yang merupakan invers multiplikatif eksponen enkripsi modulo . Pemilik kunci privat, yang mengetahui faktor rahasia dan , juga dapat mengetahui eksponen dekripsi karena ia dapat menghitung .
Dengan cara serupa, ElGamal memakai operasi aritmetika elementer—mengalikan bentuk numerik pesan dengan suatu faktor pengacak modulo bilangan tertentu— untuk melakukan pengacakan yang diperlukan dalam enkripsi. Cipherteks membawa informasi secukupnya agar penerima yang dituju, yang mengetahui nilai logaritma diskret tertentu, dapat membatalkan perkalian pengacak itu. Berikut rinciannya. Konstruksi buku teks ini menetapkan cara kerja dan kebenaran fungsionalnya; jaminan keamanan yang lebih kuat memerlukan asumsi mengenai grup, pembangkitan parameter, enkode, dan keacakan baru yang independen yang tidak dibuktikan di sini.
Definisi 5.24. Untuk memulai, Alice memilih bilangan prima besar , akar primitif modulo , dan nilai rahasia yang memenuhi . Ia menghitung , lalu memasang kunci publik [enkripsi] ElGamal miliknya, yaitu , di situs webnya.
Kunci privat [dekripsi] ElGamal milik Alice adalah . Hubungan kunci dekripsi dengan kunci enkripsi diberikan oleh .
Ruang pesannya ialah . Kita menganggap setiap unsurnya dapat ditafsirkan sebagai pesan bermakna yang dienkode secara numerik dengan suatu skema yang dikenal luas.
Misalkan Bob ingin mengirim plainteks kepada Alice. Untuk setiap pesan baru , ia membangkitkan bilangan acak baru yang memenuhi , lalu membentuk cipherteks untuk enkripsi ElGamal, yang terdiri atas dua komponen
Ketika menerima cipherteks , Alice dapat memulihkan plainteks dengan dekripsi ElGamal
Semua komponen di atas bersama-sama membentuk kriptosistem ElGamal.
Pertama-tama, kita perlu memastikan bahwa konstruksi ini benar dalam arti berikut.
Proposisi 5.25. Dengan notasi dalam Definisi 5.24, berlaku
Bukti. Cukup lakukan perhitungan berikut: Perhatikan bahwa eksponen pada suku dalam dekripsi menghasilkan tanpa memakai pangkat negatif, berdasarkan Teorema 5.2. ◻
Secara grafis:
ElGamal juga memiliki algoritme tanda tangan digital yang menarik:
Definisi 5.26. Misalkan Alice memiliki kunci privat ElGamal dan ingin menandatangani pesan secara digital. Untuk setiap tanda tangan baru, mula-mula ia memilih secara acak sehingga dan .
Tuliskan dan , dengan invers diambil modulo . Tanda tangan digital pada ialah pasangan .
Untuk memverifikasi tanda tangan pada pesan dengan kunci publik Alice , Bob memeriksa apakah . Jika ya, ia menerima; jika tidak, ia menolak.
Sekali lagi, kita ingin memastikan bahwa prosedur ini memberikan hasil yang semestinya.
Proposisi 5.27. Dengan notasi di atas, Bob akan menerima setiap pesan bertanda tangan yang dihasilkan Alice menurut prosedur tersebut.
Bukti. Andaikan pesan bertanda tangan dibuat Alice seperti di atas. Karena , kita mempunyai . Dengan Teorema 5.2, kita menghitung Jadi, Bob akan menerima tanda tangan tersebut. ◻
Secara grafis:
Latihan untuk §5.6
Latihan 5.19. Pengajar Anda masih menyukai bilangan prima dengan akar primitif dari latihan terdahulu 5.17 tentang DHKE. Selain itu, pengajar telah menghitung nilai untuk melengkapi kunci publik ElGamal .
Dengan kunci publik ini, Anda ingin mengirim pesan berupa bilangan 42 kepada pengajar (bagaimanapun, itulah jawaban atas “kehidupan, alam semesta, dan segala sesuatu”). Cipherteks apa yang akan Anda kirim? Tunjukkan perhitungan Anda!
Latihan 5.20. Sekarang pengajar ingin mengirimkan nilai ujian terbaru Anda melalui surel. Untuk mendukung klaim bahwa surel itu benar-benar berasal dari pengajar, surel tersebut memuat nilai 97 beserta tambahan: “Nilai ini ditandatangani dengan tanda tangan digital ElGamal memakai kunci publik saya [kunci publik pengajar yang sama seperti dalam Latihan 5.19, yaitu ]; nilai tanda tangannya adalah .”
Apakah tanda tangan itu lolos verifikasi? Dengan asumsi pengikatan identitas–kunci pengajar telah diautentikasi dan kunci privatnya tidak terkompromi, apakah Anda menerima surel tersebut sebagai benar-benar berasal dari pengajar? Tunjukkan perhitungan Anda!
Latihan 5.21. Buat kunci publik ElGamal dan kirimkan kepada pengajar melalui surel. Tunggu pesan balasan yang dienkripsi dengan ElGamal, lalu kirim kembali plainteksnya kepada pengajar.
Selain itu, gunakan kunci publik Anda untuk menandatangani bilangan 17 sebagai pesan. Kirimkan bilangan bertanda tangan itu kepada pengajar dan tunggu kabar apakah tanda tangannya diterima atau ditolak.
Sebenarnya, beberapa bentuk kriptografi kunci publik yang dapat berfungsi telah ditemukan lebih dahulu di lingkungan intelijen AS dan Britania Raya, tetapi tidak dibagikan kepada publik. Sejak masa awal Perang Dingin, sejumlah pemerintahan besar telah merahasiakan teorema dan bukti matematika.↩︎
Seperti pada faktorisasi, terdapat algoritme yang diketahui untuk komputer kuantum yang menyelesaikan DHP secara efisien; lihat (Shor 1994).↩︎