waderwu / guomi

7 stars 2 forks source link

我们要实现哪些东西? #1

Open waderwu opened 6 years ago

waderwu commented 6 years ago

实现几个算法?@cpegg

waderwu commented 6 years ago

封装成那几个语言@CPEGG

cpeggg commented 6 years ago

使用lab版、avx版和gpu版来实现sm4算法,使用avx和gpu来实现sm2算法 封装成c语言动态库(.so for Linux & .dll for Windows)以及java(.jar包) 其他的平台我还没想好

waderwu commented 6 years ago

封装成能让python调用的我感觉也有必要

waderwu commented 6 years ago

另外具体实现哪些接口函数?

cpeggg commented 6 years ago

嗯 好像python库是可以用C来实现的吧?

waderwu commented 6 years ago

对就是通过python来调用c写的接口,具体怎么封装我还不会

cpeggg commented 6 years ago

嗯那就是这样?


实现算法

国密算法中的SM2、SMS4算法 使用SBOX打表(实验室版本)、AVX、GPU加速三种方式对SM4进行加速 使用AVX、GPU对SM2进行加速 现在还有一种使用OpenMP进行并行计算的方法可以尝试

支持平台

将实现代码封装成:

  1. 动态库文件(.so for Linux & .dll for Windows)
  2. jar包for java(其中底层调用C接口)
  3. python repo(其中底层调用C接口)
  4. 嵌入式端(就是在比如ARM上的Linux环境中编译一下这种)

重点主要还是放在性能的优化上,突出和其他实现的数据上的对比

waderwu commented 6 years ago

ok,但是一些api接口,需要确定好,要不然后面封装,会有点混乱。