[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

### 15.2.2 Digital Signature Algorithm (DSA)

Bigloo has rudimentary (but usually sufficient) support for DSA. While it is not possible to generate new DSA keys inside Bigloo one can sign or verify with Bigloo.

DSA keys can be read and written using `read-pem`

(PEM).

For consistency with RSA we have named DSA keys in a similar way as
the RSA keys. The public part of a DSA key can be found in the class
`DSA-Key`

while the private part is added in the
`Complete-DSA-Key`

subclass.

- Bigloo Cryptography class:
**DSA-Key** - Bigloo Cryptography class:
**Complete-DSA-Key** (class Dsa-Key p::bignum q::bignum g::bignum y::bignum) (final-class Complete-Dsa-Key::Dsa-Key x::bignum)) ;; the private key

- Bigloo Cryptography procedure:
**extract-public-dsa-key***complete-key* Returns a

`DSA-Key`

without the private`x`.

- Bigloo Cryptography procedure:
**dsa-sign***m key* Signs the bignum

`m`using the private dsa key`key`. The result are two values:`r`and`s`.A typical call to

`dsa-sign`

is hence of the following form(receive (r s) (dsa-sign secret-key hashed-msg-bignum) (process-signature r s))

DSA works very similar to RSA. Have a look at RSA’s example section.

[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

This document was generated on *October 23, 2011* using *texi2html 5.0*.