icvar (ots)

Crear funciones

Genera las funciones necesarias para crear claves, firmar y verificar, dada una lista de parámetros (bits=256, grupo=3 y t=4 en el ejemplo).

from icvar_ots import icvar_ots
crearclaves, firmar, verificar = uwots_ots (bits=256, largo=28, tipo='a')

La lista de valores (grupo, t) disponibles se puede obtener usando...

import icvar_valores
lista_grupos = icvar_valores.grupos_disponibles ()
lista_t = icvar_valores.t_disponibles ()

print (lista_grupos)
# 1, 2, 3

print (lista_t)
# 4, 7, 11

Crear claves

priv, pub = crearclaves ()

Firmar

mensaje = 'abc'
firma, n, sal = firmar (mensaje, priv=priv)

Verificar

v = verificar (mensaje, firma, n, sal, pub=pub)

print (v)
# True

¡Importante!

Todo algoritmo OTS (one-time signature) permite firmar un sólo mensaje por clave. Firmar más de un mensaje con la misma clave rompería la seguridad.

Se debe crear una clave nueva por cada mensaje a firmar.

Parámetros ajustables

Permiten ajustar el tamaño de la firma. Se pueden elegir libremente, son independientes del nivel de seguridad.

Valores por defecto

grupo = 3
t = 4
split = 1

Parámetros de seguridad

Modifican distintos aspectos del nivel de seguridad del algoritmo. Ante la duda, dejar los valores por defecto.

Valores por defecto

bits = 256
consal = True
upbits = bits # 256