<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSecurity%2FKey</id>
		<title>Java Tutorial/Security/Key - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSecurity%2FKey"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Key&amp;action=history"/>
		<updated>2026-04-19T08:30:40Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Key&amp;diff=4330&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Key&amp;diff=4330&amp;oldid=prev"/>
				<updated>2010-06-01T05:01:41Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:01, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Key&amp;diff=4329&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Security/Key&amp;diff=4329&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  DES Key Agreement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
import java.security.KeyPair;&lt;br /&gt;
import java.security.KeyPairGenerator;&lt;br /&gt;
import javax.crypto.KeyAgreement;&lt;br /&gt;
import javax.crypto.SecretKey;&lt;br /&gt;
import javax.crypto.interfaces.DHPrivateKey;&lt;br /&gt;
import javax.crypto.interfaces.DHPublicKey;&lt;br /&gt;
import javax.crypto.spec.DHParameterSpec;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String s = &amp;quot;F488FD584E49DBCD20B49DE49107366B336C380D451D0F7C88&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot; + &amp;quot;2F78C7&amp;quot;;&lt;br /&gt;
    BigInteger base = BigInteger.valueOf(2);&lt;br /&gt;
    BigInteger modulous = new BigInteger(s, 16);&lt;br /&gt;
    DHParameterSpec skipParameterSpec = new DHParameterSpec(modulous, base);&lt;br /&gt;
    KeyPairGenerator kpg1 = KeyPairGenerator.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    kpg1.initialize(skipParameterSpec);&lt;br /&gt;
    KeyPair kp1 = kpg1.generateKeyPair();&lt;br /&gt;
    KeyAgreement ka1 = KeyAgreement.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    DHPrivateKey privateKey1 = (DHPrivateKey) kp1.getPrivate();&lt;br /&gt;
    DHPublicKey publicKey1 = (DHPublicKey) kp1.getPublic();&lt;br /&gt;
    ka1.init(privateKey1);&lt;br /&gt;
    System.out.println(&amp;quot;1 is using &amp;quot; + publicKey1.getY() + &amp;quot; for its public key&amp;quot;);&lt;br /&gt;
    KeyPairGenerator kpg2 = KeyPairGenerator.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    kpg2.initialize(skipParameterSpec);&lt;br /&gt;
    KeyPair kp2 = kpg2.generateKeyPair();&lt;br /&gt;
    KeyAgreement ka2 = KeyAgreement.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    DHPrivateKey privateKey2 = (DHPrivateKey) kp2.getPrivate();&lt;br /&gt;
    DHPublicKey publicKey2 = (DHPublicKey) kp2.getPublic();&lt;br /&gt;
    ka2.init(privateKey2);&lt;br /&gt;
    System.out.println(&amp;quot;2 is using &amp;quot; + publicKey2.getY() + &amp;quot;for its public key&amp;quot;);&lt;br /&gt;
    // Use the KeyAgreement object of 1 to generate its shared key&lt;br /&gt;
    ka1.doPhase(publicKey2, true);&lt;br /&gt;
    SecretKey sharedKey1 = ka1.generateSecret(&amp;quot;DES&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;1 is using &amp;quot; + new String(sharedKey1.getEncoded())&lt;br /&gt;
        + &amp;quot; as its DES session key&amp;quot;);&lt;br /&gt;
    // Use the KeyAgreement object of 2 to generate its shared key&lt;br /&gt;
    ka2.doPhase(publicKey1, true);&lt;br /&gt;
    SecretKey sharedKey2 = ka2.generateSecret(&amp;quot;DES&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;2 is using &amp;quot; + new String(sharedKey2.getEncoded())&lt;br /&gt;
        + &amp;quot;as its DES session key&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  implements Key, PublicKey, PrivateKey ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.security.Key;&lt;br /&gt;
import java.security.PrivateKey;&lt;br /&gt;
import java.security.PublicKey;&lt;br /&gt;
public class XYZKey implements Key, PublicKey, PrivateKey {&lt;br /&gt;
  int rotValue;&lt;br /&gt;
  public String getAlgorithm() {&lt;br /&gt;
    return &amp;quot;XYZ&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  public String getFormat() {&lt;br /&gt;
    return &amp;quot;XYZ Special Format&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  public byte[] getEncoded() {&lt;br /&gt;
    byte b[] = new byte[4];&lt;br /&gt;
    b[3] = (byte) ((rotValue &amp;lt;&amp;lt; 24) &amp;amp; 0xff);&lt;br /&gt;
    b[2] = (byte) ((rotValue &amp;lt;&amp;lt; 16) &amp;amp; 0xff);&lt;br /&gt;
    b[1] = (byte) ((rotValue &amp;lt;&amp;lt; 8) &amp;amp; 0xff);&lt;br /&gt;
    b[0] = (byte) ((rotValue &amp;lt;&amp;lt; 0) &amp;amp; 0xff);&lt;br /&gt;
    return b;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Key Agreement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
import java.security.KeyPair;&lt;br /&gt;
import java.security.KeyPairGenerator;&lt;br /&gt;
import javax.crypto.KeyAgreement;&lt;br /&gt;
import javax.crypto.interfaces.DHPrivateKey;&lt;br /&gt;
import javax.crypto.interfaces.DHPublicKey;&lt;br /&gt;
import javax.crypto.spec.DHParameterSpec;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    String s = &amp;quot;F488FD584E49DBCD20B49DE49107366B336C380D451D0F7C88&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot;&lt;br /&gt;
        + &amp;quot;11111111111111111111111111111111111111111111111111&amp;quot; + &amp;quot;2F78C7&amp;quot;;&lt;br /&gt;
    BigInteger base = BigInteger.valueOf(2);&lt;br /&gt;
    BigInteger modulus = new BigInteger(s, 16);&lt;br /&gt;
    DHParameterSpec skipParameterSpec = new DHParameterSpec(modulus, base);&lt;br /&gt;
    KeyPairGenerator kpg1 = KeyPairGenerator.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    kpg1.initialize(skipParameterSpec);&lt;br /&gt;
    KeyPair kp1 = kpg1.generateKeyPair();&lt;br /&gt;
    KeyAgreement ka1 = KeyAgreement.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    DHPrivateKey privateKey1 = (DHPrivateKey) kp1.getPrivate();&lt;br /&gt;
    DHPublicKey publicKey1 = (DHPublicKey) kp1.getPublic();&lt;br /&gt;
    ka1.init(privateKey1);&lt;br /&gt;
    System.out.println(&amp;quot;1 is using &amp;quot; + publicKey1.getY() + &amp;quot; for its public key&amp;quot;);&lt;br /&gt;
    KeyPairGenerator kpg2 = KeyPairGenerator.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    kpg2.initialize(skipParameterSpec);&lt;br /&gt;
    KeyPair kp2 = kpg2.generateKeyPair();&lt;br /&gt;
    KeyAgreement ka2 = KeyAgreement.getInstance(&amp;quot;DH&amp;quot;);&lt;br /&gt;
    DHPrivateKey privateKey2 = (DHPrivateKey) kp2.getPrivate();&lt;br /&gt;
    DHPublicKey publicKey2 = (DHPublicKey) kp2.getPublic();&lt;br /&gt;
    ka2.init(privateKey2);&lt;br /&gt;
    System.out.println(&amp;quot;2 is using &amp;quot; + publicKey2.getY() + &amp;quot; for its public key&amp;quot;);&lt;br /&gt;
    ka1.doPhase(publicKey2, true);&lt;br /&gt;
    byte[] sharedKey1 = ka1.generateSecret();&lt;br /&gt;
    System.out.println(&amp;quot;1 is using &amp;quot; + new BigInteger(1, sharedKey1) + &amp;quot; for its shared key&amp;quot;);&lt;br /&gt;
    ka2.doPhase(publicKey1, true);&lt;br /&gt;
    byte[] sharedKey2 = ka2.generateSecret();&lt;br /&gt;
    System.out.println(&amp;quot;2 is using &amp;quot; + new BigInteger(1, sharedKey2) + &amp;quot; for its shared key&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  PBE key spec ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import javax.crypto.SecretKey;&lt;br /&gt;
import javax.crypto.SecretKeyFactory;&lt;br /&gt;
import javax.crypto.spec.PBEKeySpec;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    PBEKeySpec keySpec = new PBEKeySpec(&amp;quot;charArray&amp;quot;.toCharArray());&lt;br /&gt;
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(&amp;quot;PBEWithMD5AndDES&amp;quot;);&lt;br /&gt;
    SecretKey key = keyFactory.generateSecret(keySpec);&lt;br /&gt;
    System.out.println(new String(key.getEncoded()));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Rich DES Key ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.security.SecureRandom;&lt;br /&gt;
import javax.crypto.KeyGenerator;&lt;br /&gt;
import javax.crypto.SecretKey;&lt;br /&gt;
import javax.crypto.SecretKeyFactory;&lt;br /&gt;
import javax.crypto.spec.DESKeySpec;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    KeyGenerator keyGen = KeyGenerator.getInstance(&amp;quot;DES&amp;quot;);&lt;br /&gt;
    SecureRandom random = SecureRandom.getInstance(&amp;quot;SHA1PRNG&amp;quot;, &amp;quot;SUN&amp;quot;);&lt;br /&gt;
    random.setSeed(101L);&lt;br /&gt;
    keyGen.init(56, random);&lt;br /&gt;
    SecretKey sKey = keyGen.generateKey();&lt;br /&gt;
    SecretKeyFactory kfactory = SecretKeyFactory.getInstance(&amp;quot;DES&amp;quot;);&lt;br /&gt;
    DESKeySpec kspec = (DESKeySpec) kfactory.getKeySpec(sKey, DESKeySpec.class);&lt;br /&gt;
    System.out.println(sKey);&lt;br /&gt;
    FileOutputStream fos = new FileOutputStream(&amp;quot;secretKeys&amp;quot;);&lt;br /&gt;
    ObjectOutputStream oos = new ObjectOutputStream(fos);&lt;br /&gt;
    oos.writeObject(kspec.getKey());&lt;br /&gt;
    FileInputStream fin = new FileInputStream(&amp;quot;secretKeys&amp;quot;);&lt;br /&gt;
    ObjectInputStream ois = new ObjectInputStream(fin);&lt;br /&gt;
    byte[] kMaterial = (byte[]) ois.readObject();&lt;br /&gt;
    DESKeySpec keyspec = new DESKeySpec(kMaterial);&lt;br /&gt;
    SecretKey newKey = kfactory.generateSecret(keyspec);&lt;br /&gt;
    System.out.println(newKey);&lt;br /&gt;
    System.out.println(&amp;quot;Do the keys equal :&amp;quot; + newKey.equals(sKey));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use DSAKey ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.math.BigInteger;&lt;br /&gt;
import java.security.KeyFactory;&lt;br /&gt;
import java.security.KeyPair;&lt;br /&gt;
import java.security.KeyPairGenerator;&lt;br /&gt;
import java.security.PublicKey;&lt;br /&gt;
import java.security.SecureRandom;&lt;br /&gt;
import java.security.spec.DSAPublicKeySpec;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    KeyPairGenerator keyGen = KeyPairGenerator.getInstance(&amp;quot;DSA&amp;quot;);&lt;br /&gt;
    SecureRandom random = SecureRandom.getInstance(&amp;quot;SHA1PRNG&amp;quot;, &amp;quot;SUN&amp;quot;);&lt;br /&gt;
    random.setSeed(101L);&lt;br /&gt;
    keyGen.initialize(1024, random);&lt;br /&gt;
    KeyPair keypair = keyGen.generateKeyPair();&lt;br /&gt;
    KeyFactory kfactory = KeyFactory.getInstance(&amp;quot;DSA&amp;quot;);&lt;br /&gt;
    DSAPublicKeySpec kspec = (DSAPublicKeySpec) kfactory.getKeySpec(keypair.getPublic(),&lt;br /&gt;
        DSAPublicKeySpec.class);&lt;br /&gt;
    System.out.println(keypair.getPublic());&lt;br /&gt;
    FileOutputStream fos = new FileOutputStream(&amp;quot;publicKeys&amp;quot;);&lt;br /&gt;
    ObjectOutputStream oos = new ObjectOutputStream(fos);&lt;br /&gt;
    oos.writeObject(kspec.getY());&lt;br /&gt;
    oos.writeObject(kspec.getP());&lt;br /&gt;
    oos.writeObject(kspec.getQ());&lt;br /&gt;
    oos.writeObject(kspec.getG());&lt;br /&gt;
    FileInputStream fin = new FileInputStream(&amp;quot;publicKeys&amp;quot;);&lt;br /&gt;
    ObjectInputStream ois = new ObjectInputStream(fin);&lt;br /&gt;
    BigInteger Y = (BigInteger) ois.readObject();&lt;br /&gt;
    BigInteger P = (BigInteger) ois.readObject();&lt;br /&gt;
    BigInteger Q = (BigInteger) ois.readObject();&lt;br /&gt;
    BigInteger G = (BigInteger) ois.readObject();&lt;br /&gt;
    DSAPublicKeySpec keyspec = new DSAPublicKeySpec(Y, P, Q, G);&lt;br /&gt;
    PublicKey pkey = kfactory.generatePublic(keyspec);&lt;br /&gt;
    System.out.println(pkey);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*Sun DSA Public Key&lt;br /&gt;
    Parameters:&lt;br /&gt;
    p:&lt;br /&gt;
    fd7f5381 1d751229 52df4a9c 2eece4e7 f611b752 3cef4400 c31e3f80 b6512669&lt;br /&gt;
    455d4022 51fb593d 8d58fabf c5f5ba30 f6cb9b55 6cd7813b 801d346f f26660b7&lt;br /&gt;
    6b9950a5 a49f9fe8 047b1022 c24fbba9 d7feb7c6 1bf83b57 e7c6a8a6 150f04fb&lt;br /&gt;
    83f6d3c5 1ec30235 54135a16 9132f675 f3ae2b61 d72aeff2 2203199d d14801c7&lt;br /&gt;
    q:&lt;br /&gt;
    9760508f 15230bcc b292b982 a2eb840b f0581cf5&lt;br /&gt;
    g:&lt;br /&gt;
    f7e1a085 d69b3dde cbbcab5c 36b857b9 7994afbb fa3aea82 f9574c0b 3d078267&lt;br /&gt;
    5159578e bad4594f e6710710 8180b449 167123e8 4c281613 b7cf0932 8cc8a6e1&lt;br /&gt;
    3c167a8b 547c8d28 e0a3ae1e 2bb3a675 916ea37f 0bfa2135 62f1fb62 7a01243b&lt;br /&gt;
    cca4f1be a8519089 a883dfe1 5ae59f06 928b665e 807b5525 64014c3b fecf492a&lt;br /&gt;
  y:&lt;br /&gt;
    ab67aa43 9e8ea5c8 904b1afe 89ae185a 4ef595cf ca9b9114 f05373dc 193cddd3&lt;br /&gt;
    baefb0f8 8bd858ea d78632c2 6481c9e0 a4f56878 8f4b0f10 d505ee57 4b1c7d5d&lt;br /&gt;
    1196ddf0 1003578f 16272cb6 94f92796 57efd826 50287f9d b6f7e512 75fa4316&lt;br /&gt;
    5961aef6 ba663ab8 81c57606 554e4fb6 830b9a7b ce32d5a3 a708d09b 3b6aa8ff&lt;br /&gt;
Sun DSA Public Key&lt;br /&gt;
    Parameters:&lt;br /&gt;
    p:&lt;br /&gt;
    fd7f5381 1d751229 52df4a9c 2eece4e7 f611b752 3cef4400 c31e3f80 b6512669&lt;br /&gt;
    455d4022 51fb593d 8d58fabf c5f5ba30 f6cb9b55 6cd7813b 801d346f f26660b7&lt;br /&gt;
    6b9950a5 a49f9fe8 047b1022 c24fbba9 d7feb7c6 1bf83b57 e7c6a8a6 150f04fb&lt;br /&gt;
    83f6d3c5 1ec30235 54135a16 9132f675 f3ae2b61 d72aeff2 2203199d d14801c7&lt;br /&gt;
    q:&lt;br /&gt;
    9760508f 15230bcc b292b982 a2eb840b f0581cf5&lt;br /&gt;
    g:&lt;br /&gt;
    f7e1a085 d69b3dde cbbcab5c 36b857b9 7994afbb fa3aea82 f9574c0b 3d078267&lt;br /&gt;
    5159578e bad4594f e6710710 8180b449 167123e8 4c281613 b7cf0932 8cc8a6e1&lt;br /&gt;
    3c167a8b 547c8d28 e0a3ae1e 2bb3a675 916ea37f 0bfa2135 62f1fb62 7a01243b&lt;br /&gt;
    cca4f1be a8519089 a883dfe1 5ae59f06 928b665e 807b5525 64014c3b fecf492a&lt;br /&gt;
  y:&lt;br /&gt;
    ab67aa43 9e8ea5c8 904b1afe 89ae185a 4ef595cf ca9b9114 f05373dc 193cddd3&lt;br /&gt;
    baefb0f8 8bd858ea d78632c2 6481c9e0 a4f56878 8f4b0f10 d505ee57 4b1c7d5d&lt;br /&gt;
    1196ddf0 1003578f 16272cb6 94f92796 57efd826 50287f9d b6f7e512 75fa4316&lt;br /&gt;
    5961aef6 ba663ab8 81c57606 554e4fb6 830b9a7b ce32d5a3 a708d09b 3b6aa8ff&lt;br /&gt;
*/&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>