1
dallaslu 2021-03-25 15:59:44 +08:00
第一反应是 PGP 。但是,为防止有人想空手套白狼,应该走两个担保交易
|
2
momocraft 2021-03-25 16:00:27 +08:00
缺乏信任 即使原样拿到了有什么用
你是想说缺乏可信任信道吗 |
3
miaeLKK 2021-03-25 16:00:51 +08:00 via Android
简单的用 DES,复杂的加上 RAS 。
|
4
kop1989 2021-03-25 16:01:36 +08:00
风险指代什么?怕一方交出来之后另外一方爽约?还是怕交换渠道上有人窃听?还是怕一方说的是假情报?
这三者是完全不同维度的解决方案。 |
6
Tumblr 2021-03-25 16:05:15 +08:00
|
7
eason1874 2021-03-25 16:09:05 +08:00
怕窃听就用非对称加密,比如 RSA 。本地生成公钥私钥,分别把自己的公钥发给对方,私钥在自己手里,始终没经过网络,对方用公钥加密了发过来,没大规模超算不可能破解密文。
怕对方骗你,就只能一点一点交换,确认一部分有效,再继续交换。 这种东西找第三方没用啊,第三方不太可能知道双方情报内容的可信度。 |
8
Vegetable 2021-03-25 16:24:36 +08:00
亲这边建议采用支付宝担保交易呢
|
9
Aksura 2021-03-25 17:36:50 +08:00
双方公开自己的公钥,然后用对方的公钥加密发给对方不就完了?
|
10
yhxx 2021-03-25 17:57:35 +08:00
怕爽约那不就是支付宝。。。
|
12
chenyu8674 2021-03-25 19:02:19 +08:00
关键问题是能如何保证情报本身可靠
假如我可以做出让对方不知道是假情报的假情报,怎么换不都没意义 |
13
swulling 2021-03-25 19:08:31 +08:00
这不就是第三方担保支付么,双方把信息都交给第三方保管,第三方收到双方信息后分发。
但是如果不想引入信任的第三方,那么就使用智能合约。目前智能合约可以做到图灵完备,所以可以将信息检查的工作编码入智能合约,这样就可以方便的交换信息了。 |
14
hxy100 2021-03-25 19:14:59 +08:00 1
要防止对方坑你,这个无解,因为你无法立即验证情报是否是真实的,我编一段故事分段发给你,你程序能验证真伪不?顶多只能验证多段消息连成的句子通顺与否吧,所以这种问题不是计算机能解决的,问题的关键还是在于人自身。
|
15
Mohanson 2021-03-25 19:15:50 +08:00
零知识证明.
|
16
LongBitcoin 2021-03-25 19:21:22 +08:00
零知识证明
|
17
niubee1 2021-03-25 22:22:17 +08:00
你怎么保证对方不会修改了你的程序再运行呢?
|
18
Jooooooooo 2021-03-25 22:24:54 +08:00
不要自己发明加密算法
|
19
huayumo 2021-03-26 08:14:29 +08:00
这玩意就像吸铁石,两个极不会相吸,你放一块铁在中间,两级都能吸了
|
20
SaberAlter 2021-03-26 10:01:08 +08:00
@Aksura 不行,无法确保对方会用自己的公钥加密。
|
21
light010 2021-03-26 10:19:24 +08:00
数字签名
|
22
ksc010 OP @hxy100 程序到是可以全程(远程直播啥的方式)监控保证代码不被修改
另外这里要交换的情报是可以通过代码验证的(当做一个设定) |
23
sillydaddy 2021-03-26 20:37:55 +08:00 via Android 1
感谢提出这么好的问题!一个感谢敬上。
搜了下发现相关的主题叫做"Fair Exchange",直译就是“公平交换”。 很有意思的密码学问题。大概看了下,发现目前的方案好像跟你说的差不多,都是通过逐段发送密钥的方式,这样在双方有一方反悔停发时,两人都处于相似的处境,比如都拥有了一半的密钥,要么都解密不了密文,要么都要花相近的计算量暴力破解密文,而率先终止交易也就是说多接收了一段密钥的那个人,最多也只比另外一方稍占优势而已。 还没仔细研究所以只能卖弄这么多,楼主你还是看下研究论文吧。 |
24
lymith 2021-03-27 20:07:57 +08:00
第三方+随机+分段显示
|