string getFileMD5Sum(string filepath)

The function computes MD5 digest for the file.

string getFileSha256Sum(string filepath)

The function computes SHA-2556 digest for the file.

string getFileStreebogSum(alias bits)(string filepath) 
if (bits == 256 || bits == 512)

The function computes Streebog hash sum for the file.

string getFileStreebog256Sum(string filepath)

256-bit version of file Streebog hash sum.

string getFileStreebog512Sum(string filepath)

512-bit version of file Streebog hash sum.

ubyte[64] modulo512(in ubyte[64] a, in ubyte[64] b)

Auxiliary function of the remainder of the division for the Streebog algorithm.

ubyte[64] xor512(in ubyte[64] a, in ubyte[64] b)

Auxiliary XOR-function for the Streebog algorithm.

immutable(Char)[] atbash(Char)(
    immutable(Char)[] message,
    immutable(Char)[][] alphabets
) 
if (isSomeChar!Char)

Atbash encryption.

Parameters

message

Text for encryption.

alphabets

Array of alphabets to use when flipping.

Returns

Encrypted message.

immutable(Char)[] atbashEnRu(Char)(immutable(Char)[] message) 
if (isSomeChar!Char)

A special case of Atbash encryption — for English and Russian alphabets.

Parameters

message

Text for encryption.

Returns

Encrypted message.

immutable(Char)[] caesarCypher(Char)(
    immutable(Char)[] message,
    immutable(Char)[][] alphabets,
    ssize_t shift
) 
if (isSomeChar!Char)

Caesar encryption.

Parameters

message

Text for encryption.

alphabets

Array of alphabets for internal shifting.

shift

Numerical value of the shift.

Returns

Encrypted message.

ubyte[] vernamByteCipher(in ubyte[] message, in ubyte[] key)

Vernam encryption.

Parameters

message

Byte array for encryption.

key

Encryption key. Its length must be equal to the length of the message.

Returns

Encrypted message.

uint fnv1a32(scope const ubyte[] data) @safe pure nothrow

Fowler-Noll-Vo hash function, version: 32-bit FNV-1a

ulong fnv1a64(scope const ubyte[] data) @safe pure nothrow

Fowler-Noll-Vo hash function, version: 64-bit FNV-1a

The module contains the Streebog cryptographic hash function and several simple cryptographic functions.

Public imports