The Pure Crypto Project's Hash Function

tom st denis tomstdenis at yahoo.com
Sun May 4 09:59:25 EDT 2003


--- Ralf Senderek <ralf at senderek.de> wrote:
> On 3 May 2003, Eric Rescorla wrote:
> 
> > Can you explain every single line of the modular exponentiation
> > routine you're using?
> 
> Yes, of course I can, otherwise the Pure Crypto Project would lack
> its
> second most important feature, clarity, security being the most
> important.
> Fortunately I have to explain only 10 lines of code:

Um...

> 
>           def ModExp (Base, Exp, Mod):
>                 Hash = 1
>                 X = Exp
>                 Factor = Base
> 
>                 while X > 0 :
>                       Remainder = X % 2
>                       X = X / 2
>                       if Remainder == 1:
>                                Hash = Hash * Factor % Mod
>                       Factor = Factor * Factor %  Mod
>                 return Hash
> 
> 
> I have explained this sucessfully even to 18 year olds who wanted to
> learn about computer security. I will explain off-list on request.

While thats cute and all real implementations like GMP and LibTomMath
do not use square-multiply since its too slow.  

I'm not arguing that modexpt is a hard thing to implement decently fast
[heck I'm only a high school grad]  :-)

Apparently though you're understanding of the subject is lacking. 
Since the original question of security was whether you understood how
the implemention of modexpt you were using worked [if you use
square-multiply its going to be hella slow!]

Tom

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com



More information about the cryptography mailing list