Issue #6362 has been updated by MartinBosslet (Martin Bosslet).


mame (Yusuke Endoh) wrote:
> Personally I like this proposal, but it seems to require:
> 
>   - use cases (Well, personally I often use them for Project Euler :-)

It would be incredibly helpful when implementing cryptographic primitives.
Apart from mathematics in general (and Project Euler in particular!) I have 
little experience with other areas where it would be equally useful. One 
could argue this should be in a gem, but since we already have excellent 
Bignum support, I'd enjoy to see it even more excellent :)

>   - candidates of method name (pow_mod / inv_mod?)

Yes, I thought of them as well. If there would be no complaints...

>   - other kinds of modular arithmetic are not needed? (add_mod, mul_mod, sqrt_mod, ...)

Seems the right thing to do. GCD, modular shifts, etc. as well. I'll explore what 
others like GMP or OpenSSL support and start from there.

>   - a detailed spec (especially corner cases, e.g., not coprime case, negative modulo, etc.)

Based on what I find out, I'll try to design an interface plus specs. Another question is
what particular algorithms to use for implementing each aspect. I'm currently catching
up on literature, although I'd be happy about suggestions, of course!

>   - a patch

Will do once there is a consensus on the specs!

-Martin
----------------------------------------
Feature #6362: Modular exponentiation/inverse
https://bugs.ruby-lang.org/issues/6362#change-26273

Author: MartinBosslet (Martin Bosslet)
Status: Feedback
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: core
Target version: 


I'd like to ask your opinion about adding two methods for modular 
exponentiation/modular inverse to integer classes. Is this 
functionality too specific or would this be a welcome addition?


-- 
http://bugs.ruby-lang.org/