diff --git a/Cargo.lock b/Cargo.lock
index 1d44e501bbc512aa87f34fe71a9eb8b4430a323b..39acb8cf09b5d1c91a60ebc72913257a3d065bcc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -90,6 +90,7 @@ dependencies = [
  "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "base64 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -103,6 +104,7 @@ dependencies = [
  "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "regex 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -183,7 +185,11 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
+<<<<<<< HEAD
 version = "0.3.6"
+=======
+version = "0.3.5"
+>>>>>>> 45969d4...  add serde crate in crypto & documents (+cargo update)
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -194,7 +200,11 @@ name = "quote"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+<<<<<<< HEAD
  "proc-macro2 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+=======
+ "proc-macro2 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+>>>>>>> 45969d4...  add serde crate in crypto & documents (+cargo update)
 ]
 
 [[package]]
@@ -300,9 +310,15 @@ name = "serde_derive"
 version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+<<<<<<< HEAD
  "proc-macro2 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive_internals 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)",
+=======
+ "proc-macro2 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive_internals 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)",
+>>>>>>> 45969d4...  add serde crate in crypto & documents (+cargo update)
  "syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -311,7 +327,11 @@ name = "serde_derive_internals"
 version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+<<<<<<< HEAD
  "proc-macro2 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+=======
+ "proc-macro2 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+>>>>>>> 45969d4...  add serde crate in crypto & documents (+cargo update)
  "syn 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -320,8 +340,13 @@ name = "syn"
 version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+<<<<<<< HEAD
  "proc-macro2 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+=======
+ "proc-macro2 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+>>>>>>> 45969d4...  add serde crate in crypto & documents (+cargo update)
  "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -414,8 +439,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
 "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
 "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
+<<<<<<< HEAD
 "checksum proc-macro2 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "49b6a521dc81b643e9a51e0d1cf05df46d5a2f3c0280ea72bcb68276ba64a118"
 "checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8"
+=======
+"checksum proc-macro2 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "77997c53ae6edd6d187fec07ec41b207063b5ee6f33680e9fa86d405cdd313d4"
+"checksum quote 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7b0ff51282f28dc1b53fd154298feaa2e77c5ea0dba68e1fd8b03b72fbe13d2a"
+>>>>>>> 45969d4...  add serde crate in crypto & documents (+cargo update)
 "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1"
 "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5"
 "checksum rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80e811e76f1dbf68abf87a759083d34600017fc4e10b6bd5ad84a700f9dba4b1"
diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml
index eb02b40032768fac856cc3ecc744fe9f4e223be6..3cb39c12d4eb7e7fcfc80f160c6285ea26559ce8 100644
--- a/crypto/Cargo.toml
+++ b/crypto/Cargo.toml
@@ -15,6 +15,7 @@ path = "lib.rs"
 base58 = "0.1.0"
 base64 = "0.8.0"
 rust-crypto = "0.2.36"
+serde = "1.0.24"
 
 [features]
 # Treat warnings as a build error.
diff --git a/documents/Cargo.toml b/documents/Cargo.toml
index de28ba5ffb6f71c5b8f200a0b9aed21e7b33a34a..cc0e5620497b6697d20bf9e23ebfbea93510f16a 100644
--- a/documents/Cargo.toml
+++ b/documents/Cargo.toml
@@ -12,13 +12,14 @@ license = "AGPL-3.0"
 path = "lib.rs"
 
 [dependencies]
-rust-crypto = "0.2.36"
-linked-hash-map = "0.5.0"
 base58 = "0.1.0"
 base64 = "0.8.0"
+duniter-crypto = { path = "../crypto" }
 lazy_static = "1.0.0"
+linked-hash-map = "0.5.0"
 regex = "0.2"
-duniter-crypto = { path = "../crypto" }
+rust-crypto = "0.2.36"
+serde = "1.0.24"
 
 [features]
 # Treat warnings as a build error.