CVSROOT:        /cvs
Module name:    src
Changes by:     js...@cvs.openbsd.org   2025/08/17 02:04:25

Modified files:
        lib/libcrypto/rc4: rc4.c 

Log message:
Further simplify the rc4 implementation.

The RC4_CHUNK related code is intended to process native word sized
chunks if the input and output are naturally aligned. However, RC4_CHUNK
is currently a mess of machine dependent defines.

Replace this with uint64_t on all architectures - 64 bit architectures will
be happy with this and on 32 bit architectures the compiler can decompose
this into multiple 32 bit operations. Provide separate rc4_chunk()
implementations for big and little endian, since not all architectures
have a byte swap instruction that would make this a cheap conversion.

Thanks to gkoehler@ and tb@ for testing on big endian.

ok tb@

Reply via email to