|
@@ -25,10 +25,26 @@ void Speck3264KeySchedule(u16 K[],u16 rk[])
|
|
|
{
|
|
|
u16 i,D=K[3],C=K[2],B=K[1],A=K[0];
|
|
|
|
|
|
+ printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
|
|
|
+
|
|
|
for(i=0;i<22;){
|
|
|
- rk[i]=A; ER16(B,A,i++);
|
|
|
- rk[i]=A; ER16(C,A,i++);
|
|
|
- rk[i]=A; ER16(D,A,i++);
|
|
|
+
|
|
|
+ printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
|
|
|
+
|
|
|
+ rk[i]=A;
|
|
|
+ ER16(B,A,i++);
|
|
|
+ printf("rk[%d] = 0x%x\n", i-1, A);
|
|
|
+
|
|
|
+ printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
|
|
|
+ rk[i]=A;
|
|
|
+ ER16(C,A,i++);
|
|
|
+ printf("rk[%d] = 0x%x\n", i-1, A);
|
|
|
+
|
|
|
+ printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
|
|
|
+ rk[i]=A;
|
|
|
+ ER16(D,A,i++);
|
|
|
+ printf("rk[%d] = 0x%x\n <- D = 0x%x", i-1, A, D);
|
|
|
+ printf("----------------------\n");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -82,7 +98,6 @@ void Speck3264_EncryptBlock(u8 pt[], u8 k[], u8 ct[]) {
|
|
|
Words16ToBytes(Ct,ct,2);
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
|
|
|
int main() {
|
|
|
|
|
@@ -105,4 +120,3 @@ int main() {
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
-*/
|