[PYTHON-CRYPTO] Requirements

Michael Ströder michael at STROEDER.COM
Thu Feb 15 13:46:16 CET 2001


Bryan Mongeau wrote:
>
> > # Edit this dictionary
> > registry = {
> >
> >   # Hashes
> >
> >   # MD5 implementations
> >   '(0 2 262 1 10 1 3 2)' : [
> >     Python.hash.MD5,
> >   ],
> >
> >   # SHA1 implementations
> >   '(1 3 14 3 2 26)' : [
> >     Python.hash.SHA1,
> >   ],
> >
> >   # Asymmetric ciphers
> >
> >   # RSA implementations
> >   '(2 5 8 1 1)' : [
> >   ],
> >
> >   # Key stores
> >
> > } # registry
>
> Are the numbers in the key strings the OIDs of
> implementations?

The OIDs are the unique identifiers for algortihms and protocols.
The strings above are just one possible string representation.
In the X.509-related world almost every such a component (even
single attributes of certificates) has such an OID assigned to it.
OIDs are hierarchical. Once you've registered a OID prefix (arc)
you're free to assign new OIDs to every object you might think of.

> Or do the lists maintain the order of implementation?

Yes.

> It would definitely suit your needs, but I see its applications being much
> broader than merely crypto routines. This method could be applied to all
> python modules,

Out of my scope and not necessary for most modules.

> > - Anybody concerned of a system admin having to edit a Python
> > module? If this looks too scary we could write code generators for
> > the registry module later.
>
> As long as the installer has this preconfigured for the modules it is
> installing, I do not see this as a problem at all.  It becomes more tedious
> as new modules/hardware are installed. Admins would have to be made aware of
> this.

If new implementation modules are installed the system administrator
has to manually tweak this registry. One could imagine that new
implementation modules register themselves by appending their class
names to the lists of algorithms they implement. (Note: Using
.append() as default installation method means add to *end of list*
=> lowest priority!)

> > - Is anybody scared by OIDs at all? Do all required components
> > (algorithms, prng, key stores, protocols) have OIDs assigned?
> > (Likely not.)
>
> As an extension module coder, this is the first I hear of OIDs outside of
> Zope.

Zope is using OIDs?

Ciao, Michael.





More information about the python-crypto mailing list