Jawaban berikut awalnya diposting sebagai komentar di blog Gil
(1) Misalkan menjadi bidang angka, di mana kita menganggap memiliki polinomial minimal . Satu kemudian dapat mewakili unsur-unsur dari cincin integer sebagai polinomial dalam atau dalam hal basis integral - keduanya setara.K=Q(α)αf∈Z[x]OKα
Sekarang memperbaiki seperti pada (1) ada pengurangan polinomial-waktu dari masalah atas ke masalah di . Untuk memverifikasi bahwa perhitungan (misalnya memotong ideal dengan atau memfaktorkan polinomial mod ) dapat dilakukan dalam waktu polinomial, lihat buku Cohen yang dirujuk dalam jawaban sebelumnya.KKQZp
Sebagai perhitungan awal untuk setiap prime rasional yang membagi diskriminan (yaitu diskriminan ), temukan semua bilangan prima dari terletak di atas .pαfOKp
(2) Untuk pengujian awal, diberikan biarkan dibuat sedemikian rupa sehingga (ini dapat dihitung dalam waktu polinomial dan jumlah bit adalah polinomial dalam input). Periksa dalam waktu polinomial apakah prima. Jika tidak maka tidak prima. Jika ya maka temukan bilangan prima dari terletak di atas baik dari prakomputasi atau dengan memfaktorkan mod . Bagaimanapun jika adalah prima itu harus salah satu bilangan prima tersebut.a◃OKp∈Za∩Z=pZppaOKpfpa
(3a), (6a) Untuk memfaktorkan ke dalam bilangan prima, diberikan temukan normalnya . Sekali lagi ini dapat ditemukan dalam waktu polinomial dan akibatnya tidak terlalu besar. Faktor dalam (baik secara klasik atau menggunakan algoritma Shor, tergantung pada pengurangan yang Anda inginkan). Ini memberikan daftar bilangan prima rasional yang membagi , dan karenanya seperti pada 2 kita dapat menemukan daftar bilangan prima dari membagi . Sejak ini memberikan daftar bilangan prima yang membagia◃OKy=NKQ(a)=[OK:a]yZyOKya|yOKa. Akhirnya, mudah untuk menentukan eksponen di mana prime membagi ideal yang diberikan.
(3b), (6b) Tapi Gil ingin faktorisasi menjadi irreducible, bukan ke bilangan prima. Ternyata dengan faktorisasi utama adalah mungkin untuk secara efisien membangun satu faktorisasi menjadi elemen yang tidak dapat direduksi dari . Untuk ini biarkan menjadi nomor kelas, dan perhatikan bahwa dimungkinkan untuk secara efisien menghitung kelas ideal dari suatu ideal yang diberikan. Sekarang untuk menemukan pembagi tak tereduksi pilih cita-cita utama (mungkin dengan pengulangan) dari faktorisasixOKxOKhKxhKx. Dengan prinsip lubang-merpati beberapa bagian dari yang berlipat ganda dengan identitas dalam kelompok kelas; menemukan subset minimal seperti itu. Produknya kemudian merupakan cita-cita utama yang dihasilkan oleh elemen yang tidak dapat direduksi. Bagi dengan elemen ini, hapus cita-cita yang relevan dari faktorisasi dan ulangi. Jika faktorisasi memiliki kurang dari elemen maka hanya mengambil subset minimal dari semua faktor.xhK
(4) Saya pikir itu mungkin untuk menghitung faktorisasi menjadi irreducible, tapi ini sedikit tambahan kombinatorik - tolong beri saya waktu untuk menyelesaikannya. Di sisi lain, menentukan semuanya tidak menarik dalam konteks algoritma faktorisasi sub-eksponensial karena ada secara umum banyak faktorisasi seperti itu.
(5) Saya tidak tahu.