SlideShare a Scribd company logo
1 of 8
Download to read offline
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
DOI : 10.5121/ijcsit.2013.5214 157
PERFORMANCE ANALYSIS OF PARALLEL POLLARD’S
RHO FACTORING ALGORITHM
Anjan K Koundinya1
, Harish G1
,Srinath N K1
, Raghavendra G E1
, Pramod Y V1
,
Sandeep R1
and Punith Kumar G1
1
Department of Computer Science and Engineering,
R V College of Engineering,
Bangalore, India
annjank2@gmail.com
ABSTRACT
Integer factorization is one of the vital algorithms discussed as a part of analysis of any black-box cipher
suites where the cipher algorithm is based on number theory. The origin of the problem is from Discrete
Logarithmic Problem which appears under the analysis of the cryptographic algorithms as seen by a
cryptanalyst. The integer factorization algorithm poses a potential in computational science too, obtaining
the factors of a very large number is challenging with a limited computing infrastructure. This paper
analyses the Pollard’s Rho heuristic with a varying input size to evaluate the performance under a multi-
core environment and also to estimate the threshold for each computing infrastructure.
KEYWORDS
Pollard’s Rho, Brent’s Implementation, Monte-Carlo Algorithm, Integer Factorization,Discrete Log
Problem.
1. INTRODUCTION
Cryptanalysis is vital study under cryptology that gives insight on strength of cryptographic
algorithm; the base for such algorithm stands on the distinguishable properties like key size,
number of rounds, chosen number and many more. Most of the encryption algorithm is based on
Number theory aspects and strength of such algorithm purely depends on the size of the number.
For instance, standard RSA algorithm implementation employs prime numbers which of 309
digits. Such algorithm gives a broad avenue for cryptanalysis study to be performed.
On the other hand from computation perspective, there is growing demand on the porting the
legacy algorithm to state-of-the-art computation. This is to effectively use the optimal strength of
the underlying computer architecture or computing infrastructure. A normal tendency of any
algorithm is that they are either computation driven or data driven, for instance, a computation
drive algorithm can be calculating a square root of number which is around 25 digits in size and
data driven algorithm can be simple sorting algorithm sorting around 50,000 numbers. The former
has to be addressed with multi-core architecture and latter has to be addressed by cluster
computing methods.
Pollard’s Rho Algorithm [6] is one such algorithm which would require computation driven
solution that is well addressed under a multi-core architecture. As the number of digits in number
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
158
increases the more number of cores are required to factorize the number. The most important
application of this is with Discrete Logarithmic Problem (DLP). In DLP, given two large prime
numbers p and g, public keyy is calculated as follows –
Wherex is kept private.
To calculate the x -
If a traditional technique such as the brute force is applied to find the value of x it would depend
on the length of the prime factor. Hence a heuristic approach like the Pollard’s Rho is applied to
obtain the prime factors of x.
Earlier to the techniques of finding factor for a given number, the prominently employed
algorithm was the Sieve of Erathosthenes [4]. Although the algorithm used an efficient data
structure for performing the division by modulo N, it had serious flaws while operating with large
numbers between 50 – 100 digits as memory key constraints for it. The algorithm is described
below-
Algorithm: Sieve of Eratosthenes
Input: An integer n
Output:Returns an array of all prime numbers <= n
1. a[1]  0
2. for i  2 to n do
3. a[i] := 1
4. p  2
5. while p2< n do
6. j  p2
7. while (j < n) do
8. a[j]  0
9. j  j+p
10. repeat p  p+1 until a[p] = 1
11. return(a)
The paper is organised in discuss more flavour of Pollard’s Rho with respect to the required
hardware implementation. The section -2 discusses in depth of the description of Pollard’s Rho
algorithm. The section -3 of the paper discusses about the design and implementation of the
algorithm in multi-core environment. The section -4 discuss about the variety of results with the
implementation.
2. POLLARD’S RHO ALGORITHM
Pollard's Rho algorithm [6,8] is a heuristic, i.e., the runningtime of this algorithm cannot
berigorously analysed. It is saidto work very quickly when the number to be factorized hassmall
factors, i.e., typically of the size of 10-12 digits. It isalso very parallelizable [3]. This is, hence,
our choice ofalgorithm for implementation.Algorithms such as trial division and sieve of
Eratosthenestake a lot of time because they use the brute-force approachand are only suitable for
finding factors of size 3-5 digits.The other integer factorization algorithms such as the General
number field sieve and its open-source implementations (MSIEVE), compute factors of any size.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
159
But thesealgorithms are preferred when it is known that the numberto be factorized has large
integers. This is because these algorithms take the same amount of time to find either largeor
small factors [1].
Description of Pollard’s Rho Algorithm:
Algorithm: Pollard's Rho
Input: An integer n to be factorized, and a pseudo-randomfunction f modulo n
Output: Factors of n
1. i 1
2. x1 f(0, n-1) while true
3. do i  i + 1
4. xi f(0, n - 1)
5. d gcd( | xi+1- xi |, n)
6. if d = 1 or d = n Output d
The greatest common divisor (GCD) in Line 5 of the Algorithm Pollard's Rho gives the greatest
common divisor oftwo integers which have been passed as parameters. According to the birthday
paradox [5], two numbers x and y(and hence |x-y|) are congruent modulo p with probability 0.5
after numbers have been randomly chosen.
Ifp is a factor of n, then . Whenthe sequence of xi start repeating after
some iterations, thisis detected using the Floyd's cycle detection algorithm andPollard's Rho
algorithm stops computation.This algorithm may or may not produce a factor of n. Thatis, either a
correct factor or no factor is produced. This is why this algorithm falls under the class of Monte-
Carlomethods.
The Floyd’s detection algorithm [9] is terminating condition for the Pollard’s Rho Algorithm, The
description of the algorithm is given below-
Algorithm: Floyd’s Cycle Detection
Input: A number
Output: An index i such that where
1. i1 and y0x0
2. Repeat
3. and
4. if xi =yi then output i and stop
5. else i i+1
3. DESIGN AND IMPLEMENTATION
The pseudo-random number function used in Algorithm Pollard's Rho is of the form
where ‘c’ is some integer otherthan -2 or 0.
Changing the c values in this function changesthe numbers of iterations that the algorithm has to
performto produce a factor. For some c values, a factor may neverbe produced. The
parallelization scheme performed is as follows.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
160
1. Different ‘c’ values are used to create different random number functions.
2. The number n that is to be factorized and a random functionis given to each CPU core
available on the machine wherethis program is being run.
3. All the cores try to compute afactor, but because of the different c values, each core
takesdifferent amounts of time to compute a factor.
4. If one of the cores compute a factor, the computation on all theremaining cores are
stopped.
5. The number n is divided bythe computed factor to create another number n0.
In realistic application, input to the algorithm would deal with large integer number; for instance
the size of integer number used is around 312 digits in RSA Algorithm[7]. This is beyond the
storage capacity of any built-in datatypes of any programming language. Since the parallel
implementation takes OpenMP as the programming paradigm, it essential to find proper format
/data structure to store such numbers. Hence GMP, an OpenSource version of GNU is employed
to handle such large numbers. Now the size of the number may be restricted to available
resources of the computing device. This number is given to all the cores with the old c values and
thecores try to compute yet another factor of n. This processcontinues until all the prime factors
of the given number are obtained.
However, implementations of Pollard's algorithm on CUDA also exist [2],but such
implementation are dependent on the computingenvironment and cannot be distributed in
cluster/grid environments.
4. RESULTS
The parallel version of Pollard's algorithm was run on one of the cores of a dual coremachine,
both cores of a dual core and four cores of quad core machine. The time takento produce all
factors in each case was measured(Table 4.1). The code was also run usingonly a single core,
using 2 cores and then using all 4 cores of a single quad core machinemeasured the times taken to
produce all factors in each case (Tables 4.2, 4.3 and 6.6).5, 50 digit numbers, 5, 100 digit
numbers and 5, 200 digit numbers.
To start with the five numbers of 50 digits are tested on the machines and the time required to
compute the factors is captured in the table 4.1 –
Single Core Dual Core Quad Core
18.221s 11.162s 8.266s
24.605s 13.234s 9.800s
27.112s 15.334s 10.009s
21.499s 11.857s 8.459s
22.306s 13.706s 9.711s
Table 4.1: Time comparison of five 50 digit numbers on different cores machines
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
161
Figure 4.1: Graphical representation of 50 Digit numbers - Time Vs Cores
Testing of 100 digit numbers with different machine of variable cores, Table 4.2 captures the time
taken to find factor along with graph in fig 4.2
Single Core Dual Core Quad Core
53.521s 28.343s 23.525s
48.313s 25.901s 22.703s
50.149s 26.824s 22.189s
58.799s 31.306s 25.408s
59.235s 31.234s 25.630s
Table 4.2: Time comparison of five 100 digit numbers on different cores machines
Figure 4.2: Graphical representation of 100 Digit numbers - Time Vs Cores
Further, the input number capacity is increased to 200 digits and the time required to find factor
as per the our implementation is captured in table 4.3 with graphical representation in fig 4.3.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
162
Single Core Dual Core Quad Core
137.006s 71.104s 52.327
136.315s 78.461s 64.412s
268.141s 139.403s 113.504
146.039s 93.481s 77.475
117.872s 74.880 63.116s
Table 4.3: Time comparison of five 200 digit numbers on different cores machines
Figure 4.3: Graphical representation of five200 Digit numbers - Time Vs Cores
To conclude this section of the paper we present an average time required by each machine to
find factors when the number of digits is scaled. This is graphically captured in the fig 4.4.
Figure 4.4: Graphical representation of Average Time Vs N-Digits Vs Cores
0
50
100
150
200
Single Core Dual Core Quad Core
Average time for N Digits Vs Cores
50digits
100digits
200digits
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
163
5. CONCLUSIONS
This paper presents one of the novel methods of parallelizing Pollard's Rho integer factorization
and presents a coarse-grained parallelization in handling factorization computation and is based
on the assumption and facts stated byBrent. This method of looking at parallel algorithm in
general and Pollard's Rho algorithm in specific would givespeedup of approximately three times
when the number ofcores are increased two folds. Every legacy algorithm has
unique way to parallelize and make them suit in the parallelenvironment.The art of parallelizing is
not concrete and is dependent on the computing environment. Due to this aspect the comparison
with other legacy algorithm in parallel version may mislead the results and the change the
direction ofresearch.Therefore there is immediate need to modify legacy algorithms to suit
advanced computer architectures.
ACKNOWLEDGEMENTS
Prof. Anjan K would like to thanks Late Dr. V.K Ananthashayana, Erstwhile Head, Department
of Computer Science and Engineering, M.S.Ramaiah Institute of Technology, Bangalore, for
igniting the passion for research. Authors would also like to thank Late. Prof. Harish G, Assistant
Professor, Dept. of Computer Science and Engineering, R V College of Engineering for his
consistent effort and contribution to this paper and is dedicated in remembrance of his consistent
mentoring of this project.
REFERENCES
[1] R. P. Brent. Some parallel algorithms for integer factorisation. In European Conference on Parallel
Processing (Euro-Par), pages 1-22, 1999.
[2] M. Chinnici, S. Cuomo, M. Laporta, A. Pizzirani, and S. Migliori. CUDA based implementation of
parallelized pollard's rho algorithm for ECDLP. Part of the Finalworkshop of grid projects, PON
RICERCA 2000-2006, AVVISO 1575", 2006.
[3] R. E. Crandall. Parallelization of pollard-rho factorization. 1999.
[4] A. K. Lenstra, H. W. Lenstra Jr., M. S. Manasse, and J. M. Pollard. The number field sieve. In
Symposium on the Theory of Computing (STOC), pages 564 - 572, 1990.
[5] E. H. Mckinney. Classroom notes: Generalized birthday problem. 73(4):385-387, Apr. 1966.
[6] J. M. Pollard. A monte carlo method for factorization. BIT Numerical Mathematics, 15:331-334,
1975.
[7] R. L. Rivest, A. Shamir, and L. M. Adleman. A method for obtaining digital signatures and public-
key cryptosystems (reprint). Communications of the ACM (CACM), 26(1):96-99, 1983.
[8] Anjan K Koundinya, Harish G, Srinath NK et.al, Parallelization of Pollard’s Rho algorithm, In
proceeding of CCSEIT 2012 published in ACM-ICPS, pp. 43 -47, Oct 2012.
[9] Markus Blaser, Chandan Saha, Lecture Notes on Computational Number theory and Algebra,Jun
2012.
International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013
164
AUTHORS PROFILE
Anjan K Koundinya has received his B.E degree from Visveswariah Technological
University, Belgaum, India in 2007 And his master degree from Department of
Computer Science and Engineering, M.S. Ramaiah Institute of Technology, Bangalore,
India. He has been awarded Best Performer PG 2010 and rank holder for his academic
excellence. His areas of research includes Network Security and Cryptology, Adhoc
Networks, Mobile Computing, Agile Software Engineering and Advanced Computing
Infrastructure. He is currently working as Assistant Professor in Dept. of Computer
Science and Engineering, R V College of Engineering.
Srinath N K has his M.E degree in Systems Engineering and Operations Research from
Roorkee University, in 1986 and PhD degree from Avinash Lingum University, India in
2009. His areas of research interests include Operations Research, Parallel and
Distributed Computing, DBMS, Microprocessor. His is working as Professor and Head,
Dept of Computer Science and Engineering, R V College of Engineering.

More Related Content

What's hot

Algorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to AlgorithmsAlgorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to AlgorithmsMohamed Loey
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to AlgorithmsVenkatesh Iyer
 
Data Structure: Algorithm and analysis
Data Structure: Algorithm and analysisData Structure: Algorithm and analysis
Data Structure: Algorithm and analysisDr. Rajdeep Chatterjee
 
Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm AnalyzingHaluan Irsad
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.Tariq Khan
 
Data Structures and Algorithm Analysis
Data Structures  and  Algorithm AnalysisData Structures  and  Algorithm Analysis
Data Structures and Algorithm AnalysisMary Margarat
 
Cupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithmCupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithmTarikuDabala1
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithmsGanesh Solanke
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IMohamed Loey
 
DATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTESDATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTESAniruddha Paul
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Deepak John
 
Algorithms Lecture 3: Analysis of Algorithms II
Algorithms Lecture 3: Analysis of Algorithms IIAlgorithms Lecture 3: Analysis of Algorithms II
Algorithms Lecture 3: Analysis of Algorithms IIMohamed Loey
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesDesign & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesFellowBuddy.com
 

What's hot (20)

Design & Analysis Of Algorithm
Design & Analysis Of AlgorithmDesign & Analysis Of Algorithm
Design & Analysis Of Algorithm
 
Algorithms Question bank
Algorithms Question bankAlgorithms Question bank
Algorithms Question bank
 
Algorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to AlgorithmsAlgorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to Algorithms
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to Algorithms
 
Data Structure: Algorithm and analysis
Data Structure: Algorithm and analysisData Structure: Algorithm and analysis
Data Structure: Algorithm and analysis
 
COMPUTER LABORATORY-4 LAB MANUAL BE COMPUTER ENGINEERING
COMPUTER LABORATORY-4 LAB MANUAL BE COMPUTER ENGINEERINGCOMPUTER LABORATORY-4 LAB MANUAL BE COMPUTER ENGINEERING
COMPUTER LABORATORY-4 LAB MANUAL BE COMPUTER ENGINEERING
 
Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm Analyzing
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.
 
Data Structures and Algorithm Analysis
Data Structures  and  Algorithm AnalysisData Structures  and  Algorithm Analysis
Data Structures and Algorithm Analysis
 
Cupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithmCupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithm
 
Unit ii algorithm
Unit   ii algorithmUnit   ii algorithm
Unit ii algorithm
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms I
 
DATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTESDATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTES
 
Complexity analysis in Algorithms
Complexity analysis in AlgorithmsComplexity analysis in Algorithms
Complexity analysis in Algorithms
 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
Algorithms Lecture 3: Analysis of Algorithms II
Algorithms Lecture 3: Analysis of Algorithms IIAlgorithms Lecture 3: Analysis of Algorithms II
Algorithms Lecture 3: Analysis of Algorithms II
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture NotesDesign & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture Notes
 
Daa unit 5
Daa unit 5Daa unit 5
Daa unit 5
 
Time andspacecomplexity
Time andspacecomplexityTime andspacecomplexity
Time andspacecomplexity
 

Viewers also liked (9)

Beke
BekeBeke
Beke
 
5th Challengers' wall unveiling
5th Challengers' wall unveiling5th Challengers' wall unveiling
5th Challengers' wall unveiling
 
Revista 3 culturas Croacia
Revista 3 culturas Croacia Revista 3 culturas Croacia
Revista 3 culturas Croacia
 
Podrška učenicima - Saznali na seminaru , primenili u praksi
Podrška učenicima - Saznali na seminaru , primenili u praksiPodrška učenicima - Saznali na seminaru , primenili u praksi
Podrška učenicima - Saznali na seminaru , primenili u praksi
 
Schufa Kredit-Kompass 2013
Schufa Kredit-Kompass 2013Schufa Kredit-Kompass 2013
Schufa Kredit-Kompass 2013
 
Labo.2.2
Labo.2.2Labo.2.2
Labo.2.2
 
Mortality Meet Presentation by Dr. Saumya Agarwal
Mortality Meet Presentation by Dr. Saumya Agarwal Mortality Meet Presentation by Dr. Saumya Agarwal
Mortality Meet Presentation by Dr. Saumya Agarwal
 
Announcements - March 8, 2016
Announcements - March 8, 2016Announcements - March 8, 2016
Announcements - March 8, 2016
 
Spiders 4
Spiders  4Spiders  4
Spiders 4
 

Similar to PERFORMANCE ANALYSIS OF PARALLEL POLLARD’S RHO FACTORING ALGORITHM

Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...RSIS International
 
Rule Evaluation on a Motorola SIMD
Rule Evaluation on a Motorola SIMDRule Evaluation on a Motorola SIMD
Rule Evaluation on a Motorola SIMDMeltin Bell
 
Design and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding AlgorithmDesign and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding Algorithmcsandit
 
cis97007
cis97007cis97007
cis97007perfj
 
Backtracking based integer factorisation, primality testing and square root c...
Backtracking based integer factorisation, primality testing and square root c...Backtracking based integer factorisation, primality testing and square root c...
Backtracking based integer factorisation, primality testing and square root c...csandit
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdfMemMem25
 
Cryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using VerilogCryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using Verilogijcncs
 
Fpga applications using hdl
Fpga applications using hdlFpga applications using hdl
Fpga applications using hdlSankarshan D
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
A peek on numerical programming in perl and python e christopher dyken 2005
A peek on numerical programming in perl and python  e christopher dyken  2005A peek on numerical programming in perl and python  e christopher dyken  2005
A peek on numerical programming in perl and python e christopher dyken 2005Jules Krdenas
 
IRJET- A Study on Algorithms for FFT Computations
IRJET- A Study on Algorithms for FFT ComputationsIRJET- A Study on Algorithms for FFT Computations
IRJET- A Study on Algorithms for FFT ComputationsIRJET Journal
 
PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...
PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...
PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...IJNSA Journal
 
LINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYING
LINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYINGLINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYING
LINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYINGAIRCC Publishing Corporation
 
Linear Feedback Shift Register Genetically Adjusted for Sequence Copying
Linear Feedback Shift Register Genetically Adjusted for Sequence CopyingLinear Feedback Shift Register Genetically Adjusted for Sequence Copying
Linear Feedback Shift Register Genetically Adjusted for Sequence CopyingAIRCC Publishing Corporation
 

Similar to PERFORMANCE ANALYSIS OF PARALLEL POLLARD’S RHO FACTORING ALGORITHM (20)

Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
Hardware Implementations of RS Decoding Algorithm for Multi-Gb/s Communicatio...
 
A1802040111
A1802040111A1802040111
A1802040111
 
Hd3512461252
Hd3512461252Hd3512461252
Hd3512461252
 
Rule Evaluation on a Motorola SIMD
Rule Evaluation on a Motorola SIMDRule Evaluation on a Motorola SIMD
Rule Evaluation on a Motorola SIMD
 
Design and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding AlgorithmDesign and Implementation of Variable Radius Sphere Decoding Algorithm
Design and Implementation of Variable Radius Sphere Decoding Algorithm
 
cis97007
cis97007cis97007
cis97007
 
Backtracking based integer factorisation, primality testing and square root c...
Backtracking based integer factorisation, primality testing and square root c...Backtracking based integer factorisation, primality testing and square root c...
Backtracking based integer factorisation, primality testing and square root c...
 
Ijetr042170
Ijetr042170Ijetr042170
Ijetr042170
 
I43024751
I43024751I43024751
I43024751
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdf
 
Cryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using VerilogCryptosystem An Implementation of RSA Using Verilog
Cryptosystem An Implementation of RSA Using Verilog
 
Fpga applications using hdl
Fpga applications using hdlFpga applications using hdl
Fpga applications using hdl
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
A peek on numerical programming in perl and python e christopher dyken 2005
A peek on numerical programming in perl and python  e christopher dyken  2005A peek on numerical programming in perl and python  e christopher dyken  2005
A peek on numerical programming in perl and python e christopher dyken 2005
 
Project Report
Project ReportProject Report
Project Report
 
IRJET- A Study on Algorithms for FFT Computations
IRJET- A Study on Algorithms for FFT ComputationsIRJET- A Study on Algorithms for FFT Computations
IRJET- A Study on Algorithms for FFT Computations
 
PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...
PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...
PERFORMANCE EVALUATION OF PARALLEL INTERNATIONAL DATA ENCRYPTION ALGORITHM ON...
 
LINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYING
LINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYINGLINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYING
LINEAR FEEDBACK SHIFT REGISTER GENETICALLY ADJUSTED FOR SEQUENCE COPYING
 
Linear Feedback Shift Register Genetically Adjusted for Sequence Copying
Linear Feedback Shift Register Genetically Adjusted for Sequence CopyingLinear Feedback Shift Register Genetically Adjusted for Sequence Copying
Linear Feedback Shift Register Genetically Adjusted for Sequence Copying
 
DATA STRUCTURE.pdf
DATA STRUCTURE.pdfDATA STRUCTURE.pdf
DATA STRUCTURE.pdf
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

PERFORMANCE ANALYSIS OF PARALLEL POLLARD’S RHO FACTORING ALGORITHM

  • 1. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 DOI : 10.5121/ijcsit.2013.5214 157 PERFORMANCE ANALYSIS OF PARALLEL POLLARD’S RHO FACTORING ALGORITHM Anjan K Koundinya1 , Harish G1 ,Srinath N K1 , Raghavendra G E1 , Pramod Y V1 , Sandeep R1 and Punith Kumar G1 1 Department of Computer Science and Engineering, R V College of Engineering, Bangalore, India annjank2@gmail.com ABSTRACT Integer factorization is one of the vital algorithms discussed as a part of analysis of any black-box cipher suites where the cipher algorithm is based on number theory. The origin of the problem is from Discrete Logarithmic Problem which appears under the analysis of the cryptographic algorithms as seen by a cryptanalyst. The integer factorization algorithm poses a potential in computational science too, obtaining the factors of a very large number is challenging with a limited computing infrastructure. This paper analyses the Pollard’s Rho heuristic with a varying input size to evaluate the performance under a multi- core environment and also to estimate the threshold for each computing infrastructure. KEYWORDS Pollard’s Rho, Brent’s Implementation, Monte-Carlo Algorithm, Integer Factorization,Discrete Log Problem. 1. INTRODUCTION Cryptanalysis is vital study under cryptology that gives insight on strength of cryptographic algorithm; the base for such algorithm stands on the distinguishable properties like key size, number of rounds, chosen number and many more. Most of the encryption algorithm is based on Number theory aspects and strength of such algorithm purely depends on the size of the number. For instance, standard RSA algorithm implementation employs prime numbers which of 309 digits. Such algorithm gives a broad avenue for cryptanalysis study to be performed. On the other hand from computation perspective, there is growing demand on the porting the legacy algorithm to state-of-the-art computation. This is to effectively use the optimal strength of the underlying computer architecture or computing infrastructure. A normal tendency of any algorithm is that they are either computation driven or data driven, for instance, a computation drive algorithm can be calculating a square root of number which is around 25 digits in size and data driven algorithm can be simple sorting algorithm sorting around 50,000 numbers. The former has to be addressed with multi-core architecture and latter has to be addressed by cluster computing methods. Pollard’s Rho Algorithm [6] is one such algorithm which would require computation driven solution that is well addressed under a multi-core architecture. As the number of digits in number
  • 2. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 158 increases the more number of cores are required to factorize the number. The most important application of this is with Discrete Logarithmic Problem (DLP). In DLP, given two large prime numbers p and g, public keyy is calculated as follows – Wherex is kept private. To calculate the x - If a traditional technique such as the brute force is applied to find the value of x it would depend on the length of the prime factor. Hence a heuristic approach like the Pollard’s Rho is applied to obtain the prime factors of x. Earlier to the techniques of finding factor for a given number, the prominently employed algorithm was the Sieve of Erathosthenes [4]. Although the algorithm used an efficient data structure for performing the division by modulo N, it had serious flaws while operating with large numbers between 50 – 100 digits as memory key constraints for it. The algorithm is described below- Algorithm: Sieve of Eratosthenes Input: An integer n Output:Returns an array of all prime numbers <= n 1. a[1]  0 2. for i  2 to n do 3. a[i] := 1 4. p  2 5. while p2< n do 6. j  p2 7. while (j < n) do 8. a[j]  0 9. j  j+p 10. repeat p  p+1 until a[p] = 1 11. return(a) The paper is organised in discuss more flavour of Pollard’s Rho with respect to the required hardware implementation. The section -2 discusses in depth of the description of Pollard’s Rho algorithm. The section -3 of the paper discusses about the design and implementation of the algorithm in multi-core environment. The section -4 discuss about the variety of results with the implementation. 2. POLLARD’S RHO ALGORITHM Pollard's Rho algorithm [6,8] is a heuristic, i.e., the runningtime of this algorithm cannot berigorously analysed. It is saidto work very quickly when the number to be factorized hassmall factors, i.e., typically of the size of 10-12 digits. It isalso very parallelizable [3]. This is, hence, our choice ofalgorithm for implementation.Algorithms such as trial division and sieve of Eratosthenestake a lot of time because they use the brute-force approachand are only suitable for finding factors of size 3-5 digits.The other integer factorization algorithms such as the General number field sieve and its open-source implementations (MSIEVE), compute factors of any size.
  • 3. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 159 But thesealgorithms are preferred when it is known that the numberto be factorized has large integers. This is because these algorithms take the same amount of time to find either largeor small factors [1]. Description of Pollard’s Rho Algorithm: Algorithm: Pollard's Rho Input: An integer n to be factorized, and a pseudo-randomfunction f modulo n Output: Factors of n 1. i 1 2. x1 f(0, n-1) while true 3. do i  i + 1 4. xi f(0, n - 1) 5. d gcd( | xi+1- xi |, n) 6. if d = 1 or d = n Output d The greatest common divisor (GCD) in Line 5 of the Algorithm Pollard's Rho gives the greatest common divisor oftwo integers which have been passed as parameters. According to the birthday paradox [5], two numbers x and y(and hence |x-y|) are congruent modulo p with probability 0.5 after numbers have been randomly chosen. Ifp is a factor of n, then . Whenthe sequence of xi start repeating after some iterations, thisis detected using the Floyd's cycle detection algorithm andPollard's Rho algorithm stops computation.This algorithm may or may not produce a factor of n. Thatis, either a correct factor or no factor is produced. This is why this algorithm falls under the class of Monte- Carlomethods. The Floyd’s detection algorithm [9] is terminating condition for the Pollard’s Rho Algorithm, The description of the algorithm is given below- Algorithm: Floyd’s Cycle Detection Input: A number Output: An index i such that where 1. i1 and y0x0 2. Repeat 3. and 4. if xi =yi then output i and stop 5. else i i+1 3. DESIGN AND IMPLEMENTATION The pseudo-random number function used in Algorithm Pollard's Rho is of the form where ‘c’ is some integer otherthan -2 or 0. Changing the c values in this function changesthe numbers of iterations that the algorithm has to performto produce a factor. For some c values, a factor may neverbe produced. The parallelization scheme performed is as follows.
  • 4. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 160 1. Different ‘c’ values are used to create different random number functions. 2. The number n that is to be factorized and a random functionis given to each CPU core available on the machine wherethis program is being run. 3. All the cores try to compute afactor, but because of the different c values, each core takesdifferent amounts of time to compute a factor. 4. If one of the cores compute a factor, the computation on all theremaining cores are stopped. 5. The number n is divided bythe computed factor to create another number n0. In realistic application, input to the algorithm would deal with large integer number; for instance the size of integer number used is around 312 digits in RSA Algorithm[7]. This is beyond the storage capacity of any built-in datatypes of any programming language. Since the parallel implementation takes OpenMP as the programming paradigm, it essential to find proper format /data structure to store such numbers. Hence GMP, an OpenSource version of GNU is employed to handle such large numbers. Now the size of the number may be restricted to available resources of the computing device. This number is given to all the cores with the old c values and thecores try to compute yet another factor of n. This processcontinues until all the prime factors of the given number are obtained. However, implementations of Pollard's algorithm on CUDA also exist [2],but such implementation are dependent on the computingenvironment and cannot be distributed in cluster/grid environments. 4. RESULTS The parallel version of Pollard's algorithm was run on one of the cores of a dual coremachine, both cores of a dual core and four cores of quad core machine. The time takento produce all factors in each case was measured(Table 4.1). The code was also run usingonly a single core, using 2 cores and then using all 4 cores of a single quad core machinemeasured the times taken to produce all factors in each case (Tables 4.2, 4.3 and 6.6).5, 50 digit numbers, 5, 100 digit numbers and 5, 200 digit numbers. To start with the five numbers of 50 digits are tested on the machines and the time required to compute the factors is captured in the table 4.1 – Single Core Dual Core Quad Core 18.221s 11.162s 8.266s 24.605s 13.234s 9.800s 27.112s 15.334s 10.009s 21.499s 11.857s 8.459s 22.306s 13.706s 9.711s Table 4.1: Time comparison of five 50 digit numbers on different cores machines
  • 5. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 161 Figure 4.1: Graphical representation of 50 Digit numbers - Time Vs Cores Testing of 100 digit numbers with different machine of variable cores, Table 4.2 captures the time taken to find factor along with graph in fig 4.2 Single Core Dual Core Quad Core 53.521s 28.343s 23.525s 48.313s 25.901s 22.703s 50.149s 26.824s 22.189s 58.799s 31.306s 25.408s 59.235s 31.234s 25.630s Table 4.2: Time comparison of five 100 digit numbers on different cores machines Figure 4.2: Graphical representation of 100 Digit numbers - Time Vs Cores Further, the input number capacity is increased to 200 digits and the time required to find factor as per the our implementation is captured in table 4.3 with graphical representation in fig 4.3.
  • 6. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 162 Single Core Dual Core Quad Core 137.006s 71.104s 52.327 136.315s 78.461s 64.412s 268.141s 139.403s 113.504 146.039s 93.481s 77.475 117.872s 74.880 63.116s Table 4.3: Time comparison of five 200 digit numbers on different cores machines Figure 4.3: Graphical representation of five200 Digit numbers - Time Vs Cores To conclude this section of the paper we present an average time required by each machine to find factors when the number of digits is scaled. This is graphically captured in the fig 4.4. Figure 4.4: Graphical representation of Average Time Vs N-Digits Vs Cores 0 50 100 150 200 Single Core Dual Core Quad Core Average time for N Digits Vs Cores 50digits 100digits 200digits
  • 7. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 163 5. CONCLUSIONS This paper presents one of the novel methods of parallelizing Pollard's Rho integer factorization and presents a coarse-grained parallelization in handling factorization computation and is based on the assumption and facts stated byBrent. This method of looking at parallel algorithm in general and Pollard's Rho algorithm in specific would givespeedup of approximately three times when the number ofcores are increased two folds. Every legacy algorithm has unique way to parallelize and make them suit in the parallelenvironment.The art of parallelizing is not concrete and is dependent on the computing environment. Due to this aspect the comparison with other legacy algorithm in parallel version may mislead the results and the change the direction ofresearch.Therefore there is immediate need to modify legacy algorithms to suit advanced computer architectures. ACKNOWLEDGEMENTS Prof. Anjan K would like to thanks Late Dr. V.K Ananthashayana, Erstwhile Head, Department of Computer Science and Engineering, M.S.Ramaiah Institute of Technology, Bangalore, for igniting the passion for research. Authors would also like to thank Late. Prof. Harish G, Assistant Professor, Dept. of Computer Science and Engineering, R V College of Engineering for his consistent effort and contribution to this paper and is dedicated in remembrance of his consistent mentoring of this project. REFERENCES [1] R. P. Brent. Some parallel algorithms for integer factorisation. In European Conference on Parallel Processing (Euro-Par), pages 1-22, 1999. [2] M. Chinnici, S. Cuomo, M. Laporta, A. Pizzirani, and S. Migliori. CUDA based implementation of parallelized pollard's rho algorithm for ECDLP. Part of the Finalworkshop of grid projects, PON RICERCA 2000-2006, AVVISO 1575", 2006. [3] R. E. Crandall. Parallelization of pollard-rho factorization. 1999. [4] A. K. Lenstra, H. W. Lenstra Jr., M. S. Manasse, and J. M. Pollard. The number field sieve. In Symposium on the Theory of Computing (STOC), pages 564 - 572, 1990. [5] E. H. Mckinney. Classroom notes: Generalized birthday problem. 73(4):385-387, Apr. 1966. [6] J. M. Pollard. A monte carlo method for factorization. BIT Numerical Mathematics, 15:331-334, 1975. [7] R. L. Rivest, A. Shamir, and L. M. Adleman. A method for obtaining digital signatures and public- key cryptosystems (reprint). Communications of the ACM (CACM), 26(1):96-99, 1983. [8] Anjan K Koundinya, Harish G, Srinath NK et.al, Parallelization of Pollard’s Rho algorithm, In proceeding of CCSEIT 2012 published in ACM-ICPS, pp. 43 -47, Oct 2012. [9] Markus Blaser, Chandan Saha, Lecture Notes on Computational Number theory and Algebra,Jun 2012.
  • 8. International Journal of Computer Science & Information Technology (IJCSIT) Vol 5, No 2, April 2013 164 AUTHORS PROFILE Anjan K Koundinya has received his B.E degree from Visveswariah Technological University, Belgaum, India in 2007 And his master degree from Department of Computer Science and Engineering, M.S. Ramaiah Institute of Technology, Bangalore, India. He has been awarded Best Performer PG 2010 and rank holder for his academic excellence. His areas of research includes Network Security and Cryptology, Adhoc Networks, Mobile Computing, Agile Software Engineering and Advanced Computing Infrastructure. He is currently working as Assistant Professor in Dept. of Computer Science and Engineering, R V College of Engineering. Srinath N K has his M.E degree in Systems Engineering and Operations Research from Roorkee University, in 1986 and PhD degree from Avinash Lingum University, India in 2009. His areas of research interests include Operations Research, Parallel and Distributed Computing, DBMS, Microprocessor. His is working as Professor and Head, Dept of Computer Science and Engineering, R V College of Engineering.