equal
deleted
inserted
replaced
30 # evs : ns_public" |
30 # evs : ns_public" |
31 |
31 |
32 (*Bob responds to Alice's message with a further nonce*) |
32 (*Bob responds to Alice's message with a further nonce*) |
33 NS2 "[| evs: ns_public; A ~= B; Nonce NB ~: used evs; |
33 NS2 "[| evs: ns_public; A ~= B; Nonce NB ~: used evs; |
34 Says A' B (Crypt (pubK B) {|Nonce NA, Agent A|}) |
34 Says A' B (Crypt (pubK B) {|Nonce NA, Agent A|}) |
35 : set_of_list evs |] |
35 : set evs |] |
36 ==> Says B A (Crypt (pubK A) {|Nonce NA, Nonce NB, Agent B|}) |
36 ==> Says B A (Crypt (pubK A) {|Nonce NA, Nonce NB, Agent B|}) |
37 # evs : ns_public" |
37 # evs : ns_public" |
38 |
38 |
39 (*Alice proves her existence by sending NB back to Bob.*) |
39 (*Alice proves her existence by sending NB back to Bob.*) |
40 NS3 "[| evs: ns_public; A ~= B; |
40 NS3 "[| evs: ns_public; A ~= B; |
41 Says A B (Crypt (pubK B) {|Nonce NA, Agent A|}) |
41 Says A B (Crypt (pubK B) {|Nonce NA, Agent A|}) : set evs; |
42 : set_of_list evs; |
|
43 Says B' A (Crypt (pubK A) {|Nonce NA, Nonce NB, Agent B|}) |
42 Says B' A (Crypt (pubK A) {|Nonce NA, Nonce NB, Agent B|}) |
44 : set_of_list evs |] |
43 : set evs |] |
45 ==> Says A B (Crypt (pubK B) (Nonce NB)) # evs : ns_public" |
44 ==> Says A B (Crypt (pubK B) (Nonce NB)) # evs : ns_public" |
46 |
45 |
47 (**Oops message??**) |
46 (**Oops message??**) |
48 |
47 |
49 rules |
48 rules |