A
lgorithmique
N
umérique
D
istribuée
Private GIT Repository
projects
/
Cipher_code.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
new
[Cipher_code.git]
/
OneRoundIoT
/
OneRound
/
rc4_hash.cpp
diff --git
a/OneRoundIoT/OneRound/rc4_hash.cpp
b/OneRoundIoT/OneRound/rc4_hash.cpp
index d088af7d744ebd13f69148e1fb2ee128bc31de18..0084c37178019ff751f98b0a2242032eb5da1b8b 100644
(file)
--- a/
OneRoundIoT/OneRound/rc4_hash.cpp
+++ b/
OneRoundIoT/OneRound/rc4_hash.cpp
@@
-121,17
+121,17
@@
void rc4keyperm(uchar *key,int len, int rp,int *sc, int size_DK) {
}
}
}
}
-void prga(uchar *sc,
int ldata, uchar *r
) {
+void prga(uchar *sc,
uchar *X, int ldata, uchar *r, int h
) {
uchar i0=0;
uchar j0=0;
for (int it=0; it<ldata; it++) {
uchar i0=0;
uchar j0=0;
for (int it=0; it<ldata; it++) {
- i0 =
(i0+1)
;
+ i0 =
X[(i0+1)&(h-1)]
;
j0 = (j0 + sc[i0]);
uchar tmp = sc[i0];
sc[i0] = sc[j0];
sc[j0] = tmp;
j0 = (j0 + sc[i0]);
uchar tmp = sc[i0];
sc[i0] = sc[j0];
sc[j0] = tmp;
- r[it]=sc[
(sc[i0]+sc[j0])&0xFF
];
+ r[it]=sc[
i0];//sc[(sc[i0]+sc[j0])&255
];
}
}
}
}
@@
-169,7
+169,7
@@
void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, uchar *S, int h) {
//cout<<endl;
//cout<<endl;
- prga(S,
h, RM1
);
+ prga(S,
X,h, RM1,h
);
/*
for(int i=0;i<h;i++) {
cout<<(int)RM1[i]<<" ";
/*
for(int i=0;i<h;i++) {
cout<<(int)RM1[i]<<" ";
@@
-178,6
+178,8
@@
void hash_DSD_BIN(uchar* seq_in, uchar* RM1,int len, uchar *S, int h) {
*/
// if(it==40)
// exit(0);
*/
// if(it==40)
// exit(0);
+
+
for(int a=0;a<h;a+=4) {
RM1[a]=S[RM1[a]];
RM1[a+1]=S[RM1[a+1]];
for(int a=0;a<h;a+=4) {
RM1[a]=S[RM1[a]];
RM1[a+1]=S[RM1[a+1]];
@@
-238,7
+240,6
@@
int main(int argc, char** argv) {
Secretkey[i]=lrand48()&0xFF;
counter[i]=lrand48()&0xFF;
}
Secretkey[i]=lrand48()&0xFF;
counter[i]=lrand48()&0xFF;
}
-
int size = 64;
uchar DK[size];
int size = 64;
uchar DK[size];
@@
-323,7
+324,10
@@
int main(int argc, char** argv) {
for (int i = 0; i < 64 ; i++) {
// DK[i]=digest[i];
DK[i]=mix[i];
for (int i = 0; i < 64 ; i++) {
// DK[i]=digest[i];
DK[i]=mix[i];
+ //cout<<(int)DK[i]<<" ";
}
}
+ //cout<<endl;
+
@@
-343,7
+347,7
@@
int main(int argc, char** argv) {
- prga(sc,
h, RM1
);
+ prga(sc,
sc,h,RM1,h
);