Signed-off-by: Luong Duc Anh <[email protected]>
This commit is contained in:
lda committed 2026-01-31 06:02:54 +07:00
1 parent d44611f39b
commit 305c6fea94
2 files changed
+10 -15

No files matched your search

+3 -3
View File
@@ -1,3 +1,6 @@
from proto_rsa import LdaRsahh
def e1():
s = "flow"
@@ -14,9 +17,6 @@ def e2():
return dec_ascii(i)
from proto_rsa import LdaRsahh
def e3():
a = LdaRsahh(p=251, q=191, e=65537).enc(26729)
+7 -12
View File
@@ -1,11 +1,10 @@
def inv(a, n):
return pow(a, -1, n)
import math
from functools import cached_property
from typing import Callable
import warnings
def inv(a, n):
return pow(a, -1, n)
class LdaRsahh:
@@ -18,18 +17,14 @@ class LdaRsahh:
ln_ops: Callable[[int, int], int] | None = None,
):
# operator.mul or math.lcm
self._lnops = ln_ops or math.lcm
self._lnops: Callable[[int, int], int] = ln_ops or math.lcm
self._p, self._q = p, q
if d is None and e is None:
raise ValueError("at least d or e needs to be math.gcd(e, phi)fed in")
raise ValueError("at least d or e needs to be fed in")
ln = self.ln
if e is None:
e = inv(d, ln)
if not 1 < e < ln:
warnings.warn(
f"{e = }, {ln = }, 1 < e < ln not satisfied, e rebinds to e % ln",
UserWarning,
)
elif not 1 < e < ln:
e %= ln
if not 1 < e < ln:
raise ValueError(f"{e = }, {ln = }, 1 < e < ln not satisfied")