Updated changelog
This commit is contained in:
		
							parent
							
								
									ee2bd4f4c5
								
							
						
					
					
						commit
						0bf70698e5
					
				@ -123,17 +123,19 @@ inline void keyMul(uint8_t* target_buffer, const uint8_t* publicKey /* compresse
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool CryptionHandler::setupSharedSecretNew(const std::string &alpha, const std::string &beta, const char* privateKey /* uncompressed */, const char* publicKey /* compressed */) {
 | 
					bool CryptionHandler::setupSharedSecretNew(const std::string &alpha, const std::string &beta, const char* privateKey /* uncompressed */, const char* publicKey /* compressed */) {
 | 
				
			||||||
	assert(alpha.length() == 10);
 | 
						if(alpha.length() != 10 || beta.length() != 54)
 | 
				
			||||||
	assert(beta.length() == 54);
 | 
							return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	uint8_t shared[32];
 | 
						uint8_t shared[32];
 | 
				
			||||||
	uint8_t shared_iv[64];
 | 
						uint8_t shared_iv[64];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ed25519_key_exchange(shared, (uint8_t*) publicKey, (uint8_t*) privateKey);
 | 
				
			||||||
	keyMul(shared, reinterpret_cast<const uint8_t *>(publicKey), reinterpret_cast<const uint8_t *>(privateKey), true); //Remote key get negated
 | 
						keyMul(shared, reinterpret_cast<const uint8_t *>(publicKey), reinterpret_cast<const uint8_t *>(privateKey), true); //Remote key get negated
 | 
				
			||||||
	digest::sha512((const char*) shared, 32, shared_iv);
 | 
						digest::sha512((char*) shared, 32, shared_iv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	auto xor_key = alpha + beta;
 | 
						auto xor_key = alpha + beta;
 | 
				
			||||||
	for(int i = 0; i < 64; i++)
 | 
						for(int i = 0; i < 64; i++)
 | 
				
			||||||
		shared_iv[i] ^= xor_key[i];
 | 
							shared_iv[i] ^= (uint8_t) xor_key[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		lock_guard lock(this->cache_key_lock);
 | 
							lock_guard lock(this->cache_key_lock);
 | 
				
			||||||
@ -141,15 +143,13 @@ bool CryptionHandler::setupSharedSecretNew(const std::string &alpha, const std::
 | 
				
			|||||||
		this->iv_struct_length = 64;
 | 
							this->iv_struct_length = 64;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		uint8_t mac_buffer[SHA_DIGEST_LENGTH];
 | 
							uint8_t mac_buffer[SHA_DIGEST_LENGTH];
 | 
				
			||||||
		digest::sha1((const char*) this->iv_struct, 64, mac_buffer);
 | 
							digest::sha1((char*) this->iv_struct, 64, mac_buffer);
 | 
				
			||||||
		memcpy(this->current_mac, mac_buffer, 8);
 | 
							memcpy(this->current_mac, mac_buffer, 8);
 | 
				
			||||||
 | 
					 | 
				
			||||||
		//auto digest_buffer = digest::sha1((char*) this->iv_struct, 64);
 | 
					 | 
				
			||||||
		//memcpy(this->current_mac, digest_buffer.data(), 8);
 | 
					 | 
				
			||||||
		this->useDefaultChipherKeyNonce = false;
 | 
							this->useDefaultChipherKeyNonce = false;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return true;
 | 
						return true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool CryptionHandler::generate_key_nonce(protocol::BasicPacket* packet, bool use_default, uint8_t(& key)[16], uint8_t(& nonce)[16]){
 | 
					bool CryptionHandler::generate_key_nonce(protocol::BasicPacket* packet, bool use_default, uint8_t(& key)[16], uint8_t(& nonce)[16]){
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user