save value into new variable after each iteration
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Mario Malic
2020-11-4
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
2020-11-5
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.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!