예제 #1
0
static void decode_b(poly *b, poly *c, const unsigned char *r)
{
  int i;
  poly_frombytes(b, r);
  for(i=0;i<1024;i++)
    c->v[i] = r[2*i+1] >> 6;
}
예제 #2
0
파일: newhope.c 프로젝트: ahf/luke
static void decode_a(poly *pk, unsigned char *seed, const unsigned char *r)
{
  int i;
  poly_frombytes(pk, r);
  for(i=0;i<NEWHOPE_SEEDBYTES;i++)
    seed[i] = r[POLY_BYTES+i];
}
예제 #3
0
파일: newhope.cpp 프로젝트: Hackmanit/botan
inline void decode_a(poly* pk, uint8_t* seed, const uint8_t* r)
   {
   poly_frombytes(pk, r);
   for(size_t i = 0; i < NEWHOPE_SEED_BYTES; i++)
      {
      seed[i] = r[NEWHOPE_POLY_BYTES+i];
      }
   }
예제 #4
0
static void decode_a(poly *pk, unsigned char *seed, const unsigned char *r)
{
  int i,j;
  poly_frombytes(pk, r);
  for(i=0;i<32;i++)
  {
    seed[i] = 0;
    for(j=0;j<4;j++)
      seed[i] |= (r[2*(4*i+j)+1] >> 6) << 2*j;
  }
}
예제 #5
0
파일: newhope.cpp 프로젝트: Hackmanit/botan
inline void decode_b(poly* b, poly* c, const uint8_t* r)
   {
   poly_frombytes(b, r);
   for(size_t i = 0; i < PARAM_N/4; i++)
      {
      c->coeffs[4*i+0] =  r[NEWHOPE_POLY_BYTES+i]       & 0x03;
      c->coeffs[4*i+1] = (r[NEWHOPE_POLY_BYTES+i] >> 2) & 0x03;
      c->coeffs[4*i+2] = (r[NEWHOPE_POLY_BYTES+i] >> 4) & 0x03;
      c->coeffs[4*i+3] = (r[NEWHOPE_POLY_BYTES+i] >> 6);
      }
   }
예제 #6
0
파일: newhope.c 프로젝트: ahf/luke
static void decode_b(poly *b, poly *c, const unsigned char *r)
{
  int i;
  poly_frombytes(b, r);
  for(i=0;i<PARAM_N/4;i++)
  {
    c->coeffs[4*i+0] =  r[POLY_BYTES+i]       & 0x03;
    c->coeffs[4*i+1] = (r[POLY_BYTES+i] >> 2) & 0x03;
    c->coeffs[4*i+2] = (r[POLY_BYTES+i] >> 4) & 0x03;
    c->coeffs[4*i+3] = (r[POLY_BYTES+i] >> 6);
  }
}