Ejemplo n.º 1
0
void speck_decrypt16(SPECK_TYPE16 const ct[2], SPECK_TYPE16 pt[2], SPECK_TYPE16 const K[SPECK_ROUNDS16])
{
	SPECK_TYPE16 i;
	pt[0] = ct[0]; pt[1] = ct[1];

	for (i = 0; i < SPECK_ROUNDS16; i++){
		RR16(pt[1], pt[0], K[(SPECK_ROUNDS16 - 1) - i]);
	}
}
Ejemplo n.º 2
0
void code3(int mode, LPSYMBOL s1, LPSYMBOL s2, LPSYMBOL s3)
{
	switch (mode) {
	case AM_RR8:
		RR8(s1->instr, s2->val8, s3->val8);
		break;
	case AM_RI8:
		RI8(s1->instr, s2->val8, s3->val8);
		break;
	case AM_RM8:
		RM8(s1->instr, s2->val8, s3->val8);
		break;
	case AM_RA8:
		RA8(s1->instr, s2->val8, s3->val16);
		break;
	case AM_RR16:
		RR16(s1->instr, s2->val8, s3->val8);
		break;
	case AM_RI16:
		RI16(s1->instr, s2->val8, s3->val16);
		break;
	case AM_RM16:
		RM16(s1->instr, s2->val8, s3->val8);
		break;
	case AM_RA16:
		RA16(s1->instr, s2->val8, s3->val16);
		break;
	case AM_MR8:
		MR8(s1->instr, s2->val8, s3->val8);
		break;
	case AM_MR16:
		MR16(s1->instr, s2->val8, s3->val8);
		break;
	case AM_M8I8:
		M8I8(s1->instr, s2->val8, s3->val8);
		break;
	case AM_M16I8:
		M16I8(s1->instr, s2->val8, s3->val8);
		break;
	case AM_MI16:
		MI16(s1->instr, s2->val8, s3->val16);
		break;
	case AM_AR8:
		AR8(s1->instr, s2->val16, s3->val8);
		break;
	case AM_AR16:
		AR16(s1->instr, s2->val16, s3->val8);
		break;
	case AM_A8I8:
		A8I8(s1->instr, s2->val16, s3->val8);
		break;
	case AM_A16I8:
		A16I8(s1->instr, s2->val16, s3->val8);
		break;
	case AM_AI16:
		AI16(s1->instr, s2->val16, s3->val16);
		break;
	default:
		break;
	}
}