salsa20-0.1.0.0
Copyright(c) Alfredo Garcia 2023
LicenseMIT
Stabilityexperimental
PortabilityPOSIX
Safe HaskellSafe-Inferred
LanguageHaskell2010

Rowround

Description

This module implements the rowround function, a fundamental operation in the Salsa20 stream cipher. The rowround function processes a 4x4 matrix, employing the quarterround function as its single operation. The quarterround expressions are formed and evaluated through F-Algebra operations, including modular arithmetic, rotation, and bitwise XOR.

The module offers functionalities to:

  • Compute numeric values resulting from rowround expressions.
  • Generate string representations of rowround expressions.
  • Perform Keelung specific computations using the UInt 32 type.

The rowround function is divided into four quarterround operations, each applying unique sorting strategies to manipulate the input matrix.

Synopsis

Documentation

rowroundCompute :: [Word32] -> [Word32] #

The rowround expression computed.

rowroundDisplay :: [String] -> [String] #

The rowround expression as a string.

rowroundKeelung :: [UInt 32] -> Comp [UInt 32] #

The rowround Keelung expression.