Skip to content

Commit

Permalink
Added reference to paper branch
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexGustafsson committed Mar 14, 2018
1 parent 6aa36d1 commit b472039
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
A practical study and comparison of integer factorization methods
A Practical Study and Comparison of Integer Factorization Methods
======
A project by [Alex Gustafsson](https://github.com/AlexGustafsson) and [Marcus Lenander](https://github.com/MarcusLenander) in the course MA1453 (Cryptography 2) at BTH, Sweden.

This project evaluates the relative performance of various algorithms for integer factorization, namely Trial Division, Fermat's Factorization, Pollard's Rho Algorithm, Lenstra's Elliptic Curve Factorization Algorithm and briefly the Quadratic Sieve. The algorithms are presented and described with regards to use and implementation details. No effort was made to optimize the implemented algorithms further than what is considered logical. No algorithm leverages parallel computing techniques, dynamic programming techniques or other techniques in order to gain performance. No consideration of performance was made when the software and programming stack were chosen.

The project was hosted on a private instance of [CoCalc - Collaborative Calculation in the Cloud](https://cocalc.com). CoCalc makes it easy to collaboratively develop math-oriented code using technologies such as [SageMath](http://www.sagemath.org), [R](https://cran.r-project.org/doc/manuals/r-release/R-intro.html), [Julia](https://docs.julialang.org/en/stable/manual/introduction/) and [LaTeX](https://en.wikibooks.org/wiki/LaTeX) whilst still being completely free and open source.

The paper is available in the branch [paper](https://github.com/AlexGustafsson/practical-factorization-comparison/tree/paper).

See also: [Course Notes](https://github.com/CourseNotesBTH) for BTH courses and code and examples for [Programming Courses at BTH](https://github.com/ProgrammingCoursesBTH).

# Quickstart
Expand Down Expand Up @@ -110,7 +112,7 @@ x, y, A = random element in Zn
Q = (x, y)
if a modular inverse exists:
P = Q + Q
while P + Q can be calculated
while P + Q can be calculated
if iterations is less then maximum iterations
if modular inverse exists in kP
kP = (k-1)P + Q
Expand Down Expand Up @@ -407,4 +409,4 @@ Every time either `.start()`, `.stop()` or `.iterate()` is called, somewhere aro
# Disclaimer
<a name="disclaimer"></a>

_This repository holds code created by students. Although the code is most likely correct, it may not promote best practices, be factual or grammatically correct. The code is meant as a future reference for students reading the same or a similar course. The code is also made publically available alongside the report written on the subject._
_This repository holds code created by students. Although the code is most likely correct, it may not promote best practices, be factual or grammatically correct. The code is meant as a future reference for students reading the same or a similar course. The code is also made publically available alongside the report written on the subject._

0 comments on commit b472039

Please sign in to comment.