what is the meaning of following code?

1 view (last 30 days)
function [s_box_out] = s_box_fun(s_box_in)
rw = size(s_box_in, 1);
cl = size(s_box_in, 2);
s_box_in = reshape(s_box_in', rw*cl, 1)';
s_box_table = [ 99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118 ...
202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192 ...
183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21 ...
4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117 ...
9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132 ...
83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207 ...
208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168 ...
81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210 ...
205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115 ...
96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219 ...
224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121 ...
231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8 ...
186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138 ...
112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158 ...
225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223 ...
140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22];
s_box_out = s_box_table(s_box_in + 1);
s_box_out = reshape(s_box_out', cl, rw)';

Answers (1)

Adam Danz
Adam Danz on 28 Jan 2019
Edited: Adam Danz on 28 Jan 2019
s_box_in is a matrix, presumably of positive, non-zero integers such as [5 2 99 43 100, ...]
s_box_table is a hard-coded list of values stored in the function.
s_box_out is a matrix that appears to be the same size as the input-transposed except its values are pulled from the s_box_table vector according to the indicies supplied in the input.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!