type Payload = Private();
type Host = Public();
type Server = Public();
type Client = Public();
type Word = Public();
type Socket = Un;
public Alice : Host;
public Bob : Host;
public Charlie : Host;
public Eve : Host;
public Sam : Host;
type SharedKey (x:Any) = SymKey (Private(x), _);
type PublicKey (x:Any) = PubKeyEK (Private(x), _);
type PrivateKey (x:Any) = PubKeyDK (Private(x), _);
type SignKey (x:Any) = SignKeyEK (Private(x,y), y:Any);
type AuthKey (x:Any) = SignKeyDK (Private(x,y), y:Any);
public hashkey : PubKeyEK(Any);
tag hashtag ({| Private(y) |}hashkey) : Auth(y:Any);
define hash (x:Any) = hashtag( {|x|}hashkey );
define keyedhash (k:Any,x:Any) = { hash(x) }k;
type HashKey (x:Any) = SymKey (hash(Private(x)), _);
Cryptyc implementation Copyright © 2001-2004, Alan Jeffrey and Christian Haack
Technical reports Copyright © 2000-2004 Microsoft Research,
Alan Jeffrey and Christian Haack
This material is partly based upon work supported by the National
Science Foundation under Grant No. 0208549.
Last modified:
2005-12-14 06:33:53
|