src/Doc/Tutorial/Protocol/Public.thy
changeset 69505 cc2d676d5395
parent 67613 ce654b0e6d69
equal deleted inserted replaced
69504:bda7527ccf05 69505:cc2d676d5395
    10 begin
    10 begin
    11 (*>*)
    11 (*>*)
    12 
    12 
    13 text \<open>
    13 text \<open>
    14 The function
    14 The function
    15 @{text pubK} maps agents to their public keys.  The function
    15 \<open>pubK\<close> maps agents to their public keys.  The function
    16 @{text priK} maps agents to their private keys.  It is merely
    16 \<open>priK\<close> maps agents to their private keys.  It is merely
    17 an abbreviation (cf.\ \S\ref{sec:abbreviations}) defined in terms of
    17 an abbreviation (cf.\ \S\ref{sec:abbreviations}) defined in terms of
    18 @{text invKey} and @{text pubK}.
    18 \<open>invKey\<close> and \<open>pubK\<close>.
    19 \<close>
    19 \<close>
    20 
    20 
    21 consts pubK :: "agent \<Rightarrow> key"
    21 consts pubK :: "agent \<Rightarrow> key"
    22 abbreviation priK :: "agent \<Rightarrow> key"
    22 abbreviation priK :: "agent \<Rightarrow> key"
    23 where "priK x  \<equiv>  invKey(pubK x)"
    23 where "priK x  \<equiv>  invKey(pubK x)"
    37 end
    37 end
    38 (*>*)
    38 (*>*)
    39 
    39 
    40 text \<open>
    40 text \<open>
    41 \noindent
    41 \noindent
    42 The set @{text bad} consists of those agents whose private keys are known to
    42 The set \<open>bad\<close> consists of those agents whose private keys are known to
    43 the spy.
    43 the spy.
    44 
    44 
    45 Two axioms are asserted about the public-key cryptosystem. 
    45 Two axioms are asserted about the public-key cryptosystem. 
    46 No two agents have the same public key, and no private key equals
    46 No two agents have the same public key, and no private key equals
    47 any public key.
    47 any public key.