# @file fors_PKgen.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 the FORS public key given the roots of the k FORS trees."""

from spx_sha256 import PRF, F, T_len

def T_k(PKseed, adrs, M):
    return T_len(PKseed, adrs, M)

PKseed = 'B505D7CFAD1B497499323C8686325E47'
adrs_c= '0028daecdc86eb876104000000060000000000000000'
roots = '''
8f5a82fe31bc814bdf198d01481651c5
4ff05f5821b513a402be41ef4e76f81f
e2f903edf67cc0e42491b60197ec3c8d
1c1f5ee2668ce176e2fc1cb3dd1955ae
8cc53ce4967de7a7d0f5801a05a3bc13
5abf39ff74988744a289cb5e4d24e450
ed83fcef7222b4d3b100f34903fcaa74
ffb073610569093493f14206c1474a60
e7dc4fbf58fea214f20e3b87b3b46654
dfd37050602d777dc7a0dc21a352087b
5ee4f4ac7ca0e6328f0d801bf8e86777
e0f1ea8dc77f0ebbbee42d7d83b93a9e
a8cdcde80f66c828f46cb8fa761c33e1
f78d9dc67de3b090ed26509b858cccb2
6a6ad79572962938f6d5cf1f4a65151c
30386715cb9c891067284d92d5a00016
1c69c83738bb830b0d13a83fe923adfd
21f5e3456a77cdb52a3a327a5824d39d
a3647dbd7879bfb66d91cbfb2c3532e0
84fb9617baf3f1cc299fdca8261e6d37
95536fa2d103aab2b967734ce2db9c65
3384e2eaff07cfbc363c4721d97a1b72
36b3c6b1d428944b74fc1a7245f55f65
da20b827e39bedbab25a5510b33f45ee
df3dd78d8d124daff7c237dd49ce92ff
547a0fd02fba955174be49c1c02580b9
84760d94a97bb2bc9f4f096ff4afe7a3
40c19b8da5272aa0cb53b60310e383b6
55144f23d2b3fc7a4254b5efe1cf8cf1
c2468e12d21908f85e844df5dd26e905
d16c2adc41a67ed5e8080b846cb5fce3
8f31d9a72dbe9584461d1efe3213dc60
b77027ab7c2815483900f93fa9e8335f
'''
roots = roots.replace('\n', '')
print(f"adrs={adrs_c}")
pk = T_k(PKseed, adrs_c, roots)
print(f"pk={pk}")
print("OK=dd84d9c7667367183c4826ce1e1d0048")