Feature #7783

Add support for sqrt of very large numbers

Added by Santiago Pastorino about 1 year ago. Updated about 1 year ago.

[ruby-core:51849]
Status:Closed
Priority:Normal
Assignee:-
Category:-
Target version:-

Description

Currently ...

irb(main):001:0> Math.sqrt(2**6456)
=> Infinity

I wanted to do something like this to show an example of how RSA could break RSA the public modulus N is generated incorrectly.

In Python you can do it using http://code.google.com/p/gmpy/
The issue is also described here http://webcache.googleusercontent.com/search?q=cache:on5z4JS3iUcJ:stackoverflow.com/questions/8226087/how-do-i-get-math-sqrt-to-return-a-bignum-and-not-a-float+&cd=3&hl=en&ct=clnk

History

#1 Updated by Santiago Pastorino about 1 year ago

/RSA the/when/

#2 Updated by Zachary Scott about 1 year ago

=begin
Hello Mr. Pastorino!

It seems to work when I use the mathn library, which implements sqrt(3)

(({irb(main):001:0> require 'mathn' #=> true}))

(({irb(main):002:0> Math.sqrt(2**6456) #=> 53067179215503898168575338070}))
=end

#3 Updated by Santiago Pastorino about 1 year ago

Hey zzak, had no idea about that. Thanks!
So we can close this one.

#4 Updated by Martin Bosslet about 1 year ago

  • Status changed from Open to Closed

Nice find, Zachary!

I happened to talk with Santiago about this. Closing...

#5 Updated by Zachary Scott about 1 year ago

Anytime!

Also available in: Atom PDF