[BUG] DSA failure in LargePositiveInteger in #new: <primitive: 71>

Bob Arning arning at charm.net
Tue May 30 15:54:10 UTC 2000


On Tue, 30 May 2000 09:58:42 EDT JArchibald at aol.com wrote:
>See if you can evaluate 'DigitalSignatureAlgorithm generateKeySet'; MVC or 
>Morphic.
>

Jerry,

Here is at least part of the answer. Inspect the following:

zz _ LargePositiveInteger new: 1.
zz digitAt: 1 put: 1.
a _ zz = 1. 
b _ zz printString. 
c _ zz = 1. 
{a. b. c}

As far back as Squeak 2.5, I get (true '1' false ). The gotcha here is that LargeIntegers are assumed (in #printOn:base:, anyway) to have more than one digit. If not, then some destructive operations happen on the receiver (zz in this case). Where else this happens, I couldn't say. Why this seems to be different with/without the LargeIntegers plugin is, I suspect, that results of operations may be converted to SmallIntegers in one case and remain as LargeIntegers in another. These "short" LargeIntegers seem to be cropping up when DSA fails.

Cheers,
Bob





More information about the Squeak-dev mailing list