]> AND Private Git Repository - Cipher_code.git/blobdiff - OneRoundIoT/NEW/scprng.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new hash version
[Cipher_code.git] / OneRoundIoT / NEW / scprng.cpp
index e50118d4bc4cb659c459777a2b7bf57e516a94b6..3b2eb6bfee2dc53740f36a4c95c8a7e856230a26 100644 (file)
@@ -202,11 +202,17 @@ void scprng(uint64_t *plain, uint64_t* cipher, int bufsize, int nb_bloc, uint64_
     for(int j=0;j<bufsize;j++) {
       //Val[j]=splitmix64_stateless(Val[j])^Val[Pbox[j]];
       //Val[j]=xorshift64(Val[j])^Val[Pbox[j]];  //fail
     for(int j=0;j<bufsize;j++) {
       //Val[j]=splitmix64_stateless(Val[j])^Val[Pbox[j]];
       //Val[j]=xorshift64(Val[j])^Val[Pbox[j]];  //fail
-      Val[j]=xorshift64(Val[j])^Val[Pbox[j]]^Val[Pbox2[j]];  
+//      Val[j]=xorshift64(Val[j])^Val[Pbox[j]]^Val[Pbox2[j]];
+      Val[j]=xorshift64(Val[j]);
+      
       //Val[j]=xoroshiro128plus(&xoro[j])^Val[Pbox[j]];
       //Val[j]=jsf(&ctx[j])^Val[Pbox[j]];  //good
       //Val[j]=sfc(&sfcd[j])^Val[Pbox[j]];  //good
     }
       //Val[j]=xoroshiro128plus(&xoro[j])^Val[Pbox[j]];
       //Val[j]=jsf(&ctx[j])^Val[Pbox[j]];  //good
       //Val[j]=sfc(&sfcd[j])^Val[Pbox[j]];  //good
     }
+    for(int j=0;j<bufsize;j++) {
+      Val[j]=Val[j]^Val[Pbox[j]]^Val[Pbox2[j]];
+    }
+
     
     for(int j=0;j<bufsize;j++) {
       cipher[nb*bufsize+j]=Val[j]^plain[nb*bufsize+j];
     
     for(int j=0;j<bufsize;j++) {
       cipher[nb*bufsize+j]=Val[j]^plain[nb*bufsize+j];
@@ -238,7 +244,7 @@ void scprng(uint64_t *plain, uint64_t* cipher, int bufsize, int nb_bloc, uint64_
 
 
 int main(int argc, char **argv) {
 
 
 int main(int argc, char **argv) {
-  printf("%d %d \n",sizeof(__uint64_t),sizeof(ulong));
+//  printf("%d %d \n",sizeof(__uint64_t),sizeof(ulong));
 
 
   uint nb_test=1;
 
 
   uint nb_test=1;
@@ -351,7 +357,7 @@ int main(int argc, char **argv) {
   }
 
   double time=TimeStop(t);
   }
 
   double time=TimeStop(t);
-  printf("time %e\n",nb_test*nb_bloc*h*8/time);
+  printf("%e  ",nb_test*nb_bloc*h*8/time);
 
   if(lena) {
     for(int i=0;i<oneD;i++) {
 
   if(lena) {
     for(int i=0;i<oneD;i++) {
@@ -374,13 +380,15 @@ int main(int argc, char **argv) {
   }
 
   t=TimeStart();
   }
 
   t=TimeStart();
+
+
   for(uint iter=0;iter<nb_test;iter++) {
     scprng(SEQ2, SEQ, h, nb_bloc, Val,Sbox1, Sbox2, Pbox, Pbox2, DK, delta);
   }
 
 
   time=TimeStop(t);
   for(uint iter=0;iter<nb_test;iter++) {
     scprng(SEQ2, SEQ, h, nb_bloc, Val,Sbox1, Sbox2, Pbox, Pbox2, DK, delta);
   }
 
 
   time=TimeStop(t);
-  printf("time %e\n",nb_test*nb_bloc*h*8/time);
+  printf("%e\n",nb_test*nb_bloc*h*8/time);
   
   if(lena) {
     for(int i=0;i<oneD;i++) {
   
   if(lena) {
     for(int i=0;i<oneD;i++) {