INNER CODE UNIT · Python

gen_kem_table

open-quantum-safe/oqs-provider · oqs-template/generate_oid_nid_table.py:72

def gen_kem_table(oqslibdocdir):
  liboqs_kem_docs_dir = os.path.join(oqslibdocdir, 'algorithms', 'kem')
  liboqs_kems = {}
  for root, _, files in os.walk(liboqs_kem_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_kems[algyml['name']]=algyml
  if 'SIKE' in liboqs_kems:
      liboqs_kems['SIDH']=liboqs_kems['SIKE']
  # TODO: Workaround for wrong upstream name for Kyber:
  liboqs_kems['CRYSTALS-Kyber']=liboqs_kems['Kyber']

  table_header = ['Family', 'Implementation Version', 'Variant', 'NIST round', 'Claimed NIST Level',
           'Code Point', 'Hybrid Elliptic Curve (if any)']
  table = []
  hybrid_elliptic_curve = ''

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…