Patent Document ID: 20180341616
Application ID: 15602235
Patent Flag: 0

Claim One:
1. An apparatus for data transformation of an input data word of 2 N sections, where N is an integer, comprising: a set of N sequential layers of 2 to 1 multiplexers disposed from an output layer to an input layer, wherein: each multiplexer has a first input, a second input, a control input and an output, each multiplexer providing an output corresponding to a selected one of said first input or said second input dependent upon a signal at said control input, said first input of each multiplexer of said input layer receiving data of a corresponding input section, said first input of each multiplexer of each other layer receiving said output of a corresponding multiplexer of an immediately subsequent layer, said second input of each multiplexer of said input layer receiving data of an input section different from said corresponding input section supplying said first input, said second input of each multiplexer of each other layer receiving data of said output of a multiplexer of said immediately subsequent layer different from said corresponding multiplexer supplying said first input, said outputs of said last layer providing output of the apparatus; and a plurality of combinatorial circuits, one combinatorial circuit corresponding to each layer of multiplexers, each combinatorial circuit including: a first input receiving a bit corresponding to said layer of a precalculated shuffle pattern, a second input receiving a bit corresponding to said layer of a precalculated replicate pattern, a third input receiving a bit corresponding to said layer of a precalculated rotate pattern, a first exclusive OR gate having a first input receiving said bit corresponding to said layer of said precalculated shuffle pattern, a second input receiving said bit corresponding to said layer of said precalculated replicate pattern, and an output, a second exclusive OR gate having a first input receiving said bit corresponding to said layer of said precalculated replicate pattern, a second input receiving said bit corresponding to said layer of said precalculated rotate pattern, and an output, a third exclusive OR gate having a first input receiving said bit corresponding to said layer of said precalculated rotate pattern, a second input receiving said bit corresponding to said layer of said precalculated shuffle pattern, and an output, and a control multiplexer having a first input receiving said bit corresponding to said layer of said precalculated shuffle pattern, a second input receiving said bit corresponding to said layer of said precalculated replicate pattern, a third input receiving said bit corresponding to said layer of a precalculated rotate pattern, a fourth input receiving said output of said first exclusive OR gate, a fifth input receiving said output of said second exclusive OR gate, a sixth input receiving said output of said third exclusive OR gate, a control input and an output supplying said control input of each multiplexer of said corresponding layer, said control multiplexer outputting a selected one of said first, second, third, fourth, fifth or sixth input dependent upon a signal at said control input.