X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/Cipher_code.git/blobdiff_plain/2850bb6426a5db0bc65b0b6c32c1e8ab651165f8..752a89b144f0c841c59285f2c987544c36ba205a:/OneRoundIoT/NEW/scprng.cpp?ds=sidebyside diff --git a/OneRoundIoT/NEW/scprng.cpp b/OneRoundIoT/NEW/scprng.cpp index 5f1a3d5..75b952c 100644 --- a/OneRoundIoT/NEW/scprng.cpp +++ b/OneRoundIoT/NEW/scprng.cpp @@ -2,7 +2,7 @@ #include #include #include - +#include typedef unsigned char uchar; @@ -192,23 +192,35 @@ void rc4keyperm(uchar *key,int len, int rp,int *sc, int size_DK) { } } +#define ROR64(x,r) (((x)>>(r))|((x)<<(64-(r)))) +#define ROL64(x,r) (((x)<<(r))|((x)>>(64-(r)))) +#define R(x,y,k) (x=ROR64(x,18), x+=y, x^=k, y=ROL64(y,13), y^=x) -void scprng(uint64_t *plain, uint64_t* cipher, int bufsize, int nb_bloc, uint64_t *Val, uchar *Sbox1, uchar *Sbox2, int *Pbox, int *Pbox2, uchar *DK, int delta) { - int update=0; - for(int nb=0;nb