master
E. Almqvist 3 years ago
parent 683cb13779
commit 61f0f65ea9
  1. 20
      ma5/rsa/brute.rb
  2. 3
      ma5/rsa/rsa.rb

@ -1,10 +1,12 @@
#!/usr/bin/ruby #!/usr/bin/ruby
require_relative "rsa.rb"
Primes = File.read("primes.txt").split(",") Primes = File.read("primes.txt").split(",")
# BigPrimes = File.readlines("bigprimes.txt") # BigPrimes = File.readlines("bigprimes.txt")
print "Modbase target: " #print "Modbase target: "
target = gets.chomp.to_i #target = gets.chomp.to_i
def bruteforce(target) def bruteforce(target)
Primes.each do |p| Primes.each do |p|
@ -19,6 +21,14 @@ def bruteforce(target)
end end
end end
p1, p2 = bruteforce(target) def gen_key(p1, p2, e)
puts "Found primes:" puts "Generating key pair..."
puts p1, p2 n = p1 * p2
phi = (p1-1)*(p2-1)
d = RSA.modinv(e, phi)
return e, n, d
end
#p1, p2 = bruteforce(target)
#puts "Found primes:"
#puts p1, p2

@ -18,6 +18,7 @@ module RSA
end end
class Key class Key
attr_accessor :e, :d, :n
def initialize(p1, p2) def initialize(p1, p2)
puts "Generating key pair..." puts "Generating key pair..."
@n = p1 * p2 @n = p1 * p2
@ -36,7 +37,7 @@ module RSA
end end
def inspect def inspect
"n=#{@n}" "n=#{@n} e=#{@e} d=#{@d}"
end end
def pubkey def pubkey

Loading…
Cancel
Save