YAARX: Yet Another ARX Toolkit  0.1
 All Data Structures Files Functions Variables Macros Pages
morus-tests.cc File Reference

Analysis of the authenticated cipher MORUS. More...

#include "common.hh"
#include "xdp-and.hh"
#include "adp-xor.hh"

Data Structures

struct  morus_diff_state_t
 

Macros

#define n1   (5 % WORD_SIZE)
 
#define n2   (31 % WORD_SIZE)
 
#define n3   (7 % WORD_SIZE)
 
#define n4   (22 % WORD_SIZE)
 
#define n5   (13 % WORD_SIZE)
 
#define XOR_DIFF   1
 

Functions

void morus_rotr_xxx_yy (const WORD_T x[4], const uint32_t r, WORD_T y[4])
 
void morus_word_rotr_32 (const WORD_T x[4], WORD_T y[4])
 
void morus_word_rotr_64 (const WORD_T x[4], WORD_T y[4])
 
void morus_word_print (const WORD_T x[4])
 
void morus_state_print (const WORD_T x[5][4])
 
void morus_word_xor (const WORD_T x[4], const WORD_T y[4], WORD_T z[4])
 
void morus_word_and (const WORD_T x[4], const WORD_T y[4], WORD_T z[4])
 
bool morus_states_are_equal (const WORD_T x[4], const WORD_T y[4])
 
void morus_find_solution_rand ()
 
void morus_find_solution_all ()
 
void morus_stateupdate (WORD_T msgblk[], WORD_T state[][4])
 
void morus_initialization (const uint32_t nrounds, WORD_T state[][4])
 
void morus_stateupdate_dp (std::vector< morus_diff_state_t > *diff_state_vec)
 
void test_morus_stateupdate_dp ()
 
double adp_and_exper (const uint32_t da, const uint32_t db, const uint32_t dc)
 
void test_adp_and_all ()
 
void test_adp_and ()
 
double xor_add (WORD_T d, WORD_T D)
 
void test_xor_add ()
 
int main ()
 

Variables

WORD_T g_init_state [5][4]
 

Detailed Description

Analysis of the authenticated cipher MORUS.

Author
V.Velichkov, vesse.nosp@m.lin..nosp@m.velic.nosp@m.hkov.nosp@m.@uni..nosp@m.lu
Date
2012-2015

Variable Documentation

WORD_T g_init_state[5][4]
Initial value:
= {
{0xB3, 0x45, 0x1C, 0x96},
{0x88, 0xEA, 0x2D, 0x41},
{0xD9, 0xDC, 0x8B, 0xA0},
{0x23, 0x4B, 0x76, 0x40},
{0xD4, 0xA4, 0x5B, 0x23}
}