Skip to content

Commit

Permalink
Add solution to tasks on RSA
Browse files Browse the repository at this point in the history
  • Loading branch information
ehoneahobed committed Sep 17, 2022
0 parents commit 8a35bee
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Solution to RSA-Factoring-Challenge
27 changes: 27 additions & 0 deletions factors
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/python3
import sys


def factorize(num):
""" Generate 2 factors for a given number"""
factor1 = 2
while (num % factor1):
if (factor1 <= num):
factor1 += 1

factor2 = num // factor1
return (factor2, factor1)


if len(sys.argv) != 2:
sys.exit(f"Wrong usage: {sys.argv[0]} <file_path>")

filename = sys.argv[1]

file = open(filename, 'r')
lines = file.readlines()

for line in lines:
num = int(line.rstrip())
factor2, factor1 = factorize(num)
print(f"{num} = {factor2} * {factor1}")
23 changes: 23 additions & 0 deletions factors.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include <stdio.h>

int main()
{
long long int num = 239809320265259;
long int factor1 = 2;
long int factor2;

while (num % factor1)
{
if (factor1 <= num)
{
factor1++;
}
else {
return (-1);
}
}

factor2 = num / factor1;
printf("%lld = %ld * %ld\n", num, factor2, factor1);
return (0);
}
27 changes: 27 additions & 0 deletions rsa
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/python3
import sys


def factorize(num):
""" Generate 2 factors for a given number"""
factor1 = 2
while (num % factor1):
if (factor1 <= num):
factor1 += 1

factor2 = num // factor1
return (factor2, factor1)


if len(sys.argv) != 2:
sys.exit(f"Wrong usage: {sys.argv[0]} <file_path>")

filename = sys.argv[1]

file = open(filename, 'r')
lines = file.readlines()

for line in lines:
num = int(line.rstrip())
factor2, factor1 = factorize(num)
print(f"{num} = {factor2} * {factor1}")
3 changes: 3 additions & 0 deletions test1
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
45
852
6531
3 changes: 3 additions & 0 deletions tests/test00
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
239809320265259
239821585064027
2497885147362973
27 changes: 27 additions & 0 deletions wfactors.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/python3
import sys


def factorize(num):
""" Generate 2 factors for a given number"""
factor1 = 2
while (num % factor1):
if (factor1 <= num):
factor1 += 1

factor2 = num // factor1
return (factor2, factor1)


if len(sys.argv) != 2:
sys.exit(f"Wrong usage: {sys.argv[0]} <file_path>")

filename = sys.argv[1]

file = open(filename, 'r')
lines = file.readlines()

for line in lines:
num = int(line.rstrip())
factor2, factor1 = factorize(num)
print(f"{num} = {factor2} * {factor1}")

0 comments on commit 8a35bee

Please sign in to comment.