Journal of Computing and Applied Informatics (JoCAI) Vol. 01, No. 1, 2017 | 30 - 37 DATA SCIENCE Journal of Computing and Applied Informatics *Corresponding author at: 1 College of Science and Engineering, School of Environmental Design, Kanazawa University, Japan 2,3 Department of Computer Science, Faculty of Computer Science and Information Technology, Universitas Sumatera Utara, Medan 20155, Indonesia E-mail address: ade_candra@stu.kanazawa-u.ac.jp (Ade Chandra), mandrib@usu.ac.id (Mohammad Andri Budiman), dian.rachmawati@usu.ac.id (Dian Rachmawati) Copyright © 2017 Published by Talenta Publisher, ISSN: 2580-6769 | e-ISSN: 2580-829X Journal Homepage: https://talenta.usu.ac.id/JoCAI On Factoring the RSA Modulus Using Tabu Search Ade Candra 1 , Mohammad Andri Budiman 2 , and Dian Rachmawati 3 1 College of Science and Engineering, School of Environmental Design, Kanazawa University 2,3 Department of Computer Science, Universitas Sumatera Utara, Medan, Indonesia Abstract. It is intuitively clear that the security of RSA cryptosystem depends on the hardness of factoring a very large integer into its two prime factors. Numerous studies about integer factorization in the field of number theory have been carried out, and as a result, lots of exact factorization algorithms, such as Fermat’s factorization algorithm, quadratic sieve method, and Pollard’s rho algorithm have been found. The factorization problem is in the class of NP (non-deterministic polynomial time). Tabu search is a metaheuristic in the field of artificial intelligence which is often used to solve NP and NP-hard problems; the result of this method is expected to be close-to-optimal (suboptimal). This study aims to factorize the RSA modulus into its two prime factors using tabu search by conducting experiments in Python programming language and to compare its time performance with an exact factorization algorithm, i.e. Pollard’s algorithm. The primality test is done with Lehmann’s algorithm. Keyword: RSA, Tabu search, Pollard’s factorization, Prime numbers, Lehmann’s primality test, Python. Abstrak. Secara intuitif, keamanan sistem kriptografi kunci publik RSA bergantung kepada sulitnya memfaktorisasi sebuah bilangan bulat yang sangat besar menjadi dua buah faktor primanya. Penelitian mengenai faktorisasi bilangan bulat umumnya dilakukan di ranah teori bilangan dan telah menghasilkan beberapa macam algoritma eksak, seperti algoritma faktorisasi Fermat, metode saringan kuadratik, dan algoritma Pollard. Masalah faktorisasi itu sendiri termasuk dalam kelas NP (non-deterministic polynomial time). Tabu search adalah suatu metaheuristik pada ranah kecerdasan buatan yang jamak dipakai untuk menyelesaikan masalah kelas NP dan NP-hard; kategori hasil dari metode ini adalah mendekati optimal (suboptimal). Penelitian ini berupaya untuk memfaktorkan modulus RSA menjadi dua buah faktor primanya dengan menggunakan tabu search dengan pendekatan eksperimental dalam bahasa pemrograman Python dan membandingkan waktu faktorisasinya dengan salah satu algoritma eksak, yaitu algoritma Pollard. Uji keprimaan dilakukan dengan algoritma Lehmann. Kata Kunci: RSA, tabu search, faktorisasi Pollard, bilangan prima, uji prima Lehmann, Python. Received 27 April 2017 | Revised 29 May 2017 | Accepted 30 June 2017