diff --git a/lib/salmon/salmon.rb b/lib/salmon/salmon.rb
index 15e1c3e1e7cd5a8455e3063e80b220f4f2c6defc..82893a59d0a92815dbca5a9d70bb91cb839b214a 100644
--- a/lib/salmon/salmon.rb
+++ b/lib/salmon/salmon.rb
@@ -41,7 +41,19 @@ end
 module Salmon
 
   class SalmonSlap
-    attr_accessor :magic_sig, :author, :author_email, :parsed_data, :data_type, :sig
+    attr_accessor :magic_sig, :author, :author_email, :aes_key, :iv, :parsed_data,
+                  :data_type, :sig
+
+    def self.create(user, activity)
+      salmon = self.new
+      salmon.author = user.person
+      aes_key_hash = user.person.gen_aes_key
+      salmon.aes_key = aes_key_hash['key']
+      salmon.iv      = aes_key_hash['iv']
+      salmon.magic_sig = MagicSigEnvelope.create(user , user.person.aes_encrypt(activity, aes_key_hash))
+      salmon
+    end
+   
     def self.parse(xml)
       slap = self.new
       doc = Nokogiri::XML(xml)
@@ -65,13 +77,6 @@ module Salmon
       slap
     end
 
-    def self.create(user, activity)
-      salmon = self.new
-      salmon.author = user.person
-      salmon.magic_sig = MagicSigEnvelope.create(user , activity)
-      salmon
-    end
-
     def to_xml
       xml =<<ENTRY
     <?xml version='1.0' encoding='UTF-8'?>
diff --git a/spec/lib/salmon_salmon_spec.rb b/spec/lib/salmon_salmon_spec.rb
index b75a90abda7ab357fc9989ba0bcab4b84595028f..ef24b50375260e83f0eb4565684a8e6cedc885a5 100644
--- a/spec/lib/salmon_salmon_spec.rb
+++ b/spec/lib/salmon_salmon_spec.rb
@@ -18,7 +18,17 @@ describe Salmon do
     it 'has no parsed_data' do
       created_salmon.parsed_data.should be nil
     end
+    
+    it 'sets aes and iv key' do
+      created_salmon.aes_key.should_not be nil
+      created_salmon.iv.should_not be nil
+    end
 
+    it 'should make the data in the signature encrypted with that key' do
+      key_hash = {'key' => created_salmon.aes_key, 'iv' => created_salmon.iv}
+      decoded_string = Salmon::SalmonSlap.decode64url(created_salmon.magic_sig.data)
+      user.aes_decrypt(decoded_string, key_hash).to_s.should == post.to_diaspora_xml.to_s
+    end
   end
 
   context 'round trip' do