Copyright | (c) Alfredo Garcia 2023 |
---|---|
License | MIT |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module defines the doubleround function as the composition of rowround and columnround.
Additionally, it introduces doubleroundR
, which represents the doubleround
function applied R times,
as specified in the salsa20 spec.
The module provides functionalities to:
- Compute numeric values resulting from doubleround expressions.
- Generate string representations of doubleround expressions.
- Perform Keelung specific computations using the UInt 32 type.
The doubleround function applies rowround to the result of columnround, creating a comprehensive cryptographic operation. The iterated version, doubleroundR, repeats the doubleround operation R times, enhancing security and complexity.
Exported functions:
doubleroundCompute
: Computes numeric values for a doubleround expression.doubleroundDisplay
: Generates string representations of a doubleround expression.doubleroundKeelung
: Performs Keelung-specific computations for a doubleround expression.
The doubleroundR
variant:
doubleroundRCompute
: Computes numeric values for an iterated doubleround expression.doubleroundRDisplay
: Generates string representations of an iterated doubleround expression.doubleroundRKeelung
: Performs Keelung-specific computations for an iterated doubleround expression.
Synopsis
- doubleroundCompute :: [Word32] -> [Word32]
- doubleroundDisplay :: [String] -> [String]
- doubleroundKeelung :: [UInt 32] -> Comp [UInt 32]
- doubleroundRCompute :: Int -> [Word32] -> [Word32]
- doubleroundRDisplay :: Int -> [String] -> [String]
- doubleroundRKeelung :: Int -> [UInt 32] -> Comp [UInt 32]
Documentation
doubleroundCompute :: [Word32] -> [Word32] #
The doubleround expression computed.
doubleroundDisplay :: [String] -> [String] #
The doubleround expression as a string.
doubleroundKeelung :: [UInt 32] -> Comp [UInt 32] #
The doubleround Keelung expression.
doubleroundRCompute :: Int -> [Word32] -> [Word32] #
The doubleroundR expression computed.
doubleroundRDisplay :: Int -> [String] -> [String] #
The doubleroundR expression as a string.
doubleroundRKeelung :: Int -> [UInt 32] -> Comp [UInt 32] #
The doubleroundR Keelung expression.