Changeset ec3ce2c in comparacioncriptosistemas


Ignore:
Timestamp:
Jan 7, 2016, 10:31:10 AM (8 years ago)
Author:
aaraujo <aaraujo@…>
Branches:
master, interfaz
Children:
e5b15b7, 74faff2
Parents:
66e8c79
Message:

Asignado nombres al archivo de entrada y salida del proceso de cifrado

Location:
testVarieties
Files:
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • testVarieties/.gitignore

    r130b818 rec3ce2c  
    44out
    55out2
     6decryptedMessage.txt
     7encryptedMessage
  • testVarieties/main.cpp

    r130b818 rec3ce2c  
    2626            hash_nm::precalc_mul_table();
    2727
    28             FILE *fout = fopen("out", "wb");
    29             File in("in.txt", READ);
     28            FILE *fout = fopen("encryptedMessage", "wb");
     29            File in("message.txt", READ);
    3030
    3131            pol_t kx = get_rand_pol(KEY_DEG, false);
     
    4949            in.~File();
    5050
    51             FILE *fin = fopen("out", "rb");
    52             File out("out2", WRITE);
     51            FILE *fin = fopen("encryptedMessage", "rb");
     52            File out("decryptedMessage.txt", WRITE);
    5353
    5454            timer.start();
  • testVarieties/polinomial.hpp

    r130b818 rec3ce2c  
    3838        u61_t a = x[CLOSE_KEY_DEG].inverse() * y[CLOSE_KEY_DEG].inverse();
    3939        for (u32_t j = 0; j < factor.size(); ++j) {
    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                 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;
    6363        }
    6464}
Note: See TracChangeset for help on using the changeset viewer.