Changeset ec3ce2c in comparacioncriptosistemas
- Timestamp:
- Jan 7, 2016, 10:31:10 AM (8 years ago)
- Branches:
- master, interfaz
- Children:
- e5b15b7, 74faff2
- Parents:
- 66e8c79
- Location:
- testVarieties
- Files:
-
- 4 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
testVarieties/.gitignore
r130b818 rec3ce2c 4 4 out 5 5 out2 6 decryptedMessage.txt 7 encryptedMessage -
testVarieties/main.cpp
r130b818 rec3ce2c 26 26 hash_nm::precalc_mul_table(); 27 27 28 FILE *fout = fopen(" out", "wb");29 File in(" in.txt", READ);28 FILE *fout = fopen("encryptedMessage", "wb"); 29 File in("message.txt", READ); 30 30 31 31 pol_t kx = get_rand_pol(KEY_DEG, false); … … 49 49 in.~File(); 50 50 51 FILE *fin = fopen(" out", "rb");52 File out(" out2", WRITE);51 FILE *fin = fopen("encryptedMessage", "rb"); 52 File out("decryptedMessage.txt", WRITE); 53 53 54 54 timer.start(); -
testVarieties/polinomial.hpp
r130b818 rec3ce2c 38 38 u61_t a = x[CLOSE_KEY_DEG].inverse() * y[CLOSE_KEY_DEG].inverse(); 39 39 for (u32_t j = 0; j < factor.size(); ++j) { 40 41 42 43 44 45 46 47 48 49 50 51 if (h1 == h2) { 52 // for (u32_t i = 0; i < res.size(); ++i) { 53 // if (size > MODSIZE - 1) {54 // size -= out.write(res[i]); 55 // } 56 // else { 57 // size -= out.write(res[i], size); 58 // } 59 //}60 out.flush(); 61 break;62 } 40 res.clear(); 41 m = m1 % (fc / factor[j]); 42 u32_t deg = m.get_deg(); 43 u64_t size = m[deg] * a.pow(deg / (2 * CLOSE_KEY_DEG)); 44 m %= kxy.pow(deg / (2 * CLOSE_KEY_DEG)) * pol_x.pow(deg % (2 * CLOSE_KEY_DEG)); 45 deg = m.get_deg(); 46 for (u32_t i = 0; i <= deg; ++i) { 47 res.push_back(m[deg - i] * a.pow((deg - i) / (2 * CLOSE_KEY_DEG))); 48 m %= kxy.pow((deg - i) / (2 * CLOSE_KEY_DEG)) * pol_x.pow((deg - i) % (2 * CLOSE_KEY_DEG)); 49 } 50 block512_t h2 = hash_nm::hash((char *)(res.data()), res.size() * sizeof(u61_t)); 51 52 // escritura del mensaje cifrado en el archivo de salida 53 for (u32_t i = 0; i < res.size(); ++i) { 54 if (size > MODSIZE - 1) { 55 size -= out.write(res[i]); 56 } 57 else { 58 size -= out.write(res[i], size); 59 } 60 } 61 out.flush(); 62 break; 63 63 } 64 64 }
Note: See TracChangeset
for help on using the changeset viewer.