Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Plan9 3rd Edition (Vita Nuova)

Media Vault

Software Library

Restoration Projects

Artifacts Sought

KEYRING-GENSK(2)

NAME

genSK, genSKfromPK, sktopk, dhparams − generate keys

SYNOPSIS

include "keyring.m";
keyring := load Keyring Keyring->PATH;
genSK:  fn(algname, owner: string, length: int): ref SK;
genSKfromPK:  fn(pk: ref PK, owner: string): ref SK;
sktopk:  fn(sk: ref SK): ref PK;
dhparams:  fn(nbits: int): (ref IPint, ref IPint);

DESCRIPTION

­GenSK generates a public/private key pair, represented by SK.  (Although we call it a ‘private key’, ­SK contains both the private and public parts of a public key.)  ­Algname is the name of the algorithm to use; in the current implementation, only ­elgamal is possible.  ­Owner is the user name to be associated with the key.  ­Length gives the length of the key modulus in bits.  ­GenSK returns nil if an unknown algorithm has been specified. 

­GenSKfromPK generates a private key that has the same system parameters as the public key pk. It is used to generate new keys that are of the same complexity as old keys.

­Sktopk extracts the public part of private key. 

­Dhparams creates Diffie-Hellman parameters. The second ­IPint returned is an ­nbits long prime number that serves as the modulus.  The first ­IPint is a primitive root in the integer field defined by that modulus. 

Plan 9  —  June 01, 2000

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026