• 大小: 8KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: 其他
  • 标签: 全同态  加密  整数  

资源简介

全同态加密技术中DGHV方案的实现..sage文件。使用Phtyon语言编写

资源截图

代码片段和文件信息

/* 
* directscale.c: faster implementation of ciphertext expand

* Copyright (c) 2012 Mehdi Tibouchi 
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/

#include 

#define w (GMP_NUMB_BITS/2)
#define _BOTMASK ((1ul << w)-1)
#define _TOPMASK (~_BOTMASK)
#define BOT(x) ((x) & _BOTMASK)
#define TOP(x) ((x) >> w)
#define LIMB(zi) (((i)<((z)->_mp_size))?((z)->_mp_d[i]):(0L))
#define BOTL(zi) (BOT(LIMB(zi)))
#define TOPL(zi) (TOP(LIMB(zi)))
#define HLIMB(zj) ((j&1)?(TOPL(zj>>1)):(BOTL(zj>>1)))

unsigned getGMP_NUMB_BITS()
{
  return GMP_NUMB_BITS;
}

unsigned long directScal(unsigned long kap mpz_t cz mpz_t yz)
{
  unsigned long nW=(kap+1)/(2*w) val=0 i;

  if(nW*w*2 != kap+1)
      return 0;

  for(i = 0; i < nW-1; i++) {
    val += BOTL(czi) * LIMB(yznW-1-i);
    val += (BOTL(czi) * TOPL(yznW-2-i)) >> w;
    val += TOPL(czi) * ((BOTL(yznW-1-i) << w) + TOPL(yznW-2-i));
    val += (TOPL(czi) * BOTL(yznW-2-i)) >> w;
  }

  val += BOTL(cznW-1) * LIMB(yz0);
  val += TOPL(cznW-1) * (BOTL(yz0) << w);

  return val;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-04-10 00:43  fhe-master\
     文件        5094  2012-04-10 00:43  fhe-master\README
     文件        7952  2012-04-10 00:43  fhe-master\dghv.sage
     文件        1230  2012-04-10 00:43  fhe-master\directscal.c
     文件        2836  2012-04-10 00:43  fhe-master\scalprod.spyx
     文件        1779  2012-04-10 00:43  fhe-master\utils.sage

评论

共有 条评论