[source]

Module prim_subst_perm

DataWidthNumRoundsDecryptdata_i[DataWidth-1:0]logickey_i[DataWidth-1:0]logicdata_ologic[DataWidth-1:0]

Block Diagram of prim_subst_perm

This is a simple data diffusion primitive that is constructed in a similar fashion as the PRESENT cipher (i.e. it uses a substitution/permutation network). Note however that this is * not * cryptographically secure. The main purpose of this primitive is to provide a cheap diffusion mechanism for arbitrarily sized vectors.

See also

prim_prince, prim_present, prim_cipher_pkg

Parameters

Name

Default

Description

DataWidth

64

NumRounds

31

Decrypt

0

0 = encryp, 1 = decrypt

Ports

Name

Type

Direction

Description

data_i

wire logic [DataWidth - 1 : 0]

input

key_i

wire logic [DataWidth - 1 : 0]

input

data_o

var logic [DataWidth - 1 : 0]

output