cpsa 3.6.0 → 3.6.1
raw patch · 50 files changed
+154/−74 lines, 50 files
Files
- ChangeLog +29/−0
- NEWS +5/−0
- cpsa.cabal +1/−1
- doc/cpsamanual.pdf binary
- src/CPSA/Lib/Loader.hs +18/−18
- src/CPSA/Lib/Reduction.hs +1/−1
- src/CPSA/Lib/Strand.hs +57/−11
- tst/aik.tst +1/−1
- tst/axiom2.tst +1/−1
- tst/blanchet.tst +1/−1
- tst/bltk_test.tst +1/−1
- tst/dh-ca.tst +1/−1
- tst/dh_mim.tst +1/−1
- tst/dh_mim2.tst +1/−1
- tst/dh_sig.tst +1/−1
- tst/dh_test.tst +1/−1
- tst/dhnsl_basic.tst +1/−1
- tst/dhnsl_use.tst +1/−1
- tst/enrich.tst +1/−1
- tst/envelope.tst +1/−1
- tst/ffgg.tst +1/−1
- tst/fnof_or.tst +1/−1
- tst/fnof_test.tst +1/−1
- tst/fnof_woolam.tst +1/−1
- tst/fnof_yahalom.tst +1/−1
- tst/goals.tst +2/−2
- tst/iadh_um.tst too large to diff
- tst/injection.tst +1/−1
- tst/kerb.tst +1/−1
- tst/kerberos++.tst +1/−1
- tst/lt_test.tst +1/−1
- tst/neq_test.tst +1/−1
- tst/ns.tst +1/−1
- tst/or.tst +1/−1
- tst/owang.tst +1/−1
- tst/owat.tst +1/−1
- tst/pkinit.tst +1/−1
- tst/plaindh.tst +1/−1
- tst/priority_test.tst +1/−1
- tst/reflect.tst +1/−1
- tst/staticdh.tst +1/−1
- tst/station.tst +1/−1
- tst/station2.tst +1/−1
- tst/subsort_test.tst +1/−1
- tst/test_small.tst +1/−1
- tst/unilateral.tst +1/−1
- tst/uniq-gen-test.tst +1/−1
- tst/woolam.tst +1/−1
- tst/wrap_decrypt.tst +1/−1
- tst/yahalom.tst +1/−1
ChangeLog view
@@ -1,3 +1,32 @@+2018-08-29 John D. Ramsdell <ramsdell@mitre.org>++ * cpsa.cabal (Version): Tagged as 3.6.1++2018-08-22 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Strand.hs (doRewrites): Added a limit on the number of+ rules that can be applied after solving an authentication test.++2018-08-20 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Lib/Strand.hs (cleansPreskel): Cleansed facts from a+ skeleton purged of a strand. This changes fixes a nasty display+ bug that occurred when a variable in a fact did not occur in any+ strand.++2018-08-06 John D. Ramsdell <ramsdell@mitre.org>++ * src/CPSA/Lib/Loader.hs (loadConclusion): Removed mode flag as+ this routine should always be using mode RoleSpec. This resolves+ a bug in which CPSA could not load a Shape Analysis Sentence as+ rule because equality was before the protocol specific formulas.++ * src/CPSA/Lib/Strand.hs (newPreskel): Changed newPreskel so that+ it removed duplicates in the leadsto field when creating a new+ preskeleton. This resolved a bug in which CPSA produced to shapes+ that appeared to be isomorphic, but instead, one shape had+ duplicates in its leadsto field.+ 2018-06-25 John D. Ramsdell <ramsdell@mitre.org> * cpsa.cabal (Version): Tagged as 3.6.0
NEWS view
@@ -1,5 +1,10 @@ CPSA NEWS + August, 2018:++* Release 3.6.1 is a bug fix release. It includes updates to the CPSA+ manual. There are no user visible changes.+ June, 2018: * Release 3.6.0 adds rules and facts. Rules are associated with
cpsa.cabal view
@@ -1,5 +1,5 @@ Name: cpsa-Version: 3.6.0+Version: 3.6.1 Maintainer: mliskov@mitre.org Cabal-Version: >= 1.6 License: BSD3
doc/cpsamanual.pdf view
binary file changed (900410 → 904514 bytes)
src/CPSA/Lib/Loader.hs view
@@ -922,7 +922,7 @@ loadImplication md _ prot g vars (L pos [S _ "implies", a, c]) = do antec <- loadCheckedConj md pos prot vars vars a- (g, vc) <- loadConclusion md pos prot g vars c+ (g, vc) <- loadConclusion pos prot g vars c let (evars, concl) = unzip vc let goal = Goal { uvars = vars,@@ -935,35 +935,35 @@ -- The conclusion must be a disjunction. Each disjunct may introduce -- existentially quantified variables. -loadConclusion :: (Algebra t p g s e c, Monad m) => Mode -> Pos -> Prot t g ->+loadConclusion :: (Algebra t p g s e c, Monad m) => Pos -> Prot t g -> g -> [t] -> SExpr Pos -> m (g, [([t], Conj t)])-loadConclusion _ _ _ g _ (L _ [S _ "false"]) = return (g, [])-loadConclusion md _ prot g vars (L pos (S _ "or" : xs)) =- loadDisjuncts md pos prot g vars xs []-loadConclusion md pos prot g vars x =+loadConclusion _ _ g _ (L _ [S _ "false"]) = return (g, [])+loadConclusion _ prot g vars (L pos (S _ "or" : xs)) =+ loadDisjuncts pos prot g vars xs []+loadConclusion pos prot g vars x = do- (g, a) <- loadExistential md pos prot g vars x+ (g, a) <- loadExistential pos prot g vars x return (g, [a]) -loadDisjuncts :: (Algebra t p g s e c, Monad m) => Mode -> Pos ->+loadDisjuncts :: (Algebra t p g s e c, Monad m) => Pos -> Prot t g -> g -> [t] -> [SExpr Pos] -> [([t], Conj t)] -> m (g, [([t], Conj t)])-loadDisjuncts _ _ _ g _ [] rest = return (g, reverse rest)-loadDisjuncts md pos prot g vars (x : xs) rest =+loadDisjuncts _ _ g _ [] rest = return (g, reverse rest)+loadDisjuncts pos prot g vars (x : xs) rest = do- (g, a) <- loadExistential md pos prot g vars x- loadDisjuncts md pos prot g vars xs (a : rest)+ (g, a) <- loadExistential pos prot g vars x+ loadDisjuncts pos prot g vars xs (a : rest) -loadExistential :: (Algebra t p g s e c, Monad m) => Mode -> Pos -> Prot t g ->+loadExistential :: (Algebra t p g s e c, Monad m) => Pos -> Prot t g -> g -> [t] -> SExpr Pos -> m (g, ([t], Conj t))-loadExistential md _ prot g vars (L pos [S _ "exists", L _ vs, x]) =+loadExistential _ prot g vars (L pos [S _ "exists", L _ vs, x]) = do (g, evars) <- loadVars g vs- as <- loadCheckedConj md pos prot (evars ++ vars) evars x+ as <- loadCheckedConj RoleSpec pos prot (evars ++ vars) evars x return (g, (evars, as))-loadExistential md pos prot g vars x =+loadExistential pos prot g vars x = do- as <- loadCheckedConj md pos prot vars [] x+ as <- loadCheckedConj RoleSpec pos prot vars [] x return (g, ([], as)) -- Load a conjunction and check the result as determined by the mode@@ -1090,7 +1090,7 @@ Nothing -> fail (shows pos ("parameter " ++ x ++ " not in role " ++ name)) loadPrimary _ _ _ (L pos (S _ "p" : Q _ name : _)) =- fail (shows pos ("Malformed role specific formula for role " ++ name))+ fail (shows pos ("Malformed protocol specific formula for role " ++ name)) loadPrimary _ _ _ (L pos (S _ pred : _)) = fail (shows pos ("Malformed formula for predicate " ++ pred)) loadPrimary pos _ _ _ = fail (shows pos "Bad formula")
src/CPSA/Lib/Reduction.hs view
@@ -39,7 +39,7 @@ -- Set when debugging an exception so that buffered results get out. useFlush :: Bool-useFlush = True -- False+useFlush = False -- True -- Parameter driven S-expression printer wrt :: Options -> Handle -> SExpr a -> IO ()
src/CPSA/Lib/Strand.hs view
@@ -517,6 +517,7 @@ newPreskel gen shared insts orderings leadsto decls facts oper prob kpriority pov = let orderings' = L.nub orderings+ leadsto' = L.nub leadsto g = graph trace height insts orderings' strands = gstrands g decls' = declsNub decls@@ -528,7 +529,7 @@ insts = insts, strands = strands, orderings = orderings',- leadsto = leadsto,+ leadsto = leadsto', edges = edges, decls = decls', extraDecls = mkDecls [],@@ -835,6 +836,7 @@ checkOrigs g g' fenv perm && checkOrigs g' g renv (invperm perm) && checkFacts g g' fenv perm &&+ checkFacts g' g fenv (invperm perm) && containsMapped (permutePair perm) (gorderings g') (gorderings g) && containsMapped (permutePair perm) (gleadsto g') (gleadsto g) @@ -844,6 +846,7 @@ checkOrigs g g' fenv perm && checkOrigs g' g renv perm && checkFacts g g' fenv perm &&+ checkFacts g' g fenv (invperm perm) && containsMapped (permutePair perm) (gorderings g') (gorderings g) && containsMapped (permutePair perm) (gleadsto g') (gleadsto g) && all (\n -> perm !! (prob !! n) == prob' !! n) [0..((length prob)-1)]@@ -1048,7 +1051,7 @@ (updateProb perm (prob k)) (updatePriority perm (kpriority k)) (pov k)- k'' <- wellFormedPreskel $ k'+ k'' <- wellFormedPreskel $ cleansPreskel k' return (k0, k'', permuteNode perm n, map (perm !!) phi, hsubst) -- Forward orderings from strand s@@ -1063,6 +1066,22 @@ | s1 == s = [] -- Dump edges to strand s | otherwise = [p] -- Pass thru other edges +-- Cleans facts in a skeleton+cleansPreskel :: Algebra t p g s e c => Preskel t g s e -> Preskel t g s e+cleansPreskel k =+ newPreskel+ (gen k)+ (shared k)+ (insts k)+ (orderings k)+ (leadsto k)+ (decls k)+ (cleansFacts (kvars k) (kfacts k))+ (operation k)+ (prob k)+ (kpriority k)+ (pov k)+ matchTraces :: Algebra t p g s e c => Trace t -> Trace t -> (g, e) -> [(g, e)] matchTraces [] _ env = [env] -- Pattern can be shorter@@ -1531,6 +1550,8 @@ Preskel t g s e -> [Sid] -> e -> Bool validateEnv k k' mapping env = validateDeclEnv k k' mapping env &&+ all (flip elem (kfacts k'))+ (map (instUpdateFact env (mapping !!)) (kfacts k)) && all (flip elem (tc k')) (permuteOrderings mapping (orderings k)) -- Given a realized skeleton k, generate candidates for minimization.@@ -2551,20 +2572,30 @@ -} {-- For debugging-factVars :: Fact -> [Term] -> [Term]+factVars :: Algebra t p g s e c => Fact t -> [t] -> [t] factVars (Fact _ ts) vs = foldr f vs ts where f (FSid _) vs = vs f (FTerm t) vs = addVars vs t -chkFVars :: Preskel -> Preskel+chkFVars :: Algebra t p g s e c => Preskel t g s e -> Preskel t g s e chkFVars k = foldl f k (foldr factVars [] (kfacts k)) where f k v | elem v (kvars k) = k | otherwise = error ("Bad var in fact " ++ show v)+ -- ++ "\n\n" ++ show k)++chkFVarsS :: Algebra t p g s e c => String -> Preskel t g s e -> Preskel t g s e+chkFVarsS s k =+ foldl f k (foldr factVars [] (kfacts k))+ where+ f k v+ | elem v (kvars k) = k+ | otherwise = error (s ++ ": Bad var in fact " ++ show v)+ -- ++ "\n\n" ++ show k) --} {-@@ -2613,6 +2644,12 @@ -- eliminate error cases. geq :: Algebra t p g s e c => t -> t -> Sem t g s e geq t t' _ (g, e)+ -- Ensure all variables in t and t' are in the domain of e.+ -- This always happens for goals because they must be role specific+ -- but it is not always true for rules.+ | not (matched e t) || not (matched e t') =+ error ("In a rule equality check, " +++ "cannot find a binding for some variable") | ti == ti' = [(g, e)] | otherwise = [] where@@ -2721,12 +2758,14 @@ case (nodeLookup e n, nodeLookup e n') of (Just p, Just p') | inSkel k p && inSkel k p' &&- (strandPrec p p' || elem (p, p') (tc k)) -> [(g, e)]+ (strandPrec p p' || elem (p, p') tc) -> [(g, e)] _ -> do- (p, p') <- tc k+ (p, p') <- tc (g, e) <- nodeMatch n p (g, e) nodeMatch n' p' (g, e)+ where+ tc = map graphPair $ graphClose $ graphEdges $ strands k -- Length predicate -- r and h determine the predicate, which has arity one.@@ -2843,7 +2882,7 @@ if null vas then loop rs -- Rule does not apply else- Just $ doRewrites prules k r vas+ Just $ doRewrites 0 prules k r vas -- Returns the environments that show satifaction of the antecedent -- but fail to be extendable to show satifaction of one of the@@ -2856,10 +2895,17 @@ conclusion e = all (disjunct e) $ concl $ rlgoal r disjunct e a = null $ conjoin a k e +ruleLimit :: Int+ruleLimit = 500+ -- Repeatedly applies rules until no rule applies.-doRewrites :: Algebra t p g s e c => [Rule t] -> Preskel t g s e ->+doRewrites :: Algebra t p g s e c => Int -> [Rule t] -> Preskel t g s e -> Rule t -> [(g, e)] -> [Preskel t g s e]-doRewrites rules k r vas =+doRewrites lim _ _ _ _+ | lim >= ruleLimit =+ error ("Aborting after applying " ++ show ruleLimit +++ " rules and more are applicable")+doRewrites lim rules k r vas = concatMap f (doRewrite k r vas) where f k = loop rules@@ -2870,7 +2916,7 @@ if null vas then loop rs -- Rule does not apply else- doRewrites rules k r vas+ doRewrites (lim + 1) rules k r vas -- Apply rewrite rule at all assignments doRewrite :: Algebra t p g s e c => Preskel t g s e ->@@ -3049,7 +3095,7 @@ (prob k) (kpriority k) (pov k) return (k', (gen k, e)) _ ->- error ("In rule " ++ name ++ ", precidence did not get a strand")+ error ("In rule " ++ name ++ ", precedence did not get a strand") where tc = map graphPair $ graphClose $ graphEdges $ strands k
tst/aik.tst view
@@ -1,6 +1,6 @@ (herald "Anonymous identity protocol from TCG") -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from aik.scm") (defprotocol aikprot basic
tst/axiom2.tst view
@@ -1,6 +1,6 @@ (herald "Axiom 2 Protocol" (bound 20)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from axiom2.scm") (comment "Strand count bounded at 20")
tst/blanchet.tst view
@@ -1,7 +1,7 @@ (herald "Blanchet's Simple Example Protocol" (comment "There is a flaw in this protocol by design")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from blanchet.scm") (defprotocol blanchet basic
tst/bltk_test.tst view
@@ -1,6 +1,6 @@ (herald "bltk Test File" (algebra diffie-hellman) (bound 12)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from bltk_test.scm") (defprotocol test diffie-hellman
tst/dh-ca.tst view
@@ -1,6 +1,6 @@ (herald dhca (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dh-ca.scm") (defprotocol dhca diffie-hellman
tst/dh_mim.tst view
@@ -1,7 +1,7 @@ (herald "Diffie-Hellman protocol, man-in-the-middle attack" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dh_mim.scm") (defprotocol dh_mim diffie-hellman
tst/dh_mim2.tst view
@@ -1,7 +1,7 @@ (herald "Diffie-Hellman protocol, man-in-the-middle attack" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dh_mim2.scm") (defprotocol dh_mim diffie-hellman
tst/dh_sig.tst view
@@ -1,6 +1,6 @@ (herald "Signed DH exchange" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dh_sig.scm") (defprotocol dh_sig diffie-hellman
tst/dh_test.tst view
@@ -1,7 +1,7 @@ (herald "Diffie-Hellman protocol, man-in-the-middle attack" (algebra diffie-hellman) (bound 20)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dh_test.scm") (comment "Strand count bounded at 20")
tst/dhnsl_basic.tst view
@@ -1,7 +1,7 @@ (herald "Diffie-Hellman enhanced Needham-Schroeder-Lowe Protocol" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dhnsl_basic.scm") (defprotocol dhnsl diffie-hellman
tst/dhnsl_use.tst view
@@ -1,7 +1,7 @@ (herald "Diffie-Hellman enhanced Needham-Schroeder-Lowe Protocol" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from dhnsl_use.scm") (defprotocol dhnsl diffie-hellman
tst/enrich.tst view
@@ -1,6 +1,6 @@ (herald enrich) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from enrich.scm") (defprotocol enrich basic
tst/envelope.tst view
@@ -1,6 +1,6 @@ (herald "Envelope Protocol" (bound 20)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from envelope.scm") (comment "Strand count bounded at 20")
tst/ffgg.tst view
@@ -1,7 +1,7 @@ (herald "The ffgg Protocol" (comment "From A Necessarily Parallel Attack by Jon K. Millen")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from ffgg.scm") (defprotocol ffgg basic
tst/fnof_or.tst view
@@ -2,7 +2,7 @@ (comment "Version using variables of sort mesg, with ltk function emulated.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from fnof_or.scm") (defprotocol or basic
tst/fnof_test.tst view
@@ -1,7 +1,7 @@ (herald "Function constraint test protocol" (comment "Skeletons 2, 4, and 7 should have no shapes.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from fnof_test.scm") (defprotocol fnoftest basic
tst/fnof_woolam.tst view
@@ -1,6 +1,6 @@ (herald "Woo-Lam Protocol, using fnof to emulate ltk function") -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from fnof_woolam.scm") (defprotocol woolam basic
tst/fnof_yahalom.tst view
@@ -2,7 +2,7 @@ "Yahalom Protocol with Forwarding Removed, using fnof to emulate ltk function" (bound 12)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from fnof_yahalom.scm") (defprotocol yahalom basic
tst/goals.tst view
@@ -1,6 +1,6 @@ (herald goals) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from goals.scm") (defprotocol ns basic@@ -108,7 +108,7 @@ (parent 2) (unrealized) (shape)- (satisfies (no (b b) (n1 n1) (z0 0)))+ (satisfies yes) (maps ((0) ((b b) (n1 n1) (a a) (n2 n2)))) (origs (n1 (0 0))))
tst/iadh_um.tst view
file too large to diff
tst/injection.tst view
@@ -2,7 +2,7 @@ (comment "This protocol contains a man-in-the-middle" "attack discovered by Galvin Lowe.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from injection.scm") (defprotocol ns diffie-hellman
tst/kerb.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from kerb.scm") (defprotocol kerb-flawed basic
tst/kerberos++.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from kerberos++.scm") (defprotocol kerberos basic
tst/lt_test.tst view
@@ -2,7 +2,7 @@ (comment "First and third skeletons should have a shape," "second and fourth should be dead.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from lt_test.scm") (defprotocol lttest basic
tst/neq_test.tst view
@@ -2,7 +2,7 @@ (comment "First skeleton should have a shape," "second, and hird should be dead.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from neq_test.scm") (defprotocol neqtest basic
tst/ns.tst view
@@ -2,7 +2,7 @@ (comment "This protocol contains a man-in-the-middle" "attack discovered by Galvin Lowe.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from ns.scm") (defprotocol ns basic
tst/or.tst view
@@ -1,7 +1,7 @@ (herald "Otway-Rees Protocol" (comment "Standard version using variables of sort mesg")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from or.scm") (defprotocol or basic
tst/owang.tst view
@@ -1,4 +1,4 @@-(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from owang.scm") (defprotocol wang basic
tst/owat.tst view
@@ -1,7 +1,7 @@ (herald "One-way Authentication Test with bltk keys" (algebra diffie-hellman) (bound 12)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from owat.scm") (defprotocol owa diffie-hellman
tst/pkinit.tst view
@@ -1,6 +1,6 @@ (herald "Kerberos PKINIT") -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from pkinit.scm") (defprotocol pkinit-flawed basic
tst/plaindh.tst view
@@ -1,7 +1,7 @@ (herald "Plain diffie-hellman protocol with challenge-response" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from plaindh.scm") (defprotocol plaindh diffie-hellman
tst/priority_test.tst view
@@ -1,6 +1,6 @@ (herald "Receive priority test protocol") -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from priority_test.scm") (defprotocol priority_test basic
tst/reflect.tst view
@@ -1,6 +1,6 @@ (herald reflect) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from reflect.scm") (defprotocol reflect basic
tst/staticdh.tst view
@@ -1,6 +1,6 @@ (herald "Static DH key exchange" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from staticdh.scm") (defprotocol staticdh1 diffie-hellman
tst/station.tst view
@@ -1,6 +1,6 @@ (herald "Station-to-station protocol" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from station.scm") (defprotocol station-to-station diffie-hellman
tst/station2.tst view
@@ -1,6 +1,6 @@ (herald "Station-to-station protocol" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from station2.scm") (defprotocol station-to-station diffie-hellman
tst/subsort_test.tst view
@@ -2,7 +2,7 @@ (comment "First, third, and fourth skeletons should have a shape," "second should be dead.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from subsort_test.scm") (defprotocol subsorttest basic
tst/test_small.tst view
@@ -1,6 +1,6 @@ (herald "small test" (algebra diffie-hellman)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from test_small.scm") (defprotocol test diffie-hellman
tst/unilateral.tst view
@@ -1,6 +1,6 @@ (herald unilateral) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from unilateral.scm") (defprotocol unilateral basic
tst/uniq-gen-test.tst view
@@ -1,7 +1,7 @@ (herald "Unique generation test protocols." (comment "Skeletons 2, 4, and 7 should have no shapes.")) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from uniq-gen-test.scm") (defprotocol uniqgentest basic
tst/woolam.tst view
@@ -1,6 +1,6 @@ (herald "Woo-Lam Protocol") -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from woolam.scm") (defprotocol woolam basic
tst/wrap_decrypt.tst view
@@ -1,6 +1,6 @@ (herald wrap-decrypt (bound 10)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from wrap_decrypt.lsp") (comment "Strand count bounded at 10")
tst/yahalom.tst view
@@ -1,7 +1,7 @@ (herald "Yahalom Protocol with Forwarding Removed" (algebra diffie-hellman) (bound 12)) -(comment "CPSA 3.6.0")+(comment "CPSA 3.6.1") (comment "All input read from yahalom.scm") (defprotocol yahalom diffie-hellman