Papers related to cryptography
本仓库为马昌社老师研究方向的相关论文和代码资源,请各位同门自觉维护仓库。
建议每个大类的论文都按时间顺序学习。
学习SSE的入门流程:
- 2006年karama 首次提出静态SSE
- 2016年bost 提出满足前向安全的动态SSE
- 2017年bost 提出满足前后向安全的动态SSE
以上三篇论文是SSE的主要框架来源,其他相关方案可自行在文件夹里面选择阅读。
- Access pattern
- Search pattern
- Volume hiding
- Co-occurence pattern
泄漏的简单介绍:Leakage Perturbation is Not Enough: Breaking Structured Encryption Using Simulated Annealing。
差分隐私是一个解决隐私问题的工具
差分隐私的书可以只看前几章节,了解几个DP机制就可以。
经典STE与DP结合的论文,建议精读:Encrypted Databases for Differential Privacy
ORAM完美的解决了access pattern的问题。
入门论文:
-
平方根:Software Protection and Simulation on Oblivious RAMs(1996)
-
path-oram:Path ORAM:An Extremely Simple Oblivious RAM Protocol
在文件夹里有oram发展的完整流程。
范围查询是一种常用的查询类别,围绕如何提高范围查询效率有非常多的流派。下面简单介绍:
- ORE
- BRC
- SSE+RangeQuery
- DEMERTZIS是首次提出SSE和范围查询结合的,所以可以先看Practical Private Range Search in Depth。
- 后续由DEMERTZIS为基础再做研究的,都简称为D派。
- others
- DP解决范围查询泄漏
论文会按照上面几个方向分类好,剩下的就是关于范围查询的攻击论文。建议攻击论文多看一些,这样比较好找到想要解决的问题。
在SSE的场景下,布尔查询又可以理解为多关键字查询,其中包含联合查询(conjunctive query)和非联合查询(disjunctive query),下面按照时间脉络和重要程度,列出一些具有里程碑意义的论文。
- OXT(2013) ,适合做conjunctive query
- BIEX(2017),适合做disjunctive query
- CNFFilter(2021),结合以上两篇进行改进
现有的Boolean Query方案大多都是改进于OXT框架,如:HXT解决了OXT关键字对泄露的问题;PHXT在没有牺牲存储的情况下解决了OXT关键字对泄露的问题;SDSSE-OXT进一步增加token开销的前提下将OXT做成了动态方案;包括CNFFIlter都离不开OXT框架,大家了解Boolean Query可以以OXT为出发点,阅读该方案的扩展论文,当然也有很多没有使用OXT的论文,如VBTree,扩展位图索引等,这一方向也不失为一种思路,更多论文欢迎大家补充。
椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm)
数字签名也可理解为传统手写签名的现代电子化形式
数字签名必须满足下列性质:
- 数字签名是可信赖的。接收者之所以相信签名的结果,正是因为生成签名和验证签名的过程是可信的,且签名结果是有意义的
- 数字签名是不可伪造的。可信的签名过程可以证明签名者的签名行为,而不是由任意第三方所进行的
- 数字签名是不可重复使用的。由于数字签名的特殊性质,重复使用签名于不同的文件上是不允许的。签名验证的失败意味着文件经过了未被授权的更改。数字签名具有不可抵赖性,即签名者无权否认进行过签名行为的文件
椭圆曲线签名算法是数字签名算法(DSA)的椭圆曲线密码体制的形式。一个椭圆曲线密码由下面的六元组所描述 $$ T=<p,a,b,G,n,h> $$ 目前椭圆曲线签名的工作是怎样快速实现一个抗攻击的ecdsa,包含两个方面:
- 标量乘法的快速实现
- ecdsa的攻击
- 流程
- 先拉取最新分支:
git pull origin main
- 更新和提交到本地仓库
- 将修改的文件添加到暂存区:
git add "文件名"
- 使用命令
git status
查看工作区修改但是未添加到暂存区的文件,如果工作区中修改过的文件都需要添加到暂存区中,可以使用命令git add .
将当前工作区中修改过的文件全部添加到暂存区中。
- 使用命令
- 将暂存区的修改提交到本地仓库:
git commit -m "备注信息"
- 将修改的文件添加到暂存区:
- 推送到远程仓库:git push origin main
- 先拉取最新分支:
- 提交时的备注信息
- 新增文件:add 文件名
- 修改文件:update 文件名+修改的操作
- 例如,update README新增提交实例
- 删除文件:delete 文件名
- 提交实例
# 1. 先拉取最新的远程分支
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git pull origin main
From https://github.com/SCNU-CS511/CS511-interview
* branch main -> FETCH_HEAD
Already up to date.
# 2. 查看工作区中已修改的文件(这里只修改了README)
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git status
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
# 3. 将工作区中的修改添加到暂存区中
# 这里也可以使用"git add ."命令进行提交
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git add README.md
# 4. 将暂存区中的修改提交到本地仓库中
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git commit -m "update README新增提交实例"
[main 4b6a395] update README
1 file changed, 18 insertions(+)
# 5. 查看是否在本地仓库提交成功
# 发现已经新增了一条提交记录
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git log
commit 5a30dcba4e7662436d0b3c2a6ed3cae94120891d (HEAD -> main)
Author: 2017libin <1963482624@qq.com>
Date: Mon Aug 22 23:17:04 2022 +0800
update README新增提交实例
commit 4b6a395a084ed7a988509ff70447531ab8a2c313 (origin/main, origin/HEAD)
Author: 2017libin <1963482624@qq.com>
Date: Mon Aug 22 23:07:16 2022 +0800
update README
commit c1b387bb507f50ca79d153e8d544722811f89037
Author: zhuyongshi <993015403@qq.com>
Date: Mon Aug 22 22:33:46 2022 +0800
update 计网面试题
# 6. 将本地仓库推送到远程
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git push origin main
Counting objects: 3, done.
Delta compression using up to 16 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 1.37 KiB | 1.37 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/SCNU-CS511/CS511-interview.git
4b6a395..5a30dcb main -> main
# 7. 查看是否远程分支是否更新
# (origin/main, origin/HEAD)都已经指向了最新的提交记录,说明了成功将本地的修改提交到远程了
chase@DESKTOP-D3FEH7R:~/code/CS511-interview$ git log
commit 5a30dcba4e7662436d0b3c2a6ed3cae94120891d (HEAD -> main, origin/main, origin/HEAD)
Author: 2017libin <1963482624@qq.com>
Date: Mon Aug 22 23:17:04 2022 +0800
update README新增提交实例
commit 4b6a395a084ed7a988509ff70447531ab8a2c313
Author: 2017libin <1963482624@qq.com>
Date: Mon Aug 22 23:07:16 2022 +0800
update README
commit c1b387bb507f50ca79d153e8d544722811f89037
Author: zhuyongshi <993015403@qq.com>
Date: Mon Aug 22 22:33:46 2022 +0800
update 计网面试题