比如 A,B 两个人在网络上认识但是缺乏信任
他们各自有一个对方需要的情报(秘密)这个情报很短 比如 100 个字符就能描述清楚
这种情况下 怎么才能安全的交换这个情报呢?
ps:这个情报不希望有第三方知道
他们各自有一个对方需要的情报(秘密)这个情报很短 比如 100 个字符就能描述清楚
这种情况下 怎么才能安全的交换这个情报呢?
ps:这个情报不希望有第三方知道
|
dallasluMar 25, 2021
1
第一反应是 PGP 。但是,为防止有人想空手套白狼,应该走两个担保交易
|
|
momocraftMar 25, 2021
2
缺乏信任 即使原样拿到了有什么用
你是想说缺乏可信任信道吗 |
|
miaeLKKMar 25, 2021 via Android
3
简单的用 DES,复杂的加上 RAS 。
|
|
kop1989Mar 25, 2021
4
风险指代什么?怕一方交出来之后另外一方爽约?还是怕交换渠道上有人窃听?还是怕一方说的是假情报?
这三者是完全不同维度的解决方案。 |
|
TumblrMar 25, 2021
6
|
|
eason1874Mar 25, 2021
7
怕窃听就用非对称加密,比如 RSA 。本地生成公钥私钥,分别把自己的公钥发给对方,私钥在自己手里,始终没经过网络,对方用公钥加密了发过来,没大规模超算不可能破解密文。
怕对方骗你,就只能一点一点交换,确认一部分有效,再继续交换。 这种东西找第三方没用啊,第三方不太可能知道双方情报内容的可信度。 |
|
VegetableMar 25, 2021
8
亲这边建议采用支付宝担保交易呢
|
|
AksuraMar 25, 2021
9
双方公开自己的公钥,然后用对方的公钥加密发给对方不就完了?
|
|
yhxxMar 25, 2021
10
怕爽约那不就是支付宝。。。
|
|
chenyu8674Mar 25, 2021
12
关键问题是能如何保证情报本身可靠
假如我可以做出让对方不知道是假情报的假情报,怎么换不都没意义 |
|
swullingMar 25, 2021
13
这不就是第三方担保支付么,双方把信息都交给第三方保管,第三方收到双方信息后分发。
但是如果不想引入信任的第三方,那么就使用智能合约。目前智能合约可以做到图灵完备,所以可以将信息检查的工作编码入智能合约,这样就可以方便的交换信息了。 |
|
14
要防止对方坑你,这个无解,因为你无法立即验证情报是否是真实的,我编一段故事分段发给你,你程序能验证真伪不?顶多只能验证多段消息连成的句子通顺与否吧,所以这种问题不是计算机能解决的,问题的关键还是在于人自身。
|
|
MohansonMar 25, 2021
15
零知识证明.
|
|
LongBitcoinMar 25, 2021
16
零知识证明
|
|
niubee1Mar 25, 2021
17
你怎么保证对方不会修改了你的程序再运行呢?
|
|
JoooooooooMar 25, 2021
18
不要自己发明加密算法
|
|
huayumoMar 26, 2021
19
这玩意就像吸铁石,两个极不会相吸,你放一块铁在中间,两级都能吸了
|
|
SaberAlterMar 26, 2021
20
@Aksura 不行,无法确保对方会用自己的公钥加密。
|
|
light010Mar 26, 2021
21
数字签名
|
|
23
感谢提出这么好的问题!一个感谢敬上。
搜了下发现相关的主题叫做"Fair Exchange",直译就是“公平交换”。 很有意思的密码学问题。大概看了下,发现目前的方案好像跟你说的差不多,都是通过逐段发送密钥的方式,这样在双方有一方反悔停发时,两人都处于相似的处境,比如都拥有了一半的密钥,要么都解密不了密文,要么都要花相近的计算量暴力破解密文,而率先终止交易也就是说多接收了一段密钥的那个人,最多也只比另外一方稍占优势而已。 还没仔细研究所以只能卖弄这么多,楼主你还是看下研究论文吧。 |
|
XQUX9al72490iGLhMar 27, 2021
24
第三方+随机+分段显示
|