Linear Secret-Sharing Scheme(LSSS) Monotone Span Program(MSP)

参考文献:

  1. [KW93] Karchmer M, Wigderson A. On span programs[C]//[1993] Proceedings of the Eigth Annual Structure in Complexity Theory Conference. IEEE, 1993: 102-111.
  2. [CDM00] Cramer R, Damgård I, Maurer U. General secure multi-party computation from any linear secret-sharing scheme[C]//International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer Berlin Heidelberg, 2000: 316-334.
  3. [GPSW06] Goyal V, Pandey O, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data[C]//Proceedings of the 13th ACM conference on Computer and communications security. 2006: 89-98.
  4. [Bei11] Beimel A. Secret-sharing schemes: A survey[C]//International conference on coding and cryptology. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011: 11-46.

文章目录

  • Secret-Sharing Schemes
    • Access Structure
    • Two Definitions
  • Constructions of SSS
    • Shamir’s Threshold Secret-Sharing Scheme
    • Undirected s-t-Connectivity
    • Ito, Saito, and Nishizeki’s Constructions
    • The Monotone Formulae Construction
    • The Monotone Span Programs Construction
    • Multi-Linear Secret-Sharing Schemes
  • Lower Bounds on the Size of the Shares
  • Appilcation

[Bei11] 做了 SSS 的详细调查,描述了一些构造方法(都是 LSSS),并总结了 shares 规模的下界。

Secret-Sharing Schemes

Access Structure

秘密分享协议(SSS)是定义在某个访问结构上的,由它来控制哪些秘密重构是有效的或者无效的。一般地,人们只考虑 “单调的” 访问结构。

首先,我们定义 Access Structure

在这里插入图片描述

我们说 B ⊆ A B \subseteq \mathcal A BA极大非授权集(maximal unauthorized set),如果添加任意的 p ∈ { p 1 , ⋯ , p n } \ B p \in \{p_1,\cdots,p_n\}\backslash B p{p1,,pn}\B 都会使得 B ∪ { p } B \cup\{p\} B{p} 是授权的。我们说 T ⊆ A T \subseteq \mathcal A TA极小授权集(minimal authorized set),如果任意的子集 T ′ ⊊ T T'\subsetneq T TT 都是非授权的。注意区分极大(maximal)最大(maximum)以及极小(minimal)最小(minimum)。

其次,我们定义 Distribution Scheme

在这里插入图片描述

定义这个分发协议的 information ratio(信息比),
max ⁡ 1 ≤ j ≤ n log ⁡ ∣ K j ∣ log ⁡ ∣ K ∣ \frac{\max_{1\le j\le n} \log |K_j|}{\log |K|} logKmax1jnlogKj
定义这个分发协议的 average information ratio(平均信息比),
∑ j = 1 n log ⁡ ∣ K j ∣ n log ⁡ ∣ K ∣ \frac{\sum_{j=1}^n \log |K_j|}{n\log |K|} nlogKj=1nlogKj
有时候,也使用术语 information rate(信息率)表示它的倒数。英文中,ratio(比)表示分子和分母之间不存在包含关系,rate(率)表示分子已经包含在了分母中。

Two Definitions

现在,我们给出 SSS 的两种定义,它们是等价的,只是在不同场景下的便利性存在区别。

基于概率,定义:

在这里插入图片描述

基于香农熵,定义:

在这里插入图片描述

Constructions of SSS

Shamir’s Threshold Secret-Sharing Scheme

Shamir’s SSS 大约是最著名的方案了,它基于拉格朗日插值。给定 t-out-of-n 访问结构,
A t = { B ⊆ { p 1 , p 2 , ⋯ , p n } : ∣ B ∣ ≥ t } \mathcal A_t = \{B \subseteq \{p_1,p_2,\cdots,p_n\} : |B| \ge t\} At={B{p1,p2,,pn}:Bt}
其中 1 ≤ t ≤ n 1\le t\le n 1tn。注意恰好 t t t 个参数方能否重建秘密,在不同的文章中采用的是不同的。

设置 secrets 以及 shares 的范围是有限域 F q , q > n \mathbb F_q, q > n Fq,q>n,初始配置 α 1 , ⋯ , α n ∈ F q \alpha_1,\cdots,\alpha_n \in \mathbb F_q α1,,αnFq 是不同的非零公开值。某个 dealer 持有秘密 k ∈ F q k \in \mathbb F_q kFq,它随机选择 a 1 , ⋯ , α t − 1 ← F q a_1,\cdots,\alpha_{t-1} \gets \mathbb F_q a1,,αt1Fq,定义次数 t − 1 t-1 t1 的多项式:
P ( x ) = k + ∑ i = 1 t − 1 a i x i P(x) = k + \sum_{i=1}^{t-1} a_i x^i P(x)=k+i=1t1aixi
计算 s j = P ( α j ) s_j = P(\alpha_j) sj=P(αj) 分发给参与者 p j p_j pj

对于某个授权集合 B ∈ A t B \in \mathcal A_t BAt,它们持有至少 t t t 个点值对 ( α j , s j ) (\alpha_j,s_j) (αj,sj)​,使用 Lagrange’s interpolation theorem 容易唯一地恢复出 P ( x ) P(x) P(x)

可以证明 Shamir’s SSS 是完美正确的、完美隐私的。它的 shares 的大小和 secret 大小相同。

Undirected s-t-Connectivity

The s-t connectivity problem for undirected graphs:给定一张无向图 G = ( V , E ) G=(V,E) G=(V,E),确定两个点 s , t ∈ V s,t \in V s,tV 是否位于同一个连通分量(connected component,极大的连通子图)。这个问题是 PPT 可解的。

Benaloh and Rudich 考虑了 m m m 个点的完全图 G = ( V , E ) G=(V,E) G=(V,E),其中 V = { v 1 , ⋯ , v m } V=\{v_1,\cdots,v_m\} V={v1,,vm} 以及 E = { ( v i , v j ) : i < j } E=\{(v_i,v_j): i<j\} E={(vi,vj):i<j}。我们将 n = ( m 2 ) n=\binom{m}2{} n=(2m) 个参与者 p i j p_{ij} pij 关联到各个边,把某个包含从 v 1 v_1 v1 v m v_m vm 路径的边集作为一个授权集,它们的收集是 A u s t c o n \mathcal A_{ustcon} Austcon

设置 secrets 以及 shares 的范围是有限加群 H H H。某个 dealer 持有秘密 k ∈ H k \in H kH,它随机选择 r 2 , ⋯ , r m − 1 ← H r_2,\cdots,r_{m-1} \gets H r2,,rm1H,设置 r 1 = k r_1=k r1=k 以及 r m = 0 r_m=0 rm=0,然后计算 s i j = r j − r i , ∀ i < j s_{ij}=r_j-r_i, \forall i<j sij=rjri,i<j 作为各个参与方的 shares

对于某个授权集合 B ∈ A u s t c o n B \in \mathcal A_{ustcon} BAustcon,它们包含了一条从 v 1 v_1 v1 v m v_m vm 的路径,把这些边对应的 shares 累加起来,
( r 1 − r j ) + ( r j − r i ) + ⋯ + ( r k − r m ) = r 1 − r m = k (r_1-r_j) + (r_j-r_i) + \cdots + (r_k-r_m) = r_1-r_m = k (r1rj)+(rjri)++(rkrm)=r1rm=k
可以证明 Undirected s-t-Connectivity 是完美正确的、完美隐私的。它的 shares 的大小和 secret 大小相同。

Ito, Saito, and Nishizeki’s Constructions

Ito, Saito, and Nishizeki 定义了 SSS for general access

structures,并给出了 SSS for every monotone access structures 的一种构造方法。

设置 secrets 的范围是布尔值 { 0 , 1 } \{0,1\} {0,1}。某个 dealer 持有秘密 k ∈ { 0 , 1 } k \in \{0,1\} k{0,1},对于任意的单调访问结构 A \mathcal A A 中的每一个授权集 B = { p i 1 , ⋯ , p i l } B=\{p_{i_1},\cdots,p_{i_l}\} B={pi1,,pil}

  1. 随机选择 r 1 , ⋯ , r l − 1 ← { 0 , 1 } r_1,\cdots,r_{l-1} \gets \{0,1\} r1,,rl1{0,1},计算 r l = k ⊕ r 1 ⊕ ⋯ ⊕ r l − 1 r_l = k \oplus r_1 \oplus \cdots \oplus r_{l-1} rl=kr1rl1
  2. r j r_j rj 分发给 p i j ∈ B p_{i_j} \in B pijB,参与方将这些 shares 按照 B ∈ A B \in \mathcal A BA 组织起来

对于某个授权集合 B ∈ A B \in \mathcal A BA,参与者取出它索引的 r j r_j rj,计算
r 1 ⊕ ⋯ ⊕ r l − 1 ⊕ r l = k r_1 \oplus \cdots \oplus r_{l-1} \oplus r_l = k r1rl1rl=k
可以证明这个 SSS for every monotone access structures 是完美正确的、完美隐私的。某个参与者的 share 大小是它位于 A \mathcal A A 中多少个授权集内。一种简单的优化是:dealer 只对访问结构中的 minimal authorized sets 分发秘密,此时某个参与者的 share 大小是它位于 A \mathcal A A 中多少个极小授权集内。

对于 n / 2 n/2 n/2-out-of- n n n 访问结构(它是单调的),每个参与者都持有 ( n − 1 n / 2 − 1 ) = Θ ( 2 n / n ) \binom{n-1}{n/2-1}=\Theta(2^n/\sqrt n) (n/21n1)=Θ(2n/n ) 比特的 share,指数长(这比 Shamir’s SSS 差得多)。换句话说,只有一小部分的单调访问结构是可以被高效处理的(efficiently realize a family of access structures)。

The Monotone Formulae Construction

Benaloh and Leichter 推广了 Ito, Saito, and Nishizeki’s Constructions,他们基于 monotone formulae(单调公式)构造了 SSS。这所谓的单调公式是指 a formula with OR and AND gates without negations and without negated variables

为了高效地描述 access structure,他们将它视为一个布尔函数:

  • 给定某集合 B ⊆ { p 1 , ⋯ , p n } B \subseteq \{p_1,\cdots,p_n\} B{p1,,pn},它的 characteristic vector 是 v B ∈ { 0 , 1 } n v_B \in \{0,1\}^n vB{0,1}n 满足 v B [ j ] = 1 ⟺ p j ∈ B v_B[j]=1 \iff p_j \in B vB[j]=1pjB
  • 给定任意的访问结构 A \mathcal A A,定义布尔函数 f A : { 0 , 1 } n → { 0 , 1 } f_{\mathcal A}: \{0,1\}^n \to \{0,1\} fA:{0,1}n{0,1},满足 f A ( v B ) = 1 ⟺ B ∈ A f_{\mathcal A}(v_B)=1 \iff B \in \mathcal A fA(vB)=1BA
  • 由于访问结构 A \mathcal A A 是单调的,因此 f A f_\mathcal A fA 是一个单调公式

为了消除访问结构中的 redundant parties(那些不属于任何一个 minimal authorized sets 的参与者),他们递归地把两个较小的访问结构上的 SSS 组合起来。首先,给定两个访问结构 A 1 , A 2 \mathcal A_1, \mathcal A_2 A1,A2,我们定义:

  • 访问结构 A 1 ∨ A 2 = { B : ( B ∈ A 1 ) ∨ ( B ∈ A 2 ) } \mathcal A_1 \vee \mathcal A_2 = \{B: (B \in \mathcal A_1) \vee (B \in \mathcal A_2)\} A1A2={B:(BA1)(BA2)}

  • 访问结构 A 1 ∧ A 2 = { B : ( B ∈ A 1 ) ∧ ( B ∈ A 2 ) } \mathcal A_1 \wedge \mathcal A_2 = \{B: (B \in \mathcal A_1) \wedge (B \in \mathcal A_2)\} A1A2={B:(BA1)(BA2)}

  • 给定单调公式 f A 1 , f A 2 f_{\mathcal A_1}, f_{\mathcal A_2} fA1,fA2,容易验证 f A 1 ∨ A 2 = f A 1 ∨ f A 2 f_{\mathcal A_1 \vee \mathcal A_2} = f_{\mathcal A_1} \vee f_{\mathcal A_2} fA1A2=fA1fA2 以及 f A 1 ∧ A 2 = f A 1 ∧ f A 2 f_{\mathcal A_1 \wedge \mathcal A_2} = f_{\mathcal A_1} \wedge f_{\mathcal A_2} fA1A2=fA1fA2

现在,我们假设已经存在了两个 SSS 协议 Σ i \Sigma_i Σi 分别关于 A i \mathcal A_i Ai,假设 secret 范围是加群 K = Z m K=\mathbb Z_m K=Zm,各个参与者的 shares 范围分别是 K a i j K^{a_{ij}} Kaij,这里 a i j a_{ij} aij 是维度, i ∈ { 1 , 2 } i \in \{1,2\} i{1,2} 指示的哪个 SSS, j ∈ [ n ] j \in [n] j[n] 指示的哪个 party,定义 a j = a 1 , j + a 2 , j a_j = a_{1,j}+a_{2,j} aj=a1,j+a2,j

某个 dealer 持有秘密 k ∈ K k \in K kK,它根据两个协议 Σ i \Sigma_i Σi 去构造新的 SSS 协议,

  1. 构造 A 1 ∨ A 2 \mathcal A_1 \vee \mathcal A_2 A1A2 的 SSS 协议:独立地使用 Σ i \Sigma_i Σi 分发 k k k,此时参与者的 shares 范围是 K a j K^{a_j} Kaj。重构过程是平凡的。
  2. 构造 A 1 ∧ A 2 \mathcal A_1 \wedge \mathcal A_2 A1A2 的 SSS 协议:随机选择 k 1 ← K k_1 \gets K k1K,计算 k 2 = k − k 1 ( m o d m ) k_2 = k-k_1 \pmod{m} k2=kk1(modm),分别使用 Σ i \Sigma_i Σi 分发 k i k_i ki,此时参与者的 shares 范围是 K a j K^{a_j} Kaj。重构过程中,首先分别重构 k 1 , k 2 k_1,k_2 k1,k2,然后再计算 k = k 1 + k 2 ( m o d m ) k=k_1+k_2 \pmod{m} k=k1+k2(modm)
  3. 某个授权集 B ∈ A B \in \mathcal A BA 的最基本 SSS 协议:可以使用 Ito, Saito, and Nishizeki’s Constructions

可以证明这个 SSS 是完美正确的、完美隐私的。虽然 Benaloh and Leichter’s Constructions 可以高效地处理比 Ito, Saito, and Nishizeki’s Constructions 所能高效处理的 mauch richer 的族,但是大多数的访问结构族所对应的单调公式都是指数长的,因此 shares 也是指数大的。

The Monotone Span Programs Construction

上述的四种构造全都是线性的,也就是分发协议 Σ = ⟨ Π , μ ⟩ \Sigma=\langle\Pi,\mu\rangle Σ=Π,μ 是一个线性映射,这被称为 Linear Secret-Sharing Scheme(LSSS)。

Karchmer and Wigderson 使用 Monotone Span Program(单调张成程序,MSP)来表述 LSSS,

在这里插入图片描述

根据 Monotone Span Program 可以构造出 LSSS,

在这里插入图片描述

具体的构造方式为:

在这里插入图片描述

也就是说,任意的 LSSS 都是把 secret 以及一些 random 组成的向量乘以某一个矩阵(使得 MSP 计算 access structure 对应的单调公式),再将得到的向量的各个分量作为 shares,按照对应的标签分发给不同的参与方。后续人们证明了 Monotone Span Program 以及 LSSS 其实是等价的

Multi-Linear Secret-Sharing Schemes

上述的 LSSS 以及 Monotone Span Program 分发的是单个秘密,可以将它们推广到多个秘密,具有更好的信息比(但是 shares 规模会增大一些)。

首先定义 Multi-Target 版本的单调张成程序:

在这里插入图片描述

然后用它来构造 Multi-Linear SSS 协议,具体的构造和 LSSS 的完全一样。

在这里插入图片描述

Lower Bounds on the Size of the Shares

我们将某个参与者称为 non-redundant party,如果它出现在了至少一个极小授权集内。Karnin 等人证明了每一个非冗余参与者 p j p_j pj 它们的 shares 的熵至少是 secret 的熵,即 H ( S j ) ≥ H ( S ) H(S_j) \ge H(S) H(Sj)H(S)。那么可以得到一个较弱的下界:

在这里插入图片描述

Csirmaz’s Lower Bound 给出了信息比的更强下界,

在这里插入图片描述

对于 LSSS,总存在某个访问结构,使得信息比是指数大的,

在这里插入图片描述

Appilcation

[CDM00] 证明了:基于任意的 LSSS 都可以构建出 verifiable secret sharing(VSS)以及 secure multi-party computation(MPC)

[GPSW06] 证明了:假如存在一个实现某访问结构的 LSSS,那么就可以构建出 Key-Policy Attribute Based Encryption(KP-ABE)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/4098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【探索Java编程:从入门到入狱】Day2

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

js[黑马笔记]

js基础 基础语法 输入输出 变量 数组 常量 数据类型 类型转换 运算符 语句 数组 函数 调用方式 函数名() 匿名函数 使用: 1.函数表达式 2.立即执行函数 对象 内置对象 web API DOM document object Model元素操作 获取元素 设置元素 定时器 DOM事件基础 事件监听 事件类…

流量网关与服务网关的区别:(面试题,掌握)

流量网关&#xff1a;&#xff08;如Nignx&#xff0c;OpenResty&#xff0c;Kong&#xff09;是指提供全局性的、与后端业务应用无关的策略&#xff0c;例如 HTTPS证书认证、Web防火墙、全局流量监控&#xff0c;黑白名单等。 服务网关&#xff1a;&#xff08;如Spring Clou…

含匹配扰动的多智能体领航跟随一致性Matlab仿真

文章目录 [TOC](文章目录) 前言一、问题描述二、基于LQR的观测器和控制器设计1.观测器设计2.控制器设计 三、数值仿真四、参考文献总结 前言 ​本文探讨了带有匹配扰动的多智能体领航跟随一致性控制方法&#xff0c;并提供了相应的Matlab仿真代码。 具体的设计步骤如下&#…

大数据—数据采集DataX

一、DataX介绍 官网&#xff1a; DataX/introduction.md at master alibaba/DataX GitHub DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、…

【算法刷题 | 贪心算法02】4.24(摆动序列)

文章目录 3.摆动序列3.1题目3.2解法&#xff1a;贪心3.2.1贪心思路3.2.2代码实现 3.摆动序列 3.1题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。 第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素…

WPF 资源基础

动态资源/静态资源 UI代码 <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/ex…

太速科技-基于6 U VPX M.2 高带宽加固存储板

基于6 U VPX M.2 高带宽加固存储板 一、板卡概述 基于6 U VPX M.2 高带宽加固存储板&#xff0c;可以实现VPX接口的数据读写到PCI-E总线的NVME存储媒介上。采用PLX8732&#xff0c;上行链路提供带宽x16的PCI-E数据到VPX接口上&#xff1b;下行链路提供3路带宽x4的PCI-E接口…

Unity打包PC端exe,压缩打包为一个exe文件

目录 一.打包成功 1.打包输出文件 二.压缩输出目录为exe单个文件 1.添加到压缩文件 2.其他设置 1.点击“高级→自压缩选项” 2.修改解压后运行程序 3.设置模式 4.更新 三、生成.exe 一.打包成功 1.打包输出文件 1、一个后缀为 BurstDebugInformation_DoNotShip的文…

Android 12 Starting window的添加与移除

添加&#xff1a; 04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.StartingSurfaceController.createSplashScreenStartingSurface(StartingSurfaceController.java:87) 04-13 16:29:55.931 2944 7259 D jinyanmeistart: at com.android.server.wm.…

ios不兼容Svg Wave的动画的解决方法

近日也是用上了SvgWave&#xff0c;十分的好看 Svg Wave - A free & beautiful gradient SVG wave Generator. 大家感兴趣的也可以了解一下 【场景】 使用SvgWave的Animate&#xff0c;并生成svg代码使用&#xff0c;windows web端、朋友的安卓移动端都能够正常执行动画…

前端CSS基础10(浮动)

前端CSS基础10&#xff08;浮动&#xff09; 浮动元素浮动后的特点浮动后的特点浮动后的影响及解决 浮动布局小练习 浮动 CSS中的浮动是一种布局技术&#xff0c;常用于实现元素的排列和定位。通过使用float属性&#xff0c;可以让元素在页面中左浮动或右浮动&#xff0c;使得…

在PostgreSQL中如何有效地批量导入大量数据,并确保数据加载过程中的性能和稳定性?

文章目录 解决方案1. 使用COPY命令2. 调整配置参数3. 禁用索引和约束4. 使用事务5. 并发导入 总结 在PostgreSQL中&#xff0c;批量导入大量数据是一个常见的需求&#xff0c;特别是在数据迁移、数据仓库填充或大数据分析等场景中。为了确保数据加载过程中的性能和稳定性&#…

Compose和Android View相互使用

文章目录 Compose和Android View相互使用在Compose中使用View概述简单控件复杂控件嵌入XML布局 在View中使用Compose概述在Activity中使用Compose在Fragment中使用Compose布局使用多个ComposeView 在布局中使用Compose 组合使用 Compose和Android View相互使用 在Compose中使用…

AIGC - SD(中英文本生成图片) + PaddleHub/HuggingFace + stable-diffusion-webui

功能 stable-diffusion(文本生成图片)webui-win搭建&#xff08;开启api界面汉化&#xff09;PaddleHubHuggingFace: SD2&#xff0c;中文-alibaba/EasyNLP stable-diffusion-webui 下载与安装 环境相关下载 python&#xff08;文档推荐&#xff1a;Install Python 3.10.6 …

linux开发板开机启动向日葵

硬件&#xff1a;orangepi 5 pro 操作系统&#xff1a;ubuntu 20.4 lts 安装向日葵 根据我的实测&#xff0c;arm架构的ubuntu系统只能安装向日葵提供的麒麟系统的那个版本&#xff0c;具体安装方式官网下载页面有 允许任意用户连接到 X11 使用root用户登录后打开终端输入一下…

react函数组件传值(父子/子父/兄弟)

父子组件传值 子父组件传值 兄弟组件传值 注&#xff1a;本人前端小白 &#xff0c;如有不对的地方还请多多指教

knife4j swagger 使用笔记

1.接口访问的端口跟后台设置的不一致&#xff0c;接口请求无反应 处理办法 2.响应参数不显示问题 &#xff08;1&#xff09;返回的参数里面一定要有响应的参数对象&#xff0c;如下&#xff1a; &#xff08;2&#xff09;TableDataInfo 定义成泛型类 TableDataInfo package…

ros2 node 之间的通信方式之 —— Topic通信案例

文章目录 ros2 node 之间的通信方式之 Topic通信Topic 通信案例1、创建工作空间2、创建功能包3、编写发布者和订阅者代码3.1 topic_helloworld_pub.cpp3.2 topic_helloworld_sub.cpp 4、编写CMakeLists.txt5、编译工作空间下的功能包6、运行结果 ros2 node 之间的通信方式之 To…

AutoGPT-Forge使用教程,自行构建agent智能体

本博客给出AutoGPT-forge四个教程的翻译与理解&#xff0c;使用GPT4翻译&#xff0c; 参考官方教程https://aiedge.medium.com/autogpt-forge-a-comprehensive-guide-to-your-first-steps-a1dfdf46e3b4 使用AutoGPT Github代码日期2024/4/22&#xff1b; 博客开始编辑日期20…