%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Copyright: 2010 Integrated Sytems Laboratory, ETH Zurich %% http://www.iis.ee.ethz.ch/~sha3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; clc; %rnd = 1; nmax = 3; N = 1; disp(['Start generating ' num2str(N) ' messages']) stm = fopen(['bmw256_stimuli.asc'], 'w', 'native'); exp = fopen(['bmw256_expresp.asc'], 'w', 'native'); % RESET Cycles fprintf(stm, '%X %X %0128X\n', [0 0 0]); fprintf(stm, '%X %X %0128X\n', [0 0 0]); fprintf(stm, '%X %X %0128X\n', [1 0 0]); fprintf(stm, '%X %X %0128X\n', [1 0 0]); %%%%% START SIMULATION %%%%% % RANDOM INPUT ------------------------------------------------------------- for vec=1:N, %if rnd == 0, % n = nmax; %else % n = ceil(nmax*rand(1)); %end blocks = ceil(nmax*rand(1)); %B = round((2^32-1)*rand([16,blocks])); %B = round((2^32-1)*ones(n,16)); % power sim blocks = 2; B = round((2^32-1)*ones([16,blocks])); bmw256; for bl = 1:blocks fprintf(stm, '%X %X ', [1 1]); for dig=1:16 fprintf(stm, '%08X', [B(dig,bl)]); end fprintf(stm, '\n'); for i = 0:16 fprintf(stm, '%X %X %0128X\n', [1 0 0]); end end for i = 0:18 fprintf(stm, '%X %X %0128X\n', [1 0 0]); end %for dig=1:8 fprintf(exp, '%s', [hash_string]); %end fprintf(exp, ' 1\n'); end % END RANDOM INPUT ------------------------------------------------------------- fprintf(stm, '%X %X %0128X \n', [1 0 0 ]); fprintf(stm, '%X %X %0128X \n', [1 0 0 ]); fprintf(stm, '%X %X %0128X \n', [1 0 0 ]); fprintf(stm, '%X %X %0128X \n', [1 0 0 ]); fclose(stm); fclose(exp); disp('End generation')