<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments on: How does Weave use Cryptography?</title>
	<atom:link href="http://kix.in/2009/10/11/how-does-weave-use-cryptography/feed/" rel="self" type="application/rss+xml" />
	<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/</link>
	<description>Anant Narayanan</description>
	<lastBuildDate>Thu, 05 Apr 2012 05:24:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Why should you encrypt user data? &#171; Binary Sunrise</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1376</link>
		<dc:creator><![CDATA[Why should you encrypt user data? &#171; Binary Sunrise]]></dc:creator>
		<pubDate>Tue, 02 Aug 2011 23:34:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1376</guid>
		<description><![CDATA[[...] of the things I like most about Firefox Sync is that all my browsing data is encrypted before anything leaves my computer. This wasn&#8217;t easy to do, there is a ton of engineering [...]]]></description>
		<content:encoded><![CDATA[<p>[...] of the things I like most about Firefox Sync is that all my browsing data is encrypted before anything leaves my computer. This wasn&#8217;t easy to do, there is a ton of engineering [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Delicious Bookmarks for December 13th from 18:47 to 21:50 &#171; Lâmôlabs</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1048</link>
		<dc:creator><![CDATA[Delicious Bookmarks for December 13th from 18:47 to 21:50 &#171; Lâmôlabs]]></dc:creator>
		<pubDate>Tue, 14 Dec 2010 03:02:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1048</guid>
		<description><![CDATA[[...] How does Weave use Cryptography? &#171; Binary Sunrise &#8211; December 13th  ( tags: firefox sync api encryption weave how article explanation bookmarks ) [...]]]></description>
		<content:encoded><![CDATA[<p>[...] How does Weave use Cryptography? &laquo; Binary Sunrise &#8211; December 13th  ( tags: firefox sync api encryption weave how article explanation bookmarks ) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus Wolschon</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1047</link>
		<dc:creator><![CDATA[Marcus Wolschon]]></dc:creator>
		<pubDate>Tue, 09 Nov 2010 06:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1047</guid>
		<description><![CDATA[I&#039;m trying to write a plugin for DolplinHD (a browser for android) to support Firefox 4 Sync (version 3) but am struggling with the crypto in Java. I could not find my way around the C++ -source of Firefox for Android (have the code here).

Somehow I never end up with a valid RSA-key in step 4.

my step 3 is:
private static SecretKeySpec passwordToSymmetricKey(final char[] password, byte[] salt) throws Exception {
		// http://stackoverflow.com/questions/992019/java-256bit-aes-encryption
		SecretKeyFactory f = SecretKeyFactory.getInstance(&quot;PBKDF2WithHmacSHA1&quot;);
		KeySpec ks = new PBEKeySpec(password, salt, 1024, 128);
		SecretKey s = f.generateSecret(ks);
		SecretKeySpec k = new SecretKeySpec(s.getEncoded(), &quot;AES&quot;);

		return k;
	}

my step 4 is:
SecretKeySpec symmetricKey = passwordToSymmetricKey(passphrase.toCharArray(), salt);
			Cipher cipher = Cipher.getInstance(&quot;AES/CBC/NoPadding&quot;);
			IvParameterSpec ips = new IvParameterSpec(iv);
			cipher.init(Cipher.UNWRAP_MODE, symmetricKey, ips);
			Key decryptedPrivKey = cipher.unwrap(privKey, &quot;RSA&quot;, Cipher.PRIVATE_KEY);

the problem:
&quot;invalid key format&quot; (trying to parse the key as PKCS8=ASN.1)]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m trying to write a plugin for DolplinHD (a browser for android) to support Firefox 4 Sync (version 3) but am struggling with the crypto in Java. I could not find my way around the C++ -source of Firefox for Android (have the code here).</p>
<p>Somehow I never end up with a valid RSA-key in step 4.</p>
<p>my step 3 is:<br />
private static SecretKeySpec passwordToSymmetricKey(final char[] password, byte[] salt) throws Exception {<br />
		// <a href="http://stackoverflow.com/questions/992019/java-256bit-aes-encryption" rel="nofollow">http://stackoverflow.com/questions/992019/java-256bit-aes-encryption</a><br />
		SecretKeyFactory f = SecretKeyFactory.getInstance(&#8220;PBKDF2WithHmacSHA1&#8243;);<br />
		KeySpec ks = new PBEKeySpec(password, salt, 1024, 128);<br />
		SecretKey s = f.generateSecret(ks);<br />
		SecretKeySpec k = new SecretKeySpec(s.getEncoded(), &#8220;AES&#8221;);</p>
<p>		return k;<br />
	}</p>
<p>my step 4 is:<br />
SecretKeySpec symmetricKey = passwordToSymmetricKey(passphrase.toCharArray(), salt);<br />
			Cipher cipher = Cipher.getInstance(&#8220;AES/CBC/NoPadding&#8221;);<br />
			IvParameterSpec ips = new IvParameterSpec(iv);<br />
			cipher.init(Cipher.UNWRAP_MODE, symmetricKey, ips);<br />
			Key decryptedPrivKey = cipher.unwrap(privKey, &#8220;RSA&#8221;, Cipher.PRIVATE_KEY);</p>
<p>the problem:<br />
&#8220;invalid key format&#8221; (trying to parse the key as PKCS8=ASN.1)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xentience (Internal) Blog &#187; Ars examines Chrome and Firefox bookmark sync protocols</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1046</link>
		<dc:creator><![CDATA[Xentience (Internal) Blog &#187; Ars examines Chrome and Firefox bookmark sync protocols]]></dc:creator>
		<pubDate>Sat, 09 Oct 2010 06:33:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1046</guid>
		<description><![CDATA[[...] dry and beyond the scope of this article, but Mozilla&#8217;s Anant Narayanan has published a very clear and accessible overview that is worth a look if such things interest you. It&#8217;s not all that intimidating if you know [...]]]></description>
		<content:encoded><![CDATA[<p>[...] dry and beyond the scope of this article, but Mozilla&#8217;s Anant Narayanan has published a very clear and accessible overview that is worth a look if such things interest you. It&#8217;s not all that intimidating if you know [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Kriegisch</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1044</link>
		<dc:creator><![CDATA[Alexander Kriegisch]]></dc:creator>
		<pubDate>Sat, 30 Jan 2010 14:23:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1044</guid>
		<description><![CDATA[I suggest that you or one of your peers create one or more illustrative pics explaining the above article more comprehensively. I know quite something about crypto, but many other uses do not. The illustration could be similar to a UML sequence diagram (http://en.wikipedia.org/wiki/Sequence_diagram) and show which steps happen on the client vs. server side. Who en-/decrypts what, where and when?]]></description>
		<content:encoded><![CDATA[<p>I suggest that you or one of your peers create one or more illustrative pics explaining the above article more comprehensively. I know quite something about crypto, but many other uses do not. The illustration could be similar to a UML sequence diagram (<a href="http://en.wikipedia.org/wiki/Sequence_diagram" rel="nofollow">http://en.wikipedia.org/wiki/Sequence_diagram</a>) and show which steps happen on the client vs. server side. Who en-/decrypts what, where and when?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Le blog de Xavier &#8230; &#187; Blog Archive &#187; Quoi de neuf cette semaine &#8230;</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1043</link>
		<dc:creator><![CDATA[Le blog de Xavier &#8230; &#187; Blog Archive &#187; Quoi de neuf cette semaine &#8230;]]></dc:creator>
		<pubDate>Sat, 16 Jan 2010 09:34:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1043</guid>
		<description><![CDATA[[...] me semble avoir été traitée correctement (pour les curieux et les paranoïaques c&#8217;est ICI). Petit rappel : Weave permet de synchroniser bookmarks, historique, mots de passe et paramétrage [...]]]></description>
		<content:encoded><![CDATA[<p>[...] me semble avoir été traitée correctement (pour les curieux et les paranoïaques c&#8217;est ICI). Petit rappel : Weave permet de synchroniser bookmarks, historique, mots de passe et paramétrage [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mozilla&#8217;s Weave and cryptography. &#171; My Blog</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1042</link>
		<dc:creator><![CDATA[Mozilla&#8217;s Weave and cryptography. &#171; My Blog]]></dc:creator>
		<pubDate>Wed, 21 Oct 2009 13:04:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1042</guid>
		<description><![CDATA[[...] Unfortunately, I didn&#8217;t even try building the component due to lack of time. But before bringing my little exploration to a halt, I tried to find some more information about how their cryptography module is utilized by the Weave extension but I didn&#8217;t had any luck. However, after a month or so, a friend of mine passed me this wonderful link: How does Weave use Cryptography? [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Unfortunately, I didn&#8217;t even try building the component due to lack of time. But before bringing my little exploration to a halt, I tried to find some more information about how their cryptography module is utilized by the Weave extension but I didn&#8217;t had any luck. However, after a month or so, a friend of mine passed me this wonderful link: How does Weave use Cryptography? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Smörgåsbord &#187; Weave: Browser bookmark &#38; password syncing The Right Way</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1041</link>
		<dc:creator><![CDATA[Smörgåsbord &#187; Weave: Browser bookmark &#38; password syncing The Right Way]]></dc:creator>
		<pubDate>Sun, 18 Oct 2009 11:46:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1041</guid>
		<description><![CDATA[[...] Details on Weave&#8217;s crypto [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Details on Weave&#8217;s crypto [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: voracity</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1040</link>
		<dc:creator><![CDATA[voracity]]></dc:creator>
		<pubDate>Tue, 13 Oct 2009 10:11:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1040</guid>
		<description><![CDATA[I may have misunderstood but does that mean if you share your symmetric key (e.g. for bookmarks) with someone, you can&#039;t revoke it later without regenerating the symmetric key for that component?]]></description>
		<content:encoded><![CDATA[<p>I may have misunderstood but does that mean if you share your symmetric key (e.g. for bookmarks) with someone, you can&#8217;t revoke it later without regenerating the symmetric key for that component?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anant</title>
		<link>http://kix.in/2009/10/11/how-does-weave-use-cryptography/#comment-1039</link>
		<dc:creator><![CDATA[Anant]]></dc:creator>
		<pubDate>Mon, 12 Oct 2009 14:50:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.kix.in/blog/?p=530#comment-1039</guid>
		<description><![CDATA[@Anonymous: We have considered providing support for custom user keys, though the focus right now is on a stable and reliable 1.0 release. As for how Weave interacts with &quot;clear recent history&quot;, your history might get synced but the entries will quickly be deleted on the next cycle (the action of clearing recent history would trigger a sync).

@Gerv: We&#039;re definitely thinking about deriving the password from the passphrase. thunder has been working on a spec: it&#039;s available at https://wiki.mozilla.org/Labs/Weave/WEP/100 (Comments welcome!)]]></description>
		<content:encoded><![CDATA[<p>@Anonymous: We have considered providing support for custom user keys, though the focus right now is on a stable and reliable 1.0 release. As for how Weave interacts with &#8220;clear recent history&#8221;, your history might get synced but the entries will quickly be deleted on the next cycle (the action of clearing recent history would trigger a sync).</p>
<p>@Gerv: We&#8217;re definitely thinking about deriving the password from the passphrase. thunder has been working on a spec: it&#8217;s available at <a href="https://wiki.mozilla.org/Labs/Weave/WEP/100" rel="nofollow">https://wiki.mozilla.org/Labs/Weave/WEP/100</a> (Comments welcome!)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

