mirror of
https://github.com/elseif/MikroTikPatch.git
synced 2025-01-23 05:25:00 +03:00
Use random.SystemRandom().randint
instead of toyecc.Random.secure_rand_int_between
This commit is contained in:
parent
4c6ab80b09
commit
391d019a42
5
mikro.py
5
mikro.py
@ -1,8 +1,7 @@
|
|||||||
|
import random
|
||||||
import struct
|
import struct
|
||||||
from sha256 import SHA256
|
from sha256 import SHA256
|
||||||
from toyecc import AffineCurvePoint, getcurvebyname, FieldElement,ECPrivateKey,ECPublicKey,Tools
|
from toyecc import AffineCurvePoint, getcurvebyname, FieldElement,ECPrivateKey,ECPublicKey,Tools
|
||||||
from toyecc.Random import secure_rand_int_between
|
|
||||||
|
|
||||||
|
|
||||||
MIKRO_BASE64_CHARACTER_TABLE = b'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
MIKRO_BASE64_CHARACTER_TABLE = b'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
||||||
@ -167,7 +166,7 @@ def mikro_kcdsa_sign(data:bytes,private_key:bytes)->bytes:
|
|||||||
private_key:ECPrivateKey = ECPrivateKey(Tools.bytestoint_le(private_key), curve)
|
private_key:ECPrivateKey = ECPrivateKey(Tools.bytestoint_le(private_key), curve)
|
||||||
public_key:ECPublicKey = private_key.pubkey
|
public_key:ECPublicKey = private_key.pubkey
|
||||||
while True:
|
while True:
|
||||||
nonce_secret = secure_rand_int_between(1, curve.n - 1)
|
nonce_secret = random.SystemRandom().randint(1, curve.n - 1)
|
||||||
nonce_point = nonce_secret * curve.G
|
nonce_point = nonce_secret * curve.G
|
||||||
nonce = int(nonce_point.x) % curve.n
|
nonce = int(nonce_point.x) % curve.n
|
||||||
nonce_hash = mikro_sha256(Tools.inttobytes_le(nonce,32))
|
nonce_hash = mikro_sha256(Tools.inttobytes_le(nonce,32))
|
||||||
|
Loading…
Reference in New Issue
Block a user