what is the meaning of following code?
1 view (last 30 days)
Show older comments
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)';
0 Comments
Answers (1)
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.
See Also
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!