pksig_dsa

Digital Signature Algorithm (DSA)

Authors: NIST

Title: “Digital Signature Standard (DSS)”
Published in: FIPS 186, 1994
Notes: Originally proposed by NIST in August 1991.

Scheme Properties

  • Type: signature (public key)

  • Setting: integer groups

  • Assumption: Discrete Logarithm

Implementation

Authors:
  1. Ayo Akinyele

Date:

5/2011

class pksig_dsa.DSA(p=0, q=0)[source]

Bases: PKSig

>>> from charm.core.math.integer import integer
>>> p = integer(156053402631691285300957066846581395905893621007563090607988086498527791650834395958624527746916581251903190331297268907675919283232442999706619659475326192111220545726433895802392432934926242553363253333261282122117343404703514696108330984423475697798156574052962658373571332699002716083130212467463571362679)
>>> q = integer(78026701315845642650478533423290697952946810503781545303994043249263895825417197979312263873458290625951595165648634453837959641616221499853309829737663096055610272863216947901196216467463121276681626666630641061058671702351757348054165492211737848899078287026481329186785666349501358041565106233731785681339)    
>>> dsa = DSA(p, q)
>>> (public_key, secret_key) = dsa.keygen(1024)
>>> msg = "hello world test message!!!"
>>> signature = dsa.sign(public_key, secret_key, msg)
>>> dsa.verify(public_key, signature, msg)
True
keygen(bits)[source]
sign(pk, x, M)[source]
verify(pk, sig, M)[source]