diff -r e53457213857 -r 7e4bffaa2a3e src/HOL/Auth/Yahalom.thy --- a/src/HOL/Auth/Yahalom.thy Wed Mar 10 10:42:40 1999 +0100 +++ b/src/HOL/Auth/Yahalom.thy Wed Mar 10 10:42:57 1999 +0100 @@ -21,17 +21,21 @@ (*The spy MAY say anything he CAN say. We do not expect him to invent new nonces here, but he can also use NS1. Common to all similar protocols.*) - Fake "[| evs: yahalom; X: synth (analz (spies evs)) |] + Fake "[| evs: yahalom; X: synth (analz (knows Spy evs)) |] ==> Says Spy B X # evs : yahalom" + (*A message that has been sent can be received by the + intended recipient.*) + Reception "[| evsr: yahalom; Says A B X : set evsr |] + ==> Gets B X # evsr : yahalom" + (*Alice initiates a protocol run*) YM1 "[| evs1: yahalom; Nonce NA ~: used evs1 |] ==> Says A B {|Agent A, Nonce NA|} # evs1 : yahalom" - (*Bob's response to Alice's message. Bob doesn't know who - the sender is, hence the A' in the sender field.*) + (*Bob's response to Alice's message.*) YM2 "[| evs2: yahalom; Nonce NB ~: used evs2; - Says A' B {|Agent A, Nonce NA|} : set evs2 |] + Gets B {|Agent A, Nonce NA|} : set evs2 |] ==> Says B Server {|Agent B, Crypt (shrK B) {|Agent A, Nonce NA, Nonce NB|}|} # evs2 : yahalom" @@ -39,7 +43,7 @@ (*The Server receives Bob's message. He responds by sending a new session key to Alice, with a packet for forwarding to Bob.*) YM3 "[| evs3: yahalom; Key KAB ~: used evs3; - Says B' Server + Gets Server {|Agent B, Crypt (shrK B) {|Agent A, Nonce NA, Nonce NB|}|} : set evs3 |] ==> Says Server A @@ -51,8 +55,8 @@ uses the new session key to send Bob his Nonce. The premise A ~= Server is needed to prove Says_Server_not_range.*) YM4 "[| evs4: yahalom; A ~= Server; - Says S A {|Crypt (shrK A) {|Agent B, Key K, Nonce NA, Nonce NB|}, - X|} : set evs4; + Gets A {|Crypt(shrK A) {|Agent B, Key K, Nonce NA, Nonce NB|}, X|} + : set evs4; Says A B {|Agent A, Nonce NA|} : set evs4 |] ==> Says A B {|X, Crypt K (Nonce NB)|} # evs4 : yahalom"