anchor.diff:  
   (function( $ ) {	
   	$(document).ready( function() {
  +		$(".scrypto-passphrase").each( function() {
  +			$(this).html(	"<label for='scrypto-passphrase'>Passphrase</label>" +
  +							"<input id='scrypto-passphrase' type='password' />")
  +			
  +			if($(".scrypto-decrypt").length > 0) {
  +				var crypto = new $.fn.scrypto
  +				var key_attribute = $(this).attr("data-scrypto-key-attribute")
  +				
  +				$(this).html($(this).html() + "<a href='#' id='scrypto-decrypt'>Decrypt</a>")
  +				
  +				$("#scrypto-decrypt").bind('click', function() {
  +					var keys = JSON.parse(window[key_attribute])
  +					var decryption_key = crypto.decrypt_decryption_key($("#scrypto-passphrase").val(), Base64.decode(keys.decryption))
  +					
  +					$(".scrypto-decrypt").each( function() {
  +						var message = JSON.parse(Base64.decode($(this).text()))
  +						var accessible_message_key = sjcl.decrypt(decryption_key, message.recipient_message_keys[keys.id])
  +						$(this).text(sjcl.decrypt(JSON.parse(accessible_message_key), message.encrypted_fields.message_body))
  +					})
  +				})
  +			}
  +		})
  +		
   		$(".scrypto-entropy").each( function() {
   			var crypto = new $.fn.scrypto
   			
  -			$(this).html("<span>Entropy: </span><span id='entropy'></span>")
  +			$(this).html("<span>Entropy: </span><span id='entropy'>0%</span>")
   			
   			$(window).bind('mousemove', crypto.collect_entropy)
   			sjcl.random.startCollectors()
   		})
   		
  -		$(".scrypto-key-generator").each( function() {
  +		$(".scrypto-key-fields").each( function() {
   			var crypto = new $.fn.scrypto
   			
  -			$(this).find(".scrypto").html("" + 
  -				"<input type='hidden' id='owner_id' name='key_ring[owner_id]' />" +
  -				"<input type='hidden' id='owner_type' name='key_ring[owner_type]' />" +
  +			$(this).html("" + 
   				"<input type='hidden' id='secured_decryption' name='key_ring[secured_decryption]' />" +
   				"<input type='hidden' id='encryption' name='key_ring[encryption]' />" +
   				"<input type='hidden' id='secured_signing' name='key_ring[secured_signing]' />" +
  -				"<input type='hidden' id='verification' name='key_ring[verification]' />" +
  -				"<label for='scrypto-passphrase'>Passphrase</label><br>" +
  -				"<input id='scrypto-passphrase' type='password' />")
  -			
  -			$(this).bind('submit', function (event) {			
  +				"<input type='hidden' id='verification' name='key_ring[verification]' />")
  +			
  +			$(this).parents("form").bind('submit', function (event) {			
   				var k = crypto.generate_keys()
   				k = crypto.encrypt_keys($("#scrypto-passphrase").val(), k)
   				
  
positive.code: 		$("form.scrypto").each( function() {
  			var crypto = new $.fn.scrypto
  			var form = $(this)
  			
  			var fields = { }
  			
  			form.find(".scrypto-encrypt").each( function() {
  				fields[$(this).attr("id")] = $(this).val()
  			})
  			
  			var public_keys = {}
  			
  			try {
  				form.bind('submit', function(event) {
  					if(!form.attr("data-scrypto-recipients")) {
  						alert("no recipients")
  						return false
  
negative.code: 					
  					var message = crypto.encrypt_fields(form.attr("data-scrypto-recipients"), fields)
  
  					$(".scrypto-output").first().val(Base64.encode(JSON.stringify(message)))
  
  					return true
  				})
  			} catch (e) {
  