save value into new variable after each iteration

7 visualizaciones (últimos 30 días)
Maria Imdad
Maria Imdad el 4 de Nov. de 2020
Comentada: J. Alex Lee el 5 de Nov. de 2020
Hi everyone,
I am new to matlab, I have this one fuction, as a subpart of my code.
Here I am taking an initial string of 80 bits and after execution this loop, returns me 31 different strings as sub keys of the same length.
All I want is to save the value of these 31 keys in 31 different variables as "key1", "key2"....."key31".
This is my function:
function key_out=updateKey(key, i)
sbox=[12 5 6 11 9 0 10 13 3 14 15 8 4 7 1 2];
key_out=[key(62:80) key(1:61)];
key_out(1:4)=dec2bin(sbox(bin2dec(key_out(1:4))+1),4);
key_out(61:65)=dec2bin(bitxor(i, bin2dec(key_out(61:65))), 5);
disp(i);
disp('Output key');
disp(key_out);
end
  6 comentarios
Mario Malic
Mario Malic el 4 de Nov. de 2020
My mistake, your solution is much better! Why did you use the reversed direction of loop, would it make a difference in the line below?
key_out(61:65)=dec2bin(bitxor(i, bin2dec(key_out(61:65))), 5);
J. Alex Lee
J. Alex Lee el 5 de Nov. de 2020
The reverse loop is just to implicitly preallocate the arrays that are being populated in the loop.
It shouldn't make a difference in the line because you still are indexing consistently.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by