예제 #1
0
파일: PRINCE.c 프로젝트: benClar/mscProject
void sBox_layer(uint32_t state[64]){ 
uint8_t i = 0;
i = 0;
for(;(i < 16);) { 
if((i * 4) >= 64){
fprintf(stderr, "Index out of bounds for selection on state\n");
exit(1);
}
if(((i * 4) + 3) >= 64){
fprintf(stderr, "Index out of bounds for selection on state\n");
exit(1);
}
if((i * 4) > ((i * 4) + 3)){
fprintf(stderr, "Start of range cannot be larger than end for index select on state \n");
exit(1);
}
uint32_t temp_24_rnge[(((i * 4) + 3) - (i * 4)) + 1];
extract_bs_range(temp_24_rnge, state, (i * 4), ((i * 4) + 3));
prince(temp_24_rnge);
if((i * 4) >= 64){
fprintf(stderr, "Index out of bounds for selection on state\n");
exit(1);
}
if(((i * 4) + 3) >= 64){
fprintf(stderr, "Index out of bounds for selection on state\n");
exit(1);
}
if((i * 4) > ((i * 4) + 3)){
fprintf(stderr, "Start of range cannot be larger than end for index select on state \n");
exit(1);
}
uint8_t temp_34_init = 0;
uint32_t temp_35_rnge_size = 0;
temp_35_rnge_size = (((i * 4) + 3)-(i * 4)) + 1;
uint8_t temp_40_rng_start = (i * 4);
for(temp_34_init = 0; temp_34_init < temp_35_rnge_size; temp_34_init++, temp_40_rng_start++){
state[temp_40_rng_start] = temp_24_rnge[temp_34_init];
}
i = (i + 1);
} 
}
예제 #2
0
int main(int argc, char *argv[]) {
	PackPrince prince(argv[0]);
	return prince.run(argc, argv);
}