vulcan-cryptanalysis
vulcan-cryptanalysis
vulcan-cryptanalysis
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
D<br />
Vulcan Cryptanalysis Simulation<br />
%-----------------------------------------------------------<br />
% Vulcan <strong>cryptanalysis</strong> simulation<br />
% 2014-07-15 --- CJR<br />
% input: n-bit ciphertext "ct"<br />
% output: 71-bit cryptovariable "cv"<br />
% recovers Vulcan CV from ciphertext assuming all-0 plaintext<br />
%-----------------------------------------------------------<br />
% check user-supplied inputs for simple errors<br />
if(exist(’ct’) == 0)<br />
error("ciphertext not found -- create some ciphertext")<br />
end<br />
% table of 128-bit SRAM contents in terms of 64 CV bits (of 71-bit user CV)<br />
% each row represents the contents of the corresponding SRAM address from 000 to 127<br />
% the columns are user CV bits v70 v69 v68 v67 ... v10 v09 v08 v05<br />
% (note that rows containing more than a single 1 represent parity bits)<br />
% (note that user CV bits v07 v06 v04 v03 v02 v01 v00 are NOT stored in SRAM)<br />
sr = [...<br />
1,0,1,1,1,0,1,0,1,0,0,1,1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,1,0,1,0,0,...<br />
1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,1,0;...<br />
0,1,0,1,0,1,0,1,1,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0,1,0,0,1,...<br />
1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,1,0,1;...<br />
0,0,1,1,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,...<br />
1,1,1,0,0,0,0,1,0,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0;...<br />
1,0,1,0,1,0,1,0,1,0,1,1,0,1,1,1,0,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,...<br />
0,0,1,0,1,0,0,0,0,0,1,1,0,1,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,1;...<br />
0,1,0,0,0,0,1,0,1,1,1,0,1,0,1,0,1,1,1,0,1,1,0,0,1,1,0,0,0,1,1,1,...<br />
0,1,0,1,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,1,1,1,1,1,0,0,0,1,0;...<br />
0,0,1,0,1,0,1,0,1,0,0,1,0,1,1,1,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,0,...<br />
0,1,0,1,1,0,1,0,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,1,0,1,1,1,0,0;...<br />
1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,1,1,0,...<br />
1,0,1,0,1,1,1,0,1,0,0,1,0,1,0,1,1,1,1,0,0,1,0,0,1,0,1,1,1,0,0,0;...<br />
0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,0,1,1,1,0,0,1,1,0,1,...<br />
0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,1,0,0,1,1,1,1,0,0,0,0,1,0;...<br />
1,0,0,0,0,0,0,1,0,1,0,1,0,1,1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,1,1,0,...<br />
0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,1,0,0,0,1,1,1,1,0,1,0,1,1,0;...<br />
1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,1,...<br />
0,0,1,0,1,1,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1;...<br />
0,1,0,1,0,0,0,1,0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,0,1,1,1,0,0,...<br />
1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,1;...<br />
0,0,0,0,0,0,0,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,...<br />
1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,1,0,0,0,1;...<br />
1,1,0,1,1,1,1,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,1,1,0,1,1,0,1,...<br />
1,1,0,1,1,1,0,1,0,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,1,1,0,0,0,0,1;...<br />
0,1,0,0,1,1,0,1,0,0,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,...<br />
0,1,1,0,1,0,0,1,1,1,0,0,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0;...<br />
1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,1,0,...<br />
0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,1,0,1,1,0;...<br />
1,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,...<br />
1,1,1,0,0,0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,1,1,0,0,1,0,1,0,0,0,0,0;...<br />
0,0,0,0,0,1,1,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,0,0,1,0,1,1,1,0,0,...<br />
0,1,1,1,1,1,0,0,0,0,1,0,0,1,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0;...<br />
0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,...<br />
1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,1,1,0,0,1,0,1,0,0;...<br />
1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,1,1,0,1,1,0,...<br />
1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,1,1,0,0,1;...<br />
0,1,1,1,0,0,0,0,1,0,0,1,0,1,1,1,1,1,0,1,1,0,1,0,0,0,0,0,1,0,1,0,...<br />
35