Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

XML structs

1. XML Message send from LastMix to Mix n-1 during cascade init
<?xml version="1.0" encoding="utf-8" ?>
<Mixes count="1"> 
	<!-- <Mixes> contains an ordered list of the Mixes of the cascade --> 
	<!-- count gives the number of <Mix> elements -->
  <Mix id="..."> <!-- describes a single Mix -->
    <MixProtocolVersion>0.3</MixProtocolVersion>
    <RSAKeyValue> <!-- The public encryption key used by that Mix -->
      <Modulus></Modulus>
      <Exponent></Exponent>
    </RSAKeyValue>
    <Nonce>...</Nonce> <!-- A nonce used to detect reply attacks -->
    <Signature>...</Signature> <!-- digital signature of the <Mix>-element -->
  </Mix>
</Mixes>
2. Answer send from Mix n-1 to Mix n during cascade init
<?xml version="1.0" encoding="utf-8" ?>
<EncryptedKey>
  <EncryptionMethod Algorithm="RSA" />
  <CipherData>
    <CipherValue>...</CipherValue>
  </CipherData>
  <Nonce>...</Nonce>
  <Signature>...</Signature>
</EncryptedKey>
3. Mix-Cascade info (and info about the FirstMix) send from the FirstMix to the InfoService.
<?xml version="1.0" ?>
<MixCascade id="...">
  <Name>...</Name>
  <Network>
    <ListenerInterfaces>
      <ListenerInterface>
        <Type>RAW/TCP</Type>
        <Port>..</Port>
        <Host>..</Host>
        <IP>..</IP>
      </ListenerInterface>
    </ListenerInterfaces>
  </Network>
  <Mixes count="..">
    <Mix id=".." />
    <!--- all the Information about the FirstMix -->
    <Mix id="." />
    <!-- only the id's of all other mixes of the cascade -->
  </Mixes>
  <LastUpdate>..</LastUpdate>
  <Signature>..</Signature>
</MixCascade>
4. Mix-Cascade status send from the FirstMix to the InfoService.
<?xml version="1.0" encoding="utf-8" ?> 
<MixCascadeStatus id=".." 
                  currentRisk=".."
                  mixedPackets=".."
                  nrOfActiveUsers=".."
                  trafficSituation=".."
                  LastUpdate="..">
  <Signature>..</Signature>                  
</MixCascadeStatus>
5. Mix-HELO send from the Middle- or LastMix to the InfoService to announce itself.
<?xml version="1.0" encoding="utf-8" ?>
<Mix id="...">
  <Name>..</Name>
  <Location>
  ...
  </Location>
  <Operator>
    <Organisation>..</Organisation>
    <URL>..</URL>
  </Operator>
  <Software>
    <Version>..</Version>
  </Software>
  <LastUpdate>..</LastUpdate>
  <Signature>..</Signature>
</Mix>
6. Mix-KeyInfo send from the FirstMix to the JAP.
<?xml version="1.0" ?>
<MixCascade version="0.1">
  <MixProtocolVersion>
    <!-- "0.2" ==> "normal" mix proctocol
         "0.3" ==> with timestamp/replay detection
    --></MixProtocolVersion>
  <Mixes count="..">
    <Mix id="..">
      <MixProtocolVersion>...</MixProtocolVersion>
      <RSAKeyValue>...</RSAKeyValue> <!--- PubKey of FirstMix -->
      <Replay> <!-- information for replay detection mechanisms if supported by protocol -->
        <ReplayTimestamp interval=".." offset=".."/> <!-- replay timestamp on the mix -->
          <!-- interval give the number of the current interval on the mix; offset gives the seconds since start of this interval -->
      </Replay>
    </Mix>
    <Mix id=".">
      <RSAKeyValue>...</RSAKeyValue> <!--- PubKey of second Mix etc. -->
      <Signature>..</Signature> <!--- from Mix -->
    </Mix>
  </Mixes>
  <Signature>..</Signature> <!--- from FirstMix -->
</MixCascade>
7. Signature Element
<Signature>
  <SignedInfo>
    <Reference URI=""> <!--what is signed ?-->
      <DigestValue>.....</DigestValue> <!--base64 SHA1 digest -->
    </Reference>
  </SignedInfo>
  <SignatureValue>
    <!--base64 of r,s of DSA signature -->
  </SignatureValue>
  <KeyInfo>
    <!-- info abnout the key used -->
    <X509Data>
      <X509Certificate>
        <!-- base64 cert of the public test key for the signature -->
      </X509Certificate>
    </X509Data>
  </KeyInfo>
</Signature>

Generated on Sun Aug 7 23:30:29 2005 for Mixe for Privacy and Anonymity in the Internet by  doxygen 1.4.2