缺乏信任关系的两个人如何安全的交换情报 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ksc010
V2EX    问与答

缺乏信任关系的两个人如何安全的交换情报

  •  
  •   ksc010 2021-03-25 15:57:18 +08:00 2665 次点击
    这是一个创建于 1664 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如 A,B 两个人在网络上认识但是缺乏信任
    他们各自有一个对方需要的情报(秘密)这个情报很短 比如 100 个字符就能描述清楚
    这种情况下 怎么才能安全的交换这个情报呢?
    ps:这个情报不希望有第三方知道
    第 1 条附言    2021-03-25 17:55:38 +08:00
    有个初步思路
    1. 我编写一段开源的代码程序,在发给对方
    2. 对方运行这段程序,这个程序可以将对方的“情报”进行校验并返回加密后的“加密情报”以及“验证码”;
    3. 这个加密情报智能通过秘钥来解密,程序和验证码可以保定加密情报里面的信息是我需要的
    同时又可以验证下面的“秘钥”的正确性
    4. 对方将"加密情报"和验证码发给我
    5. 同样我也将 “加密情报 B”和“验证码 B”发给对方
    6. 接下来就是交换各自的秘钥(比如是 10 位字符,这样就轮流发给对方)
    7. 当然要设定一种机制,使生成的这个秘钥每一位都可以校验

    --------------
    随便想的可能有漏洞,也可能不具有可行性
    24 条回复    2021-03-27 20:07:57 +08:00
    dallaslu
        1
    dallaslu  
       2021-03-25 15:59:44 +08:00
    第一反应是 PGP 。但是,为防止有人想空手套白狼,应该走两个担保交易
    momocraft
        2
    momocraft  
       2021-03-25 16:00:27 +08:00
    缺乏信任 即使原样拿到了有什么用

    你是想说缺乏可信任信道吗
    miaeLKK
        3
    miaeLKK  
       2021-03-25 16:00:51 +08:00 via Android
    简单的用 DES,复杂的加上 RAS 。
    kop1989
        4
    kop1989  
       2021-03-25 16:01:36 +08:00
    风险指代什么?怕一方交出来之后另外一方爽约?还是怕交换渠道上有人窃听?还是怕一方说的是假情报?
    这三者是完全不同维度的解决方案。
    ksc010
        5
    ksc010  
    OP
       2021-03-25 16:02:30 +08:00
    @kop1989 怕爽约
    Tumblr
        6
    Tumblr  
       2021-03-25 16:05:15 +08:00
    A 和 B 相互不信任
    A 和 B 需要交换信息

    这不是个典型的第三方介入的交易场景么。。。

    /go/all4all, 走闲鱼
    eason1874
        7
    eason1874  
       2021-03-25 16:09:05 +08:00
    怕窃听就用非对称加密,比如 RSA 。本地生成公钥私钥,分别把自己的公钥发给对方,私钥在自己手里,始终没经过网络,对方用公钥加密了发过来,没大规模超算不可能破解密文。

    怕对方骗你,就只能一点一点交换,确认一部分有效,再继续交换。

    这种东西找第三方没用啊,第三方不太可能知道双方情报内容的可信度。
    Vegetable
        8
    Vegetable  
       2021-03-25 16:24:36 +08:00
    亲这边建议采用支付宝担保交易呢
    Aksura
        9
    Aksura  
       2021-03-25 17:36:50 +08:00
    双方公开自己的公钥,然后用对方的公钥加密发给对方不就完了?
    yhxx
        10
    yhxx  
       2021-03-25 17:57:35 +08:00
    怕爽约那不就是支付宝。。。
    ksc010
        11
    ksc010  
    OP
       2021-03-25 18:01:15 +08:00
    @yhxx
    @Vegetable 是要交换信息 不是买卖东西
    chenyu8674
        12
    chenyu8674  
       2021-03-25 19:02:19 +08:00
    关键问题是能如何保证情报本身可靠
    假如我可以做出让对方不知道是假情报的假情报,怎么换不都没意义
    swulling
        13
    swulling  
       2021-03-25 19:08:31 +08:00
    这不就是第三方担保支付么,双方把信息都交给第三方保管,第三方收到双方信息后分发。

    但是如果不想引入信任的第三方,那么就使用智能合约。目前智能合约可以做到图灵完备,所以可以将信息检查的工作编码入智能合约,这样就可以方便的交换信息了。
    hxy100
        14
    hxy100  
       2021-03-25 19:14:59 +08:00   1
    要防止对方坑你,这个无解,因为你无法立即验证情报是否是真实的,我编一段故事分段发给你,你程序能验证真伪不?顶多只能验证多段消息连成的句子通顺与否吧,所以这种问题不是计算机能解决的,问题的关键还是在于人自身。
    Mohanson
        15
    Mohanson  
       2021-03-25 19:15:50 +08:00
    零知识证明.
    LongBitcoin
        16
    LongBitcoin  
       2021-03-25 19:21:22 +08:00
    零知识证明
    niubee1
        17
    niubee1  
       2021-03-25 22:22:17 +08:00
    你怎么保证对方不会修改了你的程序再运行呢?
    Jooooooooo
        18
    Jooooooooo  
       2021-03-25 22:24:54 +08:00
    不要自己发明加密算法
    huayumo
        19
    huayumo  
       2021-03-26 08:14:29 +08:00
    这玩意就像吸铁石,两个极不会相吸,你放一块铁在中间,两级都能吸了
    SaberAlter
        20
    SaberAlter  
       2021-03-26 10:01:08 +08:00
    @Aksura 不行,无法确保对方会用自己的公钥加密。
    light010
        21
    light010  
       2021-03-26 10:19:24 +08:00
    数字签名
    ksc010
        22
    ksc010  
    OP
       2021-03-26 11:39:21 +08:00
    @hxy100 程序到是可以全程(远程直播啥的方式)监控保证代码不被修改
    另外这里要交换的情报是可以通过代码验证的(当做一个设定)
    sillydaddy
        23
    sillydaddy  
       2021-03-26 20:37:55 +08:00 via Android   1
    感谢提出这么好的问题!一个感谢敬上。
    搜了下发现相关的主题叫做"Fair Exchange",直译就是“公平交换”。

    很有意思的密码学问题。大概看了下,发现目前的方案好像跟你说的差不多,都是通过逐段发送密钥的方式,这样在双方有一方反悔停发时,两人都处于相似的处境,比如都拥有了一半的密钥,要么都解密不了密文,要么都要花相近的计算量暴力破解密文,而率先终止交易也就是说多接收了一段密钥的那个人,最多也只比另外一方稍占优势而已。

    还没仔细研究所以只能卖弄这么多,楼主你还是看下研究论文吧。
    XQUX9al72490iGLh
        24
    XQUX9al72490iGLh  
       2021-03-27 20:07:57 +08:00
    第三方+随机+分段显示
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3613 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 10:34 PVG 18:34 LAX 03:34 JFK 06:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86