[PYTHON-CRYPTO] purpose of list

Paul Paul at CRYPTORIGHTS.ORG
Fri Dec 7 07:14:11 CET 2001


At 9:03 PM -0800 12/6/01, Bram Cohen wrote:
>On Thu, 6 Dec 2001, Paul wrote:
>
>>  For the readability ... I'm overloading basic operators (+, -, etc.)
>>  to work on finite fields of a variety of types.  The original goal
>>  was to make an easy to read ECC implementation.
>
>I take it you're using + for the ECC group operation, rather than *.


I'm just getting restarted on the code after having it on the shelf
for a year plus.  I have not started the ECC et, but was working on
other base classes.

I plan to simply take the existing specifications and write code as
close as possible to the standards.  The idea was originally to see
if I could make something that read as a specification, but was able
to run as code.  Lots of slow magic happens behind the curtain ... in
this case by the operator overloading.  So I think the answer is "*"
for IEEE 1363.

The Block class is also a little odd with this philosophy.  The
Blocks need to be of the field type used by the algorithm.  I'll post
a full example ... hopefully late next week if time permits.

>A
>reasonable argument can be made for making it *, because when people stare
>at lots of code using + they naturally think there's a corresponding *,
>which in the case of ECC there isn't. Are you also going to overload
>multiplication by scalars?

Again ... I'm going to make the code match the specification as
closely as possible, SO it depends on the base specification.  I plan
to use IEEE 1363 for ECC.


>
>Here's a pure python implementation of AES - be forewarned it's very, very
>slow.
>
>http://bitconjurer.org/rijndael.py

Way cool ... thanks!!



Paul



>
>-Bram Cohen
>
>"Markets can remain irrational longer than you can remain solvent"
>                                         -- John Maynard Keynes


--





More information about the python-crypto mailing list