- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 使用ubuntu:20.04和ubuntu:jammy构建secretflow环境
本文提供了两个基于不同Ubuntu版本的Dockerfile配置,用于构建安全协议开发环境。第一个使用ubuntu:20.04基础镜像,配置了gcc-11/g++-11工具链、CMake 3.26.1、Miniconda3及Bazel构建工具,并针对ARM64平台额外安装了Clang-15。第二个使用ubuntu:jammy基础镜像,配置了类似的开发环境,包括gcc-11工具链、LLD-15链接器等组件。两个配置都实现了架构自适应(x86_64/ARM64),通过conda初始化环境变量,并以root用户运
2025-07-22 17:36:06
102
原创 ubuntu 20.04 安装 cmake 3.26
本文介绍了四种安装CMake的方法:1) 下载预编译二进制文件,根据机器架构(aarch64/x86_64)自动选择版本;2) 源码编译安装,需安装依赖并执行编译步骤;3) 通过Kitware官方PPA安装(最高支持3.25版本);4) 直接使用apt安装(版本较旧为3.16)。其中Dockerfile示例展示了安全安装CMake 3.26的过程,包含自动检测平台架构、下载安装包和创建符号链接等步骤。
2025-07-22 16:59:24
25
原创 基于ECDH的隐私求交(PSI)发展历程及技术原理
ECDH-PSI隐私集合求交技术演进与应用 摘要:ECDH-PSI是基于椭圆曲线密码学的隐私集合求交技术,其发展经历了四个阶段:1986-2000年代初的理论探索,2010-2020年的协议标准化与性能优化,2020-2023年的应用扩展与安全增强,以及2022年至今的跨平台标准化与产业落地。该技术通过椭圆曲线离散对数困难问题保障安全性,相比传统方法具有密钥短(256位)、计算效率高等优势,支持流式处理和批量点乘优化。目前已在金融风控、医疗数据匹配等领域实现应用,隐私计算联盟2022年发布的开放协议推动了跨
2025-07-18 17:38:37
561
原创 Ubuntu20.05上安装Clang 15
摘要:本文介绍了在Ubuntu系统上安装Clang 15的完整步骤。首先需要下载并添加LLVM官方APT仓库的密钥,然后根据Ubuntu版本配置对应的LLVM源文件(如Focal对应20.04)。完成源配置后执行apt更新,最后通过apt安装clang-15并验证版本。不同Ubuntu版本需替换对应的发行版代号。整个过程涉及密钥添加、源配置、软件更新和安装验证等关键操作。
2025-07-14 14:39:50
216
原创 ubuntu20.04安装g++11和gcc11
在Ubuntu系统中安装GCC-11编译器的步骤:首先通过software-properties-common解决add-apt-repository命令缺失问题,添加Toolchain测试源并更新软件源。然后安装gcc-11和g++-11,通过创建符号链接将其设为系统默认编译器,最后用gcc -v验证版本。整个过程涉及软件源配置、编译器安装和系统链接设置。
2025-07-14 11:00:20
191
原创 APSI 安装及测试
APSI(Asymmetric Private Set Intersection)安装与测试指南:1)通过vcpkg安装依赖,执行bootstrap脚本;2)安装APSI及相关组件;3)使用CMake构建测试环境,配置工具链和编译选项;4)运行Python测试脚本生成测试数据,分别调用sender_cli和receiver_cli进行发送方和接收方测试。测试过程需指定数据文件路径、参数配置及输出位置。详细步骤参考技术博客文档。
2025-06-16 18:01:45
118
原创 libPSI编译问题
摘要:下载Boost库1.86.0版本时出现错误,文件哈希校验不匹配(预期值1bed88...与实际值e0f020...不符)。随后解压失败,导致CMake配置中断。解决方法包括:1)手动下载正确的boost_1_86_0.tar.bz2文件(建议通过官网https://www.boost.org/releases/1.86.0/获取);2)使用wget命令重新下载;3)执行build.py脚本继续构建流程。该问题源于文件下载不完整或被篡改,需确保获取官方正版文件。
2025-06-10 17:32:38
112
原创 Docker问题记录
摘要:在Ubuntu系统中执行apt update时出现GPG签名错误,提示多个仓库的InRelease文件存在无效签名。这是由于安全验证失败导致系统默认禁用这些仓库。解决方法是通过添加--allow-insecure-repositories和--allow-unauthenticated参数强制更新。此外,还提示/var/cache/apt/archives/空间不足,建议先运行apt-get clean清理缓存。
2025-06-10 14:53:47
127
原创 PIRANA: Faster Multi-query PIR via Constant-weight Codes(论文解析)
匿踪查询:一个客户从服务器查询数据,并且服务器无法知晓查询内容。注意这里是保护查询安全,并不保护服务器数据安全。主要贡献:1.设计了一款更高速度的匿踪查询方案。2.设计一款支持批量查询的匿踪查询方案。3.匿踪方案可以拓展并支持labelPSI。4.全面的实验评估和分析。参考哔哩哔哩t=N7T8t=N7T8哔哩哔哩https://www.bilibili.com/video/BV1Zw4m1e7dm/?
2024-07-02 16:14:10
1576
2
原创 本科论文、毕设指导
对于很多毕业的子弟,也许您的辅导员仅仅提供一个比较大的方向,然而这对于我们来说是一个比较含糊的概念。对于大多数学生来说,也许编程难度较大,我们会给予直接的代码指导,甚至提供可以直接使用的代码包,需要的学生可以一键启动,“傻瓜调用”。论文编辑可能对于您来说难度较大,其中包括内容、语言、构思,无论是word、latex,我们都能提供相关的专业辅导,最终提供一款可以直接使用的专业论文。最后,我们将帮你完善一个具体相关的PPT,让我们一起完成相关论文的答辩PPT,给最终的答辩画上完整的句号。
2024-07-01 10:47:06
882
1
原创 Text2SQL
Text to SQL( 以下简称Text2SQL),是将自然语言文本(Text)转换成结构化查询语言SQL的过程,属于自然语言处理-语义分析(Semantic Parsing)领域中的子任务。
2024-06-28 14:25:15
4444
原创 ‘syntax = “proto2“;‘ or ‘syntax = “proto3“
是 Protocol Buffers(以下简称 Protobuf)的两个不同版本,它们在语法和功能上有一些区别。取决于您的具体需求和偏好。一般来说,如果您需要更简单和更严格的语法,以及更好的互操作性,可以选择。字段、默认值或字段扩展等功能,可能更适合选择。
2024-05-30 14:38:18
717
原创 Occlum原理解析及使用说明
一、设计初衷降低SGX使用门槛,打造一款小白也易于上手的可信执行环境框架。二、背景知识1.什么是可信计算在许多现实环境中,比如公有云、边缘计算、区块链中,用户和服务器提供方扮演两个不同的利益主体,而用户想要保护自身应用程序和应用数据的隐私的同时能借助第三方服务器完成数据计算。而可信计算就解决了这个问题,即用户即使不相信第三方服务器也能保护应用的隐私性。在另一个角度思考,数据的存储和数据传输在现实场景中都通过加密的方式解决,但是数据使用过程中的安全如何保护,这是可信计算主要解决的问题。
2024-05-06 11:59:20
1032
1
原创 隐私计算方向工程师定位
2.算力和安全的tradeoff:为了安全的场景实现往往会对计算性能一定的牺牲,如何达到最好的效果,是否要明文密文结合还是纯密文,做好权衡。4.减小隐私计算使用门槛:对于其他开发人员我们对于隐私计算相关的储备更加充足,应站在其他使用者的角度去设计简单易用的隐私计算产品或接口。1.缝合领域间隙:隐私计算是一个具有门槛且复杂的研究学科,应该由我们肩负各种领域之间的间隙的缝合,比如联邦学习如何从PSI到模型训练。
2024-04-30 11:04:01
199
1
原创 SecretFlow学习指南(4)密态计算设备 SPU
这里对于XLA不熟悉的同学进行一个简单介绍,XLA 是一种针对特定领域的线性代数编译器,是tensorflow内部实现的一个子模块,使用编译器相关技术用来加速模型的执行。前者往往难部署,难做安全领域特定的优化。隐语提供了非常自由的明密文混合编程范式,我们不限制明文的引擎,也不限制密文引擎,开发者可以用他自己熟悉的框架开发,然后标记其中的某一部分用明文引擎跑,另一部分用SPU跑。最终,通过编译时和运行时的层层翻译,SPU将AI前端和MPC后端解耦,使得在SPU中扩展的任何安全协议都可以无感的支持多种前端。
2024-04-30 10:48:28
1161
原创 SecretFlow学习指南(3)框架拆解和使用
有隐私计算算法开发诉求的同学,可以根据自身场景和业务的特点,设计出一些特化的隐私计算算法,来满足自身业务和场景对安全性、计算性能和计算精度的平衡。基于这层抽象,数据分析和机器学习工作流可以表示为一张计算图,其中节点表示某个设备上的计算,边表示设备之间的数据流动,不同类型设备之间的数据流动会自动进行协议转换。在设备层,隐语提供了良好的设备接口和协议接口,支持更多的设备和协议插拔式的接入,我们希望与密码学、可信硬件、硬件加速等领域专家通力合作,不断扩展密态计算的类型和功能,不断提升协议的安全性和计算性能。
2024-04-29 09:54:39
1383
原创 最新批量匿踪查询顶会论文:Vectorized Batch Private Information Retrieval
介绍了一种名为Vectorized Batch Private Information Retrieval的新型批量私人信息检索方案。相比传统的私人信息检索(PIR),该方案在计算和通信效率上都表现出色。通过利用矢量化同态加密技术,该方案在多种数据库配置下实现了高效的批量信息检索。具体而言,对于从一个包含一百万条每条256字节的数据库中检索256条记录的情况,该方案的通信成本比现有解决方案提高了7.5倍至98.5倍。这种创新的批量私人信息检索方案为云计算应用中的用户隐私保护提供了重要的解决方案。
2024-03-19 17:54:36
1512
1
原创 Private Set Intersection from Pseudorandom CorrelationGenerators 最快PSI!导览解读
这篇文章的主要脉络和核心思想是探讨如何利用伪随机相关生成器(PCG)改进私有集合交(PSI)协议。文章首先介绍了PCG的概念和作用,然后阐述了如何将PCG与分布式密钥生成协议相结合,以实现长伪随机相关性的高效生成。接着,文章重点讨论了PCG对私有集合交协议的改进作用,提出了两个主要结果:高度优化的半诚实PSI协议和利用PCG实现新相关性的协议。这些结果展示了PCG在安全计算应用中的潜在价值,为提高协议效率和性能提供了新的思路和方法。
2023-12-08 19:16:00
1468
原创 寻找妖怪的火眼金睛——解密九九八十一难中的最大挑战
本文探讨了在古代神话故事《西游记》中,孙悟空与伙伴们面对九九八十一难的挑战时,寻找妖怪的火眼金睛成为最大的难题。通过培养观察力、掌握技巧和工具以及培养心灵感应的能力,我们可以提高察觉妖怪存在的能力。然而,在追寻妖怪的过程中,我们也要遵守法律法规,确保自身和他人的安全。本文旨在为寻找妖怪的探索者提供启示和帮助。
2023-12-07 18:34:07
582
原创 白骨精·程序员的工作养生之道
大家好!我是你们熟悉的白骨精,如今转行成了一名程序员。作为一个程序员,我深知工作的重要性,但同时也明白养生同样不可忽视。在这篇博文中,我将与大家分享我作为一名白骨精程序员是如何边工作边养生的。
2023-12-07 18:25:32
483
原创 入门低代码开发:快速构建应用程序的方法
低代码开发是一种通过可视化建模和拖拽式设计工具来快速构建应用程序的方法,具有提高开发效率、降低技术门槛、促进创新和快速迭代等优点,但也存在对复杂场景的限制、底层技术掌控能力降低和性能问题等挑战。入门低代码需要了解概念和原理、选择适合自己的平台、学习使用工具和功能、练习实际案例和深入学习相关编程知识和技术。低代码开发在数字化转型中扮演着重要的角色,是提升竞争力、实现数字化转型的利器。
2023-12-07 18:03:48
817
原创 隐私求交(PSI)VS匿踪查询(PIR)——话题
最近有个在思考一个问题,隐私求交和匿踪查询的区别。在很久之前我的思考是两者是相同的,匿踪查询是隐私求交的一种拓展,但是随着深入研究发现两者还是很大区别,但是总有一种感觉,这两者在某个地方能达到统一,这种感觉我还是没那么确切。这方法就像“看山是山,看山不是山,看山还是山”,这里创建这个话题的目的:1给大家科普一下,2是希望大家一起讨论一下~
2023-12-07 17:54:26
2331
原创 SimplePIR——最快单服务器匿踪查询方案
介绍两种新的单服务器 PIR 方案,SimplePIR 和 DoublePIR,它们的吞吐量超过了所有现有的单服务器 PIR 协议,并接近多服务器 PIR 的吞吐量。SimplePIR 的服务器吞吐量为 10 GB/s/core,而 DoublePIR 的服务器吞吐量略低,为 7.4 GB/s/core,但对于一个字节记录的数据库,它将提示缩小到大约 16 MB。本文还介绍了一种新的使用 PIR 的私有集成成员数据结构及其在证书透明度中的应用。新的 PIR 方案有两个主要缺点:客户端必须下载“提示”,在线
2023-12-06 17:54:16
2237
原创 pir依赖编译记录
一定要安装mingw,不然会出现会出现编译出来的不存在makefile,无法进行下一步的make,三、vcpkg 安装:包管理器、方便其他包的下载。一、cmake+gcc基础编译。
2023-08-10 21:36:30
194
原创 cgo调用,高效快速稳定,无内存碰撞
因为密码学有很多较快的算法是基于c或c++纂修,而工程上主要以go语言为主,所以在此梳理一些go调用c常见问题和用例。有很多奇特的方式进行传输,但是想要性能最优还是以指针传输作为主要传输方式。一些简单的计算可以直接使用c编写成.h进行引用,但在工程部署常常拥有大量依赖库,若在服务器上部署时间太慢,还可能存在网络问题。所以最佳方式是将所有依赖库编译成动态库.so和.dylib供部署方使用。
2023-07-21 18:42:49
1330
原创 docker搭建一个API
若想简单点可以使用下面Dockerfile:但这个docker image相对较大,不如上面的。1.首先在本地编译好API接口:app.py、使用python更加简单容易理解。这个是返回一个json文件,想要编写其他案例,在文章后面。二、编写Dockerfile: 放在同一目录中!已经成功实现了API接口。
2023-07-11 15:07:16
776
区块链架构之美,通过对Bitcoin,Ethereum,Fabric的技术原理分析,自底而上的介绍区块链底层技术原理
2024-06-26
cgo-example
2023-07-21
ECC-X25519,打点,点乘,点除
2022-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人