def test_not_enabled(): # TODO: test broken as the compiled lib determines which algorithms are supported and enabled for alg_name in oqs.get_supported_sig_mechanisms(): if alg_name not in oqs.get_enabled_sig_mechanisms(): # found a non-enabled but supported alg try: with oqs.Signature(alg_name) as sig: raise AssertionError( "oqs.MechanismNotEnabledError was not raised.") except oqs.MechanismNotEnabledError: pass except E: raise AssertionError("An unexpected exception was raised. " + E)
def check_correctness(alg_name): with oqs.Signature(alg_name) as sig: message = bytes(random.getrandbits(8) for _ in range(100)) public_key = sig.generate_keypair() signature = sig.sign(message) assert sig.verify(message, signature, public_key)
import oqs import random print ("Custom test dilithium3") message = bytes(random.getrandbits(8) for _ in range (100)) sig = oqs.Signature("DILITHIUM_3") signature = sig.generate_keypair() privateKey = sig.export_secret_key() print (signature) print () print (privateKey)
import oqs ####################################################################### # signature example ####################################################################### sigs = oqs.get_enabled_sig_mechanisms() print("Enabled signature mechanisms:") pprint(sigs, compact="True") message = "This is the message to sign".encode() # create signer and verifier with default signature mechanisms sigalg = "DEFAULT" with oqs.Signature(sigalg) as signer: with oqs.Signature(sigalg) as verifier: print("\nSignature details:") pprint(signer.details) # signer generates its keypair signer_public_key = signer.generate_keypair() # optionally, the secret key can be obtained by calling export_secret_key() # and the signer can later be re-instantiated with the key pair: # secret_key = signer.export_secret_key() # store key pair, wait... (session resumption): # signer = oqs.Signature(sigalg, secret_key) # signer signs the message signature = signer.sign(message)
pprint(client.details) #public key generation public_key = client.generate_keypair() pq_file_pwd = get_pwd(public_key) file_pwd = client.decap_secret(pq_file_pwd) print('Secret key recieved by client') print(file_pwd) sleep(8) cls_scr() print("next up quantum signature verification") sleep(3) sig_alg = 'DILITHIUM_2' print("Post Quantum signature scheme dilithium2 demonstration") with oqs.Signature(sig_alg) as client: cls_scr() print("Client side") pprint(client.details) sleep(5) # cls_scr() pub_key,sign,msg = sign_msg() if client.verify( msg, sign, pub_key): print("Message verified") print('Message from server') print(msg.decode()) else: print("Verification Failed") sleep(5) cls_scr()
def get_nist_level(sign): with oqs.Signature(sign) as client: level = client.details["claimed_nist_level"] return level