N порядка 2^256!!!
#формула :
# dd = ((x / a) * b1) / c) * d1
Как сделать что бы из любого x диапазона 2^119-2^120, получиь dd размером не больше 2^60 - 2^70 ??? Тех кто поможет я символически отблагодарю.
#формула :
# dd = ((x / a) * b1) / c) * d1
from random import randint
import random
N = 115792089237316195423570985008687907852837564279074904382605163141518161494337
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return ( (a * inv(b) ) % N )
#x= random.randint(2**119,2**120)
x = 0xb05ef9299a4d346351f33dd336395d
print("x",hex(x))
a = 0x961#
aa = divnum(x,a)
print("aa",hex(aa))
#aa = 0x337fa0776aba96c38b918a1367be52191ed660152236566e06f66da4d43fb700
b1 = 49 #35
bb = aa * b1 % N
# bb = 0xdb6db6db6db6db6db6db6db6db6db6da56e29fef62d8e8f596c5a9994e49bbb7
print("bb", hex(bb))
c1 = 35
c = divnum(1, c1)
# c = 0xea0ea0ea0ea0ea0ea0ea0ea0ea0ea0e8e532290d6d0f3369d3f389a550a6a21
print("c",hex(c))
d1 = 1
dd = (divnum(bb,c) * d1)%N
#dd =0x7dfab1f9251293225f1b754db90467
print("dd",hex(dd))
print(hex(x-dd))