# @file wots_len.py (2023-03-16T14:29Z)
# @author David Ireland <www.di-mgt.com.au/contact>
# @copyright 2023 DI Management Services Pty Ltd
# @license Apache-2.0

"""Compute len_1 and len_2 given n and w."""

import math

n = 16  # Security parameter in bytes
w = 16  # Winternitz parameter
len1 = math.ceil(8 * n / math.log2(w))
print("len1 =", len1)  # 32
len2 = math.floor(math.log2(len1 * (w - 1)) / math.log2(w)) + 1
print("len2 =", len2)  # 3

n = 32  # Security parameter in bytes
w = 16  # Winternitz parameter
len1 = math.ceil(8 * n / math.log2(w))
print("len1 =", len1)
len2 = math.floor(math.log2(len1 * (w - 1)) / math.log2(w)) + 1
print("len2 =", len2)