INNER CODE UNIT · Python
gen_sig_table
open-quantum-safe/oqs-provider · oqs-template/generate_oid_nid_table.py:13
def gen_sig_table(oqslibdocdir):
liboqs_sig_docs_dir = os.path.join(oqslibdocdir, 'algorithms', 'sig')
liboqs_sigs = {}
for root, _, files in os.walk(liboqs_sig_docs_dir):
for fil in files:
if fil.endswith(".yml"):
with open(os.path.join(root, fil), mode='r', encoding='utf-8') as f:
algyml = yaml.safe_load(f.read())
liboqs_sigs[algyml['name']]=algyml
table = [['Algorithm', 'Implementation Version',
'NIST round', 'Claimed NIST Level', 'Code Point', 'OID']]
claimed_nist_level = 0
for sig in sorted(config['sigs'], key=lambda s: s['family']):
for variant in sig['variants']:
if variant['security'] == 128:
claimed_nist_level = 1
elif variant['security'] == 192: