<div dir="ltr">@JulianOliver:<div><br></div><div>I've thought about having a more polished interface, including multilevel menus, etc. They've told me all of this would be possible with jquery. But then PassLok would have to call a (large) piece of outside code, which would violate the offline rule.</div>

<div><br></div><div>It can probably be done with pure javascript, but my knowledge of the language doesn't go that far. Any suggestions will be appreciated.</div><div><br></div><div>Thanks for your great comments.</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Jul 27, 2013 at 8:07 AM, Julian Oliver <span dir="ltr"><<a href="mailto:julian@julianoliver.com" target="_blank">julian@julianoliver.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">..on Fri, Jul 26, 2013 at 03:42:02PM -0500, Francisco Ruiz wrote:<br>
> Scenario: you, Alice, realize you're under NSA surveillance. You need to<br>
> get a crucial bit of information to your friend Bob, right away.<br>
> You've been using PGP, but now you suspect the NSA may have installed a bug<br>
> on your machine. Your keystrokes are being recorded.<br>
><br>
> What can you do? Use PassLok instead.<br>
><br>
> I wrote PassLok with three guiding principles in mind:<br>
> 1. Absolutely nothing should be installed or even written in the computer.<br>
> Alice should be able to go to the local library or borrow someone else's<br>
> smartphone, and leave no traces behind.<br>
> 2. Best security available. No compromises.<br>
> 3. Graphical interface. Only one screen, as clean as possible.<br>
><br>
> Therefore, PassLok is written entirely in javascript. Once you load the<br>
> page at <a href="https://passlok.site44.com" target="_blank">https://passlok.site44.com</a> (<a href="http://passlok.com" target="_blank">http://passlok.com</a> redirects you<br>
> there), you can save the file and you have PassLok even offline. You can<br>
> view the source and convince yourself that it is not connecting with any<br>
> server. If you know some cryptography, you can see that it is using the<br>
> well-known SJCL routines for AES encryption/decryption and elliptic curve<br>
> functions. Since the elliptic curves implemented in the current version of<br>
> SJCL only go up to the 384-bit NIST curve, I added the 521-bit NIST curve<br>
> (equivalent to a 15000-bit RSA key in predicted security) so that PassLok<br>
> uses that as a default. Even at 521 bits, the public keys are small, as you<br>
> can see from my lock (public key) below.<br>
><br>
> PassLok performs public-key cryptography using the Diffie-Hellman key<br>
> exchange rather than RSA, so you can use whatever secret key you want.<br>
> Hopefully something that is both very hard to guess and easy to remember,<br>
> so you never have to write it down. PassLok will help you to come up with a<br>
> strong key, but won't force you in any way.<br>
><br>
> PassLok can sign and verify signatures, too (many PGP implementations, such<br>
> as Mailvelope, cannot), and can also include a second secret message under<br>
> a separate key, to beat the "rubberhose attack." If you are not sure about<br>
> the authenticity of something, PassLock can make a short ID that you can<br>
> read over the phone. All of it from a single screen.<br>
><br>
> I want people to use PassLok and uncover any bugs it might still have,<br>
> before I move on to a Gmail plugin based on its engine. I believe it is<br>
> already very secure and easy to use by those who know a little<br>
> cryptography. Hopefully the metaphor used throughout PassLok, about locks<br>
> and keys rather than private/public key pairs, will also make it usable by<br>
> novices.<br>
><br>
> I'll appreciate any feedback you can give me. The link is repeated at the<br>
> bottom.<br>
<br>
</div></div>I haven't given it an audit but so far it appears to be a very nice<br>
implementation. Congratulations. And yes, it passed the offline, locally hosted<br>
test ;)<br>
<br>
I feel clicking on the title 'Key / Lock Conbination' for instructions would<br>
baffle most people. The 'step by step instructions' page is good, but I think it<br>
could be more helpfully integrated. Perhaps you could have a drop-down menu for<br>
each use case, with instructions appearing as hints in each field.<br>
<br>
Again, great work and a great contribution!<br>
<br>
Cheers,<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Julian Oliver<br>
PGP B6E9FD9A<br>
<a href="http://julianoliver.com" target="_blank">http://julianoliver.com</a><br>
<a href="http://criticalengineering.org" target="_blank">http://criticalengineering.org</a><br>
</font></span><div class="HOEnZb"><div class="h5">--<br>
Too many emails? Unsubscribe, change to digest, or change password by emailing moderator at <a href="mailto:companys@stanford.edu">companys@stanford.edu</a> or changing your settings at <a href="https://mailman.stanford.edu/mailman/listinfo/liberationtech" target="_blank">https://mailman.stanford.edu/mailman/listinfo/liberationtech</a><br>


</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Francisco Ruiz<br>Associate Professor<br>MMAE department<br>Illinois Institute of Technology<br><div><br></div><div><font color="#000000"><span style="line-height:18px">PL12lok=KpYv+bqJ7pq0eqC664UlIcwfl1P8f8p12NUqFdg2bQ2gTQTBuOo09BQs3GGiYOQUuQmtnoceAxJoSzjvYEYOM0q=PL12lok</span></font><br>

</div><div><span style="color:rgb(0,0,0);font-size:13px;line-height:18px"><br></span></div><div><span style="color:rgb(0,0,0);font-size:13px;line-height:18px">get the PassLok privacy app at: <a href="http://passlok.com" target="_blank">http://passlok.com</a></span></div>

</div>
</div>