<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Destiny of A Coder : Cryptography</title>
	<atom:link href="http://kriptografi.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://kriptografi.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 03 Sep 2008 08:02:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='kriptografi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Destiny of A Coder : Cryptography</title>
		<link>http://kriptografi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://kriptografi.wordpress.com/osd.xml" title="Destiny of A Coder : Cryptography" />
	<atom:link rel='hub' href='http://kriptografi.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Mixing : SHA dan MD5, plus Salt</title>
		<link>http://kriptografi.wordpress.com/2008/09/03/mixing-sha-dan-md5-plus-salt/</link>
		<comments>http://kriptografi.wordpress.com/2008/09/03/mixing-sha-dan-md5-plus-salt/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 08:02:24 +0000</pubDate>
		<dc:creator>myself</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kriptografi.wordpress.com/?p=9</guid>
		<description><![CDATA[Sekarang gimana melakukan enkripsi satu arah (oneway encryption) namun mengkolaborasikan 2 methode, yaitu SHA dan MD5 , mungkin cara ini rada gak lazim, soalnya gak boleh melakukan enkripsi berganda, salah-salah malah kembali keliatan aselinya .. ha ha ha. Sebelumnya code2 di atas berupa Java, namun yang ini dicoba dalam .NET. Silakan menyimak. &#8212;&#8212;&#8212;&#8211; prinsipnya kira:  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=9&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sekarang gimana melakukan enkripsi satu arah (oneway encryption) namun mengkolaborasikan 2 methode, yaitu SHA dan MD5 , mungkin cara ini rada gak lazim, soalnya gak boleh melakukan enkripsi berganda, salah-salah malah kembali keliatan aselinya .. ha ha ha.</p>
<p>Sebelumnya code2 di atas berupa Java, namun yang ini dicoba dalam .NET. Silakan menyimak.</p>
<p>&#8212;&#8212;&#8212;&#8211;</p>
<p>prinsipnya kira: </p>
<p>Encrypting<br />
1. Generate a Random &#8220;Salt&#8221; Value<br />
2. Merge the string (after encode by SHA) to encrypt with the &#8220;Salt&#8221;<br />
3. MD5 the merged string<br />
4. Save the MD5 Hash in one location and the Salt in another, usually a separate &#8220;Table&#8221; in your DBMS (Database Management System)</p>
<p>Testing<br />
1. Locate the saved &#8220;Salt&#8221;<br />
2. Merge the string( after encode by SHA)  and the saved &#8220;Salt&#8221;<br />
3. MD5 the <br />
4. Test the new MD5 hash against the saved, if a match is found allow usage to whatever you were protecting.</p>
<p>&#8212;&#8212;&#8212;&#8212;-</p>
<p>    Private Shared EncStringBytes() As Byte</p>
<p>    Private Shared Encoder As New UTF8Encoding</p>
<p>    Private Shared MD5Hasher As New MD5CryptoServiceProvider</p>
<p>    Private Shared objSync As New Object</p>
<p> </p>
<p> </p>
<p> </p>
<p>    &#8217;Encrptes the string in MD5 when passed as a string</p>
<p> </p>
<p>    Public Function Encrypt(ByVal EncString As String) As String</p>
<p>        &#8217;Variable Declarations</p>
<p> </p>
<p>        Dim RanGen As New Random</p>
<p>        Dim RanString As String = &#8220;&#8221;</p>
<p>        Dim MD5String As String</p>
<p>        Dim RanSaltLoc As String</p>
<p> </p>
<p>        &#8217;Generates a Random number of under 4 digits</p>
<p> </p>
<p>        While RanString.Length &lt;= 3</p>
<p>            RanString = RanString &amp; RanGen.Next(0, 9)</p>
<p>        End While</p>
<p> </p>
<p>        &#8217;Converts the String to bytes</p>
<p>        Dim chiperCode As String = FormsAuthentication.HashPasswordForStoringInConfigFile(EncString, &#8220;SHA1&#8243;)</p>
<p> </p>
<p>        EncStringBytes = Encoder.GetBytes(chiperCode &amp; &#8220;AgainNextSalt&#8221; &amp; RanString)</p>
<p> </p>
<p>        &#8217;Generates the MD5 Byte Array</p>
<p> </p>
<p>        EncStringBytes = MD5Hasher.ComputeHash(EncStringBytes)</p>
<p> </p>
<p>        &#8217;Affixing Salt information into the MD5 hash</p>
<p> </p>
<p>        MD5String = BitConverter.ToString(EncStringBytes)</p>
<p>        MD5String = MD5String.Replace(&#8220;-&#8221;, Nothing)</p>
<p> </p>
<p>        &#8217;Finds a random location in the string to sit the salt</p>
<p> </p>
<p>        RanSaltLoc = RanGen.Next(4, MD5String.Length)</p>
<p> </p>
<p>        &#8217;Shoves the salt in the location</p>
<p> </p>
<p>        MD5String = MD5String.Insert(RanSaltLoc, RanString)</p>
<p> </p>
<p>        &#8217;Adds 0 for values under 10 so we always occupy 2 charater spaces</p>
<p> </p>
<p>        If RanSaltLoc &lt; 10 Then</p>
<p>            RanSaltLoc = &#8220;0&#8243; &amp; RanSaltLoc</p>
<p>        End If</p>
<p> </p>
<p>        &#8217;Shoves the salt location in the string at position 3</p>
<p> </p>
<p>        MD5String = MD5String.Insert(3, RanSaltLoc)</p>
<p> </p>
<p>        &#8217;Returns the MD5 encrypted string to the calling object</p>
<p> </p>
<p>        Return MD5String</p>
<p>    End Function</p>
<p> </p>
<p>    Public Shared Function Verify(ByVal S As String, ByVal chiper As String) As Boolean</p>
<p>        &#8217;Variable Declarations</p>
<p> </p>
<p>        Dim SaltAddress As Double</p>
<p>        Dim SaltID As String</p>
<p>        Dim NewHash As String</p>
<p> </p>
<p>        &#8217;Finds the Salt Address and Removes the Salt Address from the string</p>
<p> </p>
<p>        SaltAddress = chiper.Substring(3, 2)</p>
<p>        chiper = chiper.Remove(3, 2)</p>
<p> </p>
<p>        &#8217;Finds the SaltID and removes it from the string</p>
<p> </p>
<p>        SaltID = chiper.Substring(SaltAddress, 4)</p>
<p>        chiper = chiper.Remove(SaltAddress, 4)</p>
<p>        Dim chiperCode As String = FormsAuthentication.HashPasswordForStoringInConfigFile(S, &#8220;SHA1&#8243;)</p>
<p> </p>
<p>        &#8217;Converts the string passed to us to Bytes</p>
<p> </p>
<p>        EncStringBytes = Encoder.GetBytes(chiperCode &amp; &#8220;AgainNextSalt&#8221; &amp; SaltID)</p>
<p> </p>
<p>        &#8217;Encryptes the string passed to us with the salt</p>
<p> </p>
<p>        EncStringBytes = MD5Hasher.ComputeHash(EncStringBytes)</p>
<p> </p>
<p>        &#8217;Converts the Hash to a string</p>
<p> </p>
<p>        NewHash = BitConverter.ToString(EncStringBytes)</p>
<p>        NewHash = NewHash.Replace(&#8220;-&#8221;, Nothing)</p>
<p> </p>
<p>        &#8217;Tests the new has against the one passed to us</p>
<p> </p>
<p>        If NewHash = chiper Then</p>
<p>            Return True</p>
<p>        ElseIf NewHash &lt;&gt; chiper Then</p>
<p>            Return False</p>
<p>        End If</p>
<p>    End Function</p>
<p> </p>
<p>Sumber: <a href="http://www.codeproject.com/KB/dotnet/istmd5.aspx?display=Print">http://www.codeproject.com/KB/dotnet/istmd5.aspx?display=Print</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kriptografi.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kriptografi.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kriptografi.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kriptografi.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kriptografi.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kriptografi.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kriptografi.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kriptografi.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kriptografi.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kriptografi.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=9&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kriptografi.wordpress.com/2008/09/03/mixing-sha-dan-md5-plus-salt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ede7e205fd82bfd8de77ccc993fa55ed?s=96&#38;d=identicon" medium="image">
			<media:title type="html">mybagusalfax</media:title>
		</media:content>
	</item>
		<item>
		<title>Implementasi Random Secure (SHA1PRNG)</title>
		<link>http://kriptografi.wordpress.com/2008/09/03/implementasi-random-secure-sha1prng/</link>
		<comments>http://kriptografi.wordpress.com/2008/09/03/implementasi-random-secure-sha1prng/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 06:03:40 +0000</pubDate>
		<dc:creator>myself</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kriptografi.wordpress.com/?p=7</guid>
		<description><![CDATA[Untuk meng-create bilangan random menggunakan SHA1PRNG code di Java sangat simple nih, silakan disima/*  * To change this template, choose Tools &#124; Templates  * and open the template in the editor.  */   package engine;   import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.logging.Level; import java.util.logging.Logger;     /**  *  * @author nora herawati  */ public class TestRandom [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=7&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Untuk meng-create bilangan random menggunakan SHA1PRNG code di Java sangat simple nih, silakan disima/*</p>
<p> * To change this template, choose Tools | Templates</p>
<p> * and open the template in the editor.</p>
<p> */</p>
<p> </p>
<p>package engine;</p>
<p> </p>
<p>import java.security.NoSuchAlgorithmException;</p>
<p>import java.security.SecureRandom;</p>
<p>import java.util.logging.Level;</p>
<p>import java.util.logging.Logger;</p>
<p> </p>
<p> </p>
<p>/**</p>
<p> *</p>
<p> * @author nora herawati</p>
<p> */</p>
<p>public class TestRandom {</p>
<p>    public static void main(String[] args){</p>
<p>             SecureRandom random;</p>
<p> </p>
<p>       try {</p>
<p>           random = SecureRandom.getInstance(&#8220;SHA1PRNG&#8221;);</p>
<p> </p>
<p>               byte seed[] = random.generateSeed(20);</p>
<p>           random.setSeed(seed);</p>
<p> </p>
<p>     byte bytes[] = new byte[20];</p>
<p>     random.nextBytes(bytes);</p>
<p> </p>
<p>           for (byte b : bytes) {</p>
<p> </p>
<p>     System.out.println(b);</p>
<p>           }</p>
<p> </p>
<p> </p>
<p>       } catch (NoSuchAlgorithmException ex) {</p>
<p>         </p>
<p>       }</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>   }</p>
<p>}</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kriptografi.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kriptografi.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kriptografi.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kriptografi.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kriptografi.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kriptografi.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kriptografi.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kriptografi.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kriptografi.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kriptografi.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=7&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kriptografi.wordpress.com/2008/09/03/implementasi-random-secure-sha1prng/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ede7e205fd82bfd8de77ccc993fa55ed?s=96&#38;d=identicon" medium="image">
			<media:title type="html">mybagusalfax</media:title>
		</media:content>
	</item>
		<item>
		<title>Implementasi SHA-1</title>
		<link>http://kriptografi.wordpress.com/2008/09/03/implementasi-sha-1/</link>
		<comments>http://kriptografi.wordpress.com/2008/09/03/implementasi-sha-1/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 06:00:10 +0000</pubDate>
		<dc:creator>myself</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kriptografi.wordpress.com/?p=5</guid>
		<description><![CDATA[Ketika menulis code Digital Signature untuk model DSA, biyasanya membutuhkan code hash SHA-1. Di bawah ini merupakan implementasi SHA-1 di Java yang saya temukan setelah googling. Silakan disimak. /*  * To change this template, choose Tools &#124; Templates  * and open the template in the editor.  */   package engine;   import java.io.BufferedReader; import java.io.ByteArrayInputStream; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=5&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ketika menulis code Digital Signature untuk model DSA, biyasanya membutuhkan code hash SHA-1. Di bawah ini merupakan implementasi SHA-1 di Java yang saya temukan setelah googling. Silakan disimak.</p>
<p>/*</p>
<p> * To change this template, choose Tools | Templates</p>
<p> * and open the template in the editor.</p>
<p> */</p>
<p> </p>
<p>package engine;</p>
<p> </p>
<p>import java.io.BufferedReader;</p>
<p>import java.io.ByteArrayInputStream;</p>
<p>import java.io.ByteArrayOutputStream;</p>
<p>import java.io.IOException;</p>
<p>import java.io.InputStreamReader;</p>
<p>import java.security.DigestInputStream;</p>
<p>import java.security.DigestOutputStream;</p>
<p>import java.security.MessageDigest;</p>
<p>import java.security.NoSuchAlgorithmException;</p>
<p>import java.security.Security;</p>
<p>import java.util.logging.Level;</p>
<p>import java.util.logging.Logger;</p>
<p> </p>
<p> </p>
<p>/**</p>
<p> *</p>
<p> * @author nora herawati</p>
<p> */</p>
<p> </p>
<p>import java.io.UnsupportedEncodingException;</p>
<p>import java.security.MessageDigest;</p>
<p>import java.security.NoSuchAlgorithmException;</p>
<p> </p>
<p> </p>
<p>public class TestSHA {</p>
<p>       private static String convertToHex(byte[] data) {</p>
<p>       StringBuffer buf = new StringBuffer();</p>
<p>       for (int i = 0; i &lt; data.length; i++) {</p>
<p>               int halfbyte = (data[i] &gt;&gt;&gt; 4) &amp; 0x0F;</p>
<p>               int two_halfs = 0;</p>
<p>               do {</p>
<p>                   if ((0 &lt;= halfbyte) &amp;&amp; (halfbyte &lt;= 9))</p>
<p>                       buf.append((char) (&#8217;0&#8242; + halfbyte));</p>
<p>                   else</p>
<p>                       buf.append((char) (&#8216;a&#8217; + (halfbyte &#8211; 10)));</p>
<p>                   halfbyte = data[i] &amp; 0x0F;</p>
<p>               } while(two_halfs++ &lt; 1);</p>
<p>       }</p>
<p>       return buf.toString();</p>
<p>   }</p>
<p> </p>
<p>   public static String SHA1(String text)</p>
<p>   throws NoSuchAlgorithmException, UnsupportedEncodingException  {</p>
<p>       MessageDigest md;</p>
<p>       md = MessageDigest.getInstance(&#8220;SHA-1&#8243;);</p>
<p>       byte[] sha1hash = new byte[40];</p>
<p>       md.update(text.getBytes(&#8220;iso-8859-1&#8243;), 0, text.length());</p>
<p>       sha1hash = md.digest();</p>
<p>       return convertToHex(sha1hash);</p>
<p>   }</p>
<p>  public static void main(String[] args) throws IOException </p>
<p>  {</p>
<p>       BufferedReader userInput = new BufferedReader (new InputStreamReader(System.in));</p>
<p>               System.out.println(&#8220;Enter string:&#8221;);</p>
<p>               String rawString = userInput.readLine();</p>
<p> </p>
<p> </p>
<p>               try {</p>
<p>                       System.out.println(&#8220;SHA1 hash of string: &#8221; + SHA1(rawString));</p>
<p>               } catch (NoSuchAlgorithmException e) {</p>
<p>                       // TODO Auto-generated catch block</p>
<p>                       e.printStackTrace();</p>
<p>               } catch (UnsupportedEncodingException e) {</p>
<p>                       // TODO Auto-generated catch block</p>
<p>                       e.printStackTrace();</p>
<p>               }</p>
<p>       }</p>
<p> </p>
<p> </p>
<p> </p>
<p>}</p>
<div></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kriptografi.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kriptografi.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kriptografi.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kriptografi.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kriptografi.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kriptografi.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kriptografi.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kriptografi.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kriptografi.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kriptografi.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=5&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kriptografi.wordpress.com/2008/09/03/implementasi-sha-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ede7e205fd82bfd8de77ccc993fa55ed?s=96&#38;d=identicon" medium="image">
			<media:title type="html">mybagusalfax</media:title>
		</media:content>
	</item>
		<item>
		<title>Aplikasi DSA di Java</title>
		<link>http://kriptografi.wordpress.com/2008/09/03/aplikasi-dsa-di-java/</link>
		<comments>http://kriptografi.wordpress.com/2008/09/03/aplikasi-dsa-di-java/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 05:51:26 +0000</pubDate>
		<dc:creator>myself</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kriptografi.wordpress.com/?p=3</guid>
		<description><![CDATA[Aku nemu code neh di Java, sangat simple, untuk implementasi DSA. Silakan dicoba, asik banget pokoknya.   /*  * To change this template, choose Tools &#124; Templates  * and open the template in the editor.  */   package vipercomm;   import java.security.InvalidKeyException; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.KeyStore; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; import [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=3&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Aku nemu code neh di Java, sangat simple, untuk implementasi DSA. Silakan dicoba, asik banget pokoknya.</p>
<p> </p>
<p>/*</p>
<p> * To change this template, choose Tools | Templates</p>
<p> * and open the template in the editor.</p>
<p> */</p>
<p> </p>
<p>package vipercomm;</p>
<p> </p>
<p>import java.security.InvalidKeyException;</p>
<p>import java.security.KeyPair;</p>
<p>import java.security.KeyPairGenerator;</p>
<p>import java.security.KeyStore;</p>
<p>import java.security.NoSuchAlgorithmException;</p>
<p>import java.security.PrivateKey;</p>
<p>import java.security.PublicKey;</p>
<p>import java.security.Signature;</p>
<p>import java.security.SignatureException;</p>
<p> </p>
<p>/**</p>
<p> *</p>
<p> * @author Pengguna</p>
<p> */</p>
<p>public class NewMain {</p>
<p> </p>
<p>    /**</p>
<p>     * @param args the command line arguments</p>
<p>     */</p>
<p>    public static void main(String[] args) {</p>
<p>        // TODO code application logic here</p>
<p>      try </p>
<p>    {  </p>
<p>     </p>
<p>     // 1. Get the bytes in the Message. </p>
<p>      </p>
<p>     String strMessage = &#8221; Hello World !&#8221;; </p>
<p>     byte [  ]  bMessage = strMessage.getBytes (  ) ; </p>
<p>      </p>
<p>     // 2. Get the PrivateKey and the PublicKey. </p>
<p>      </p>
<p>     KeyPair keyPair = KeyPairGenerator.getInstance ( &#8220;DSA&#8221; ) .generateKeyPair (  ) ; </p>
<p>      </p>
<p>     PrivateKey privateKey = keyPair.getPrivate (  ) ; </p>
<p>     PublicKey publicKey = keyPair.getPublic (  ) ; </p>
<p>      </p>
<p>     // Incorrect Public Key </p>
<p>      </p>
<p>     KeyPair keyPairIncorrect = KeyPairGenerator.getInstance ( &#8220;DSA&#8221; ) .generateKeyPair (  ) ; </p>
<p>     PublicKey publicKeyIncorrect = keyPairIncorrect.getPublic (  ) ; </p>
<p>      </p>
<p>     // 3. Encrypt the Data. </p>
<p>      </p>
<p>     Signature signature = Signature.getInstance ( &#8220;DSA&#8221; ) ; </p>
<p>      </p>
<p>     signature.initSign (  privateKey  ) ; </p>
<p>     signature.update (  bMessage  ) ; </p>
<p> </p>
<p>      </p>
<p>     // 4. Get the Signature, by signing the message. </p>
<p>      </p>
<p>     byte [  ]  bSignature = signature.sign (  ) ; </p>
<p>      </p>
<p>     // 5. Decrypt the Signature with the Public Key and get the Message Digest. </p>
<p>      </p>
<p>     Signature signaturePublic = Signature.getInstance ( &#8220;DSA&#8221; ) ; </p>
<p>      </p>
<p>      </p>
<p>     // 6. Authentication </p>
<p>      </p>
<p>     signaturePublic.initVerify ( publicKey ) ; </p>
<p>     signaturePublic.update ( bMessage ) ; </p>
<p>      </p>
<p>     // 6. Check if the Signatures Match. </p>
<p>      </p>
<p>     boolean b = signaturePublic.verify (  bSignature  ) ; </p>
<p>      </p>
<p>     if ( b )  </p>
<p>      {  </p>
<p>       System.out.println ( &#8221; The Signature is Good &#8221; + b ) ;   </p>
<p>      }  </p>
<p>     else </p>
<p>      {  </p>
<p>       System.out.println ( &#8221; The Signature is Bad &#8221; + b ) ;       </p>
<p>      }      </p>
<p>    }  </p>
<p>   catch  ( NoSuchAlgorithmException e )  </p>
<p>    {  </p>
<p>     e.printStackTrace (  ) ; </p>
<p>    }  </p>
<p>   catch  ( SignatureException e )  </p>
<p>    {  </p>
<p>     e.printStackTrace (  ) ; </p>
<p>    }  </p>
<p>   catch  ( InvalidKeyException e )  </p>
<p>    {  </p>
<p>     e.printStackTrace (  ) ; </p>
<p>    }  </p>
<p>   catch  ( Exception e )  </p>
<p>    {  </p>
<p>     e.printStackTrace (  ) ; </p>
<p>    }</p>
<p>    }</p>
<p> </p>
<p>}</p>
<div></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/kriptografi.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/kriptografi.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kriptografi.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/kriptografi.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/kriptografi.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/kriptografi.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/kriptografi.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/kriptografi.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/kriptografi.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/kriptografi.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kriptografi.wordpress.com&amp;blog=4709539&amp;post=3&amp;subd=kriptografi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://kriptografi.wordpress.com/2008/09/03/aplikasi-dsa-di-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ede7e205fd82bfd8de77ccc993fa55ed?s=96&#38;d=identicon" medium="image">
			<media:title type="html">mybagusalfax</media:title>
		</media:content>
	</item>
	</channel>
</rss>
