--- /dev/null
+CXX=g++
+C=gcc
+#CFLAGS=-O3 -march=armv8-a+crypto -lrt -ftree-vectorize -flax-vector-conversions -mfpu=crypto-neon-fp-armv8
+
+CFLAGS=-O3 -march=armv8-a+crypto+crc -lrt -ftree-vectorize -flax-vector-conversions
+
+
+
+
+OBJ = pixmap_io.o lwarm.o
+
+%.o: %.c
+ $(C) -c -o $@ $< $(CFLAGS)
+
+%.o: %.cpp
+ $(CXX) -c -o $@ $< $(CFLAGS)
+
+lwarm: $(OBJ)
+ $(CXX) -o $@ $^ $(CFLAGS)
+
+clean:
+ rm -rf $(OBJ) lwarm
}
// All other round keys are found from the previous round keys.
- while (i < 160)
+ while (i < 256)
{
for(j=0;j<4;j++)
{
int NN=128;
- unsigned char RoundKey[240];
+ unsigned char RoundKey[256];
+ for(int i=0;i<256;i++) {
+ RoundKey[i]=0;
+ }
for(int i=1; i<argc; i++){
if(strncmp(argv[i],"nb",2)==0) nb_test = atoi(&(argv[i][2])); //nb of test
KeyExpansion(RoundKey, enc_key, NN);
- for (size_t i=0; i<240/16; ++i) {
- for(int j=0; j<16; j++) {
- cout<<(int)RoundKey[i*16+j]<<" ";
- }
- cout<<endl;
+ for (size_t i=0; i<256/16; ++i) {
+ rdkeys[i] = vld1q_u8(&RoundKey[i*16]);
+ print128_num(rdkeys[i]);
}
- exit(0);
- cout<<"start of useless computation"<<endl;
+ /* cout<<"start of useless computation"<<endl;
double dummy=0;
- for(int i=0;i<20000000;i++) {
+ for(int i=0;i<40000000;i++) {
dummy+=0.000000001*log(i+10);
}
cout<<"end of useless computation"<<dummy<<endl;
-
+ */
int size = 64;
uchar DK[size];