src/HOL/Auth/NS_Public.thy
changeset 3465 e85c24717cad
parent 2549 0c723635b9e6
child 3466 30791e5a69c4
equal deleted inserted replaced
3464:315694e22856 3465:e85c24717cad
    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