2021SC@SDUSC
文章平均质量分 82
otterPD
这个作者很懒,什么都没留下…
展开
-
山东大学软件工程项目实训-6 项目稿件 关于potato-comp的第一个实例项目的扼要提纲
需求描述: 一个极小规模的通信app包含用户实例按ID找人即时交互通信会话列表缓存*会话内容缓存作为实例项目 以展示功能为主故以短时轮询取代websocket作为实时通信的能力实现基础包含的接口有/unauth/login:userID: string;pwd: string;/unauth/reguserID: string;pwd: string;userNick: string;Auth:Find_session:T...原创 2022-05-06 14:37:17 · 358 阅读 · 0 评论 -
山东大学软件工程项目实训-5 项目稿件 关于potato-comp。operation.json的内容物和使用说明草稿1
DevPort用于指定前后台的在开发模式下的绑定端口例如这里是4000那么前端request导出的base-host = "localhost:4000"后端应用服务器也会listen4000Api代表具体的接口和接口的实现由于是面向中小型应用的 故只有两个子路由 分别是 Auth / Unauth ( /api/auth/, /api/unauth )默认实现时 auth会获取token中的userID 并绑定到后续的controller中unauth则不需要获取t...原创 2022-05-06 14:36:01 · 730 阅读 · 0 评论 -
山东大学软件工程项目实训-1.5 项目稿件 关于potato-comp/mid部分(operation层)的实现手稿
关于前台配置如何生效的做法配置一个组件 说明其需要的预设props这就需要有类型检验这样的服务那么该如何声明呢以json的形式加以表现如App.vue: {"name": "233";"got:": true"id": 339,"onLogin": "Request.Start" (以Request起始的代表请求),"onSwitch": "Router.Ace"(代表切换到Ace页面)};Loading是不可配置的这是一个组件的配置方法 那么一个页面..原创 2022-04-22 16:43:19 · 131 阅读 · 0 评论 -
山东大学软件工程项目实训-4 说明文档 potato-comp的使用方法第一版
1. potato-comp是一套基于node.js和ts的项目生成工具旨在通过<预配置>和<常用函数库>的插件式绑定来减少开发周期减少需要定义的过程 降低项目复杂度https://github.com/skr305/potato-comp2. (todo:) npm i -g potato-components-beta后使用init-repo <path> 可生成项目 (如果是npm包的话可以省略)或git clone https://..原创 2022-04-22 16:41:07 · 2844 阅读 · 0 评论 -
山东大学软件工程项目实训-2 项目稿件 关于potato-comp的实现纪要以及todo
1. 需求:输入:对于/config文件夹下的front-end文件夹下的若干.page 文件和若干<name>.expose.ts,默认模板下会带一个app.page和global.expose.ts最后所有的<name>.expose.ts在global.expose.ts中引入 import _ from 'xx'之后即可生效具体内容:.json文件中将要包含1.路由信息( 以<name>.json为范例 router-name = name ).原创 2022-04-24 16:03:30 · 303 阅读 · 0 评论 -
山东大学软件工程项目实训-3 规划和目前进度
#### 当前项目实训开始9周> 目前进度符合预期1. 关于预期的低代码平台 进度如下+ scene-ui组件库主体完成 可依托其进行页面基础设施构建+ potato-compiler(土豆编译器: 低代码平台后端和简洁页面生成) 正在调试阶段 准备依托其进行第一个示例项目(chat in one)的构建+ low-code 我们关于可视化布局和图形化编程的一个尝试 主要基于具有复合逻辑的组件来搭建复杂应用 通过拖动来进行页面结构样式配置组件库已经打包到np...原创 2022-04-22 15:57:50 · 1172 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: pke\lib\scheme\bfvrns-b
2021SC@SDUSC这一篇来分析一下这个子模块位于是bfv的一种特殊实现方案先进行Enable这个函数的分析这可以提供Enable可以配置哪些选项的相关信息可以看到可以点出 ENCRYPTION SHE-Hash PRE MULTIPARTYFHE LEVELEDFHE ADVANCEDFHE 则还没有被实现如果点出这个选项会立刻抛出异常// Enable for LPPublicKeyEncryptio...原创 2021-12-09 12:48:52 · 271 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: core/lib/encoding
2021SC@SDUSC看一看估计标准偏差过程是怎么样的// Estimate standard deviation using the imaginary part of decoded vector z// Compute m(X) - m(1/X) as a proxy for z - Conj(z) = 2*Im(z)// vec is m(X) corresponding to z// conjugate is m(1/X) corresponding to ...原创 2021-12-05 14:24:36 · 485 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: CryptoContext和pke/lib
2021SC@SDUSC现在来关注一下 CryptoContext的实现首先这是各方案都需要使用到的公共库位于pke/lib下// Initialize global config variable//序列化预运算bool SERIALIZE_PRECOMPUTE = true;template <typename Element>// 在eval乘法时生成keyvoid CryptoContextImpl<Element>::...原创 2021-11-28 15:30:32 · 218 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: 单元测试和工程上的一些参考
2021SC@SDUSC对于大型项目而言 需要去保证可持续的开发和验证开发的正确性TDD(Test Driving Development) 代表测试驱动开发而在palisade中 对于pke的各schema也做了单元测试这对于大型项目的焦点分离和构造可检验正确性的函数库是很有价值的可以看看palisade是怎么作单元测试的pke下的单元测试集中放在 unittest下使用的gtest单元测试框架和别的UT库一样 这个库也是使用常用的expect e...原创 2021-11-18 09:35:18 · 250 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: 数学后端-矩阵
2021SC@SDUSC这篇博客我们来看看更加基础层次上的关于PALISADE是如何实现常规数学运算的部分关于为何要构建这样一个大型的数学库 我是这么想的首先 第三方的库在PALISADE这样大规模工程环境中必定要做许多的源码调试和改动才能适应其需要的运算环境 但是另外一方面 这些库虽然可能更可靠,但是要直接上手去改现成的,那无疑是要对其开发的模式和约定有深刻的了解,并且很多功能可能是冗余的,在这种情况下,不如去做一套自己的小规模数学后端一些经典的实现可能是必要的引用 ...原创 2021-11-10 14:21:50 · 434 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: 格加密模块的初窥
2021SC@SDUSC这次对格密码层进行一个分析首先可以看到格密码层也是分了相当多的文件从名字上直观认识,大多都是数学后端上功能以及一些辅助的运算模块先来看看lattice中的poly模块30 - 78#include <cmath>#include <fstream>#include "lattice/backend.h"#define DEMANGLER // used for the dema...原创 2021-11-10 13:24:43 · 240 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: bfvrns的样例及用法
2021SC@SDUSC今天来对pke中的样例进行一个理解这部分准备了一些基本的预定数值并由此产生了以下的参数在激活参数的过程中 做了哪些工作呢首先是使用encodingParams对明文进行了一个封装然后根据若干参数 ( 加密等级等 ) 进行了一个对加密上下文的封装这个cryptoContext 在上几次的分析中也可以见得 是加密过程中随机参数以外的主要凭据cryptoContext是可以自己选择激活特性的 这里是选择了 加...原创 2021-10-31 13:02:47 · 226 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: 有关BFV的标准和机制的一些想法
2021SC@SDUSC根据 同态加密标准 BFV的参数需要有如下问题1: 这两个分布指的是什么 用来干什么问题2: 这个环R是否是多项式环这些参数应是用于后续的加密和解密以及密钥生成现在来看一下公私钥的生成这在PALISADE的实现如下 关于这部分上上篇blog大体论述了其流程 这两个分布D1, D2 是可以被配置的 这里照应了上上篇blog的一个问题 那就是这个评估密钥是什么而在实现中 这里是统一用的向量化的运算关...原创 2021-10-17 13:43:04 · 538 阅读 · 3 评论 -
@2021SC@SDUSC 源码分析: BFV的加解密
2021SC@SDUSC以下对BFV中的私钥加密 部分做一个分析参数方面 有2个入参 privateKey是私钥 pTxt是明文(plainText)Line: 458 先对密文cipherText进行了一个声明Line:462 从privateKey中提取加密参数 这样意味着privateKey 实例中不仅是存在着私钥本体 也存在着其它的一些信息对于Line:470存疑 这个switchFormat 切换Format状态 也就是E...原创 2021-10-06 17:15:35 · 421 阅读 · 0 评论 -
@2021SC@SDUSC 源码分析: BFV的 KEYGEN (密钥生成)
2021SC@SDUSC本篇基于palisade的BFV方案中的keyGenerate进行分析 * src/pke/lib/schema/bfv/bfv.cpp入参有2 cc和标识是否稀疏化的makesparseLine:371 利用cc即加密上下文来提取参数Line:375 提取cc中的elementParam即元素参数EP 用于配置格密码式中的e, a, s等参数Line 377 - 379 获取三种不同的随机分布生成器Dgg 即离散高斯...原创 2021-10-06 15:39:36 · 342 阅读 · 0 评论 -
@2021SC@SDUSC 前置知识 @对于RSA的朴素理解
2021SC@SDUSC参照RSA 算法的加密原理是什么? - 童凌的回答 - 知乎 RSA 算法的加密原理是什么? - 知乎来自 <RSA 算法的加密原理是什么? - 知乎>问题1: 什么是欧拉函数对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1)来自 <欧拉函数 - 国内版 Bing>问题1.1 什么是互质互质是公约数只有1的两个整数来自 <什么是互...原创 2021-09-29 17:15:52 · 239 阅读 · 1 评论 -
@2021SC@SDUSC PALISADE全同态加密开源 @1 下载和安装
Files · master · PALISADE / PALISADE Development · GitLab项目本体在gitlab上resposity本体也非常的巨大 但是其中真正的源代码据估计在9MB以内原因很简单 其中的417M都是.git的内容 这意味着这个算法库经过了很多的迭代commit对于安装和跑demo README提供了可资参考的步骤Build InstructionsWe use CMake to build PAL...原创 2021-09-26 20:27:02 · 571 阅读 · 0 评论