Skip to content
Snippets Groups Projects
Commit 3d9220cd authored by Philipp Hörist's avatar Philipp Hörist
Browse files

refactor: Simplify random integer generation

parent d42123bb
No related branches found
No related tags found
No related merge requests found
......@@ -121,6 +121,7 @@ ignore = [
"RUF001", # AmbiguousUnicodeCharacterString
"S101", # Use of `assert` detected
"S110", # `try`-`except`-`pass` detected, consider logging the exception
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes
"SIM108", # Use ternary operator
"SIM110", # Use any()` instead of `for` loop
"SIM118", # Don’t use .keys()
......
......@@ -71,11 +71,11 @@ class OMEMOSessionManager(Observable):
def _generate_keys(self) -> int:
identity_key_pair = KeyHelper.generate_identity_key_pair()
our_device_id = KeyHelper.get_random_sequence(2147483647)
our_device_id = KeyHelper.get_random_int()
self._storage.set_our_identity(our_device_id, identity_key_pair)
signed_pre_key = KeyHelper.generate_signed_pre_key(
identity_key_pair, KeyHelper.get_random_sequence(65536)
identity_key_pair, KeyHelper.get_random_int()
)
self._storage.store_signed_pre_key(signed_pre_key.get_id(), signed_pre_key)
......
from __future__ import annotations
import binascii
import math
import os
import random
import time
from ..ecc.curve import Curve
......@@ -27,20 +25,8 @@ class KeyHelper:
return identity_key_pair
@staticmethod
def generate_device_id() -> int:
"""
Generate a registration ID. Clients should only do this once,
at install time.
"""
regId = KeyHelper.get_random_sequence()
return regId
@staticmethod
def get_random_sequence(max: int = 4294967296) -> int:
size = int(math.log(max) / math.log(2)) / 8
rand = os.urandom(int(size))
randh = binascii.hexlify(rand)
return int(randh, 16)
def get_random_int() -> int:
return random.randint(1, 2**31 - 1)
@staticmethod
def generate_pre_keys(start: int, count: int) -> list[PreKeyRecord]:
......
......@@ -14,7 +14,7 @@ class InMemoryIdentityKeyStore:
IdentityKey(identity_key_pair_keys.get_public_key()),
identity_key_pair_keys.get_private_key(),
)
self.our_device_id = KeyHelper.generate_device_id()
self.our_device_id = KeyHelper.get_random_int()
def get_identity_key_pair(self) -> IdentityKeyPair:
return self.identity_key_pair
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment