# @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)