diff --git a/NTCPSession.cpp b/NTCPSession.cpp
index 85580813..7d53c541 100644
--- a/NTCPSession.cpp
+++ b/NTCPSession.cpp
@@ -34,7 +34,7 @@ namespace ntcp
 	void NTCPSession::CreateAESKey (uint8_t * pubKey, uint8_t * aesKey)
 	{
 		CryptoPP::DH dh (elgp, elgg);
-		uint8_t sharedKey[64];
+		uint8_t sharedKey[256];
 		if (!dh.Agree (sharedKey, m_DHKeysPair->privateKey, pubKey))
 		{    
 		    LogPrint ("Couldn't create shared key");
diff --git a/SSU.cpp b/SSU.cpp
index b398a56c..dffd338a 100644
--- a/SSU.cpp
+++ b/SSU.cpp
@@ -38,7 +38,7 @@ namespace ssu
 	void SSUSession::CreateAESandMacKey (const uint8_t * pubKey, uint8_t * aesKey, uint8_t * macKey)
 	{
 		CryptoPP::DH dh (i2p::crypto::elgp, i2p::crypto::elgg);
-		uint8_t sharedKey[64];
+		uint8_t sharedKey[256];
 		if (!dh.Agree (sharedKey, m_DHKeysPair->privateKey, pubKey))
 		{    
 		    LogPrint ("Couldn't create shared key");