假设Alice要把一条消息送给Bob,但如果没有签名的收条,她就不让他读出。
(1)Alice用一个随机的DES密钥加密她的消息,并把它发送给Bob。
(2)Alice产生n对DES密钥。每对密钥的第一个密钥是随机产生的;每对密钥的第二个密钥是第一个密钥和消息加密密钥的异或。
(3)Alice用她的2n个密钥的每一个加密一份假消息。
(4)Alice把所有加密消息都发送给Bob,保证他知道哪些消息是哪一对的哪一半。
(5)Bob产生n对随机DES密钥。
(6)Bob产生一对指明一个有效收条的消息。比较好的消息可以是“这是我收条的左半”和“这是我收条的右半”,再附加上某种类型的随机比特串。他做了n个收条对,每个都编上号。如同先前的协议一样,如果Alice能产生一个收条的两半(编号相同)和她的所有加密密钥,这个收条被认为是有效的。
(7)Bob用DES密钥对加密他的每一对消息,第i份消息用第i个密钥,左半消息用密钥对中的左密钥,右半消息用密钥对中的右密钥。
(8)Bob把他的消息对发送给Alice,保证Alice知道哪些消息是哪一对的哪一半。(www.daowen.com)
(9)Alice和Bob利用不经意传输协议发送给对方每个密钥对。那就是说,对n对中的每一对而言,Alice或者送给Bob用来加密左半消息的密钥,或者送给Bob用来加密右半消息的密钥。Bob也同样这么做。他们可以或者交替传送这些一半,或者一方发送n个,然后另一方再发送n个,这都没有关系。现在Alice和Bob都有了每个密钥对中的一个密钥,但是都不知道对方有哪些一半。
(10)Alice和Bob都解密他们能解的那些一半,并保证解密消息是有效的。
(11)Alice和Bob送给对方所有2n个DES密钥中的第一个比特(如果他们担心窃听者可能会读到这个邮件消息,那么他们应当对相互的传输加密),并验证正确性。
(12)Alice和Bob对所有2n个DES密钥中的第二比特、第三比特都重复第(11)步,如此继续下去,直到所有DES密钥的所有比特都传送完。
(13)Alice和Bob解密消息对中的余下一半。Alice有了一张来自Bob的有效收条,而Bob能异或任一密钥对以得到原始消息加密密钥。
(14)Alice和Bob交换在不经意传输协议期间使用的私钥,同时每一方验证另一方没有进行欺骗。
Bob的第(5)至第(8)步和Alice和Bob的第(9)至第(12)步都和签约协议相同。Alice的假消息用于第(10)步中Bob检查Alice的不经意传输的有效性。这可以迫使Alice在第(11)至第(13)步期间保持诚实。并且与同时签约协议一样,完成协议要求Alice的一个消息对的左右两半。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。