<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-010-09-1156</article-id>
      <article-id pub-id-type="publisher-id">28291</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>C.2.2 - Network Protocols</subject>
          <subject>C.2.4 - Distributed Systems</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Symbolic Approach to the Analysis of Security Protocols</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Lafrance</surname>
            <given-names>Stéphane</given-names>
          </name>
          <email xlink:type="simple">stephane.lafrance@polymtl.ca</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">École Polytechnique de Montréal, Montreal, Canada</addr-line>
        <institution>École Polytechnique de Montréal</institution>
        <addr-line content-type="city">Montreal</addr-line>
        <country>Canada</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Stéphane Lafrance (<email xlink:type="simple">stephane.lafrance@polymtl.ca</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2004</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>09</month>
        <year>2004</year>
      </pub-date>
      <volume>10</volume>
      <issue>9</issue>
      <fpage>1156</fpage>
      <lpage>1198</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/EA566190-2266-5B23-8792-EC437F1D0AEB">EA566190-2266-5B23-8792-EC437F1D0AEB</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6996621">6996621</uri>
      <permissions>
        <copyright-statement>Stéphane Lafrance</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>The specification and validation of security protocols often requires viewing function calls - like encryption/decryption and the generation of fake messages - explicitly as actions within the process semantics. Following this approach, this paper introduces a symbolic framework based on value-passing processes able to handle symbolic values like fresh nonces, fresh keys, fake addresses and fake messages. The main idea in our approach is to assign to each value-passing process a formula describing the symbolic values conveyed by its semantics. In such symbolic processes, called constrained processes, the formulas are drawn from a logic based on a message algebra equipped with encryption, signature and hashing primitives. The symbolic operational semantics of a constrained process is then established through semantic rules updating formulas by adding restrictions over the symbolic values, as required for the process to evolve. We then prove that the logic required from the semantic rules is decidable. We also define a bisimulation equivalence between constrained processes, this amounts to a generalisation of the standard bisimulation equivalence between (non-symbolic) value-passing processes. Finally, we provide a complete symbolic bisimulation method for constructing the bisimulation between constrained processes.</p>
      </abstract>
    </article-meta>
  </front>
</article>
