Change Data.Bits.rotate to rotate Integer (unbounded) types

Peter Tanski p.tanski at gmail.com
Tue Sep 19 16:07:59 EDT 2006


On Sep 19, 2006, at 3:38 PM, Lemmih wrote:

> On 9/19/06, Peter Tanski <p.tanski at gmail.com> wrote:
>> I don't have a particular implementation in mind but as a general
>> idea it would make the treatment of Integers the same as the
>> treatment of the standard-size bounded ints.  A possible
>> implementation might be a stream cipher that uses 128-bit Integers
>> instead of 32-bit ints (bitwise rotations have been used in more than
>> a few stream ciphers).  For arithmetic purposes, rotation is also
>> useful for implementing multiplication of finite fields.
>
> Ah, so you want to rotate various bounded integers larger than 64bits?
> You can do that without changing Data.Bits at all (crypto defines
> Word128, Word192 and Word256 which are instances of Bits).

The LargeWord module in Crypto is very cool.  Before this email I did  
not know LargeWord defined rotate (maybe it is the version of Crypto  
I have--3.03?).

-Pete 


More information about the Glasgow-haskell-users mailing list