TinyGarble 开源项目使用教程

TinyGarble 开源项目使用教程

TinyGarbleTinyGarble: Logic Synthesis and Sequential Descriptions for Yao's Garbled Circuits项目地址:https://gitcode.com/gh_mirrors/ti/TinyGarble

1. 项目介绍

TinyGarble 是一个完整的 Yao's Garbled Circuit (GC) 协议实现,用于两方安全函数评估 (Secure Function Evaluation, SFE)。该项目旨在提供高度压缩和可扩展的顺序混淆电路,支持双方在保护输入隐私的前提下执行任意函数并获取输出。

TinyGarble 包含两个主要部分:

  1. 电路合成:基于硬件合成和顺序电路概念,输出一个网表 Verilog 文件。
  2. 安全函数评估:基于 JustGarble 项目实现的 GC 框架,支持 Free-XOR、Row-reduction、OT 扩展和固定密钥块密码等功能。

2. 项目快速启动

2.1 安装依赖

在 Ubuntu 系统上,首先需要安装以下依赖:

sudo apt-get install g++
sudo apt-get install libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake

2.2 编译项目

克隆项目仓库并编译:

git clone https://github.com/esonghori/TinyGarble.git
cd TinyGarble
./configure
cd bin
make

2.3 运行示例

在 Alice 的终端上运行以下命令,计算两个 32 位私有输入的汉明距离:

./TinyGarble --alice --input FF55AA77

在 Bob 的终端上运行以下命令:

./TinyGarble --bob --input 12345678

3. 应用案例和最佳实践

3.1 应用案例

TinyGarble 可用于各种需要保护隐私的计算场景,例如:

  • 隐私保护数据分析:在多方数据分析中,确保数据输入的隐私不被泄露。
  • 安全多方计算:在多方参与的计算中,确保每一方的输入不被其他方获取。

3.2 最佳实践

  • 优化电路:使用 TinyGarble 提供的电路合成工具,优化电路以减少通信开销。
  • 安全通信:确保在执行 TinyGarble 时,使用安全的通信通道,以防止中间人攻击。

4. 典型生态项目

  • JustGarble:TinyGarble 基于 JustGarble 项目实现,提供了更高级的功能和优化。
  • Verilog 工具链:TinyGarble 依赖于 Verilog 工具链进行电路合成,建议使用最新版本的工具链以获得最佳性能。

通过以上步骤,您可以快速上手 TinyGarble 项目,并在实际应用中保护数据隐私。

TinyGarbleTinyGarble: Logic Synthesis and Sequential Descriptions for Yao's Garbled Circuits项目地址:https://gitcode.com/gh_mirrors/ti/TinyGarble

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟振优Harvester

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值