예제 #1
0
 public function testDerivation()
 {
     $input = 'presumablyADiffieHellmanResult';
     $derivation = AES::deriveKey($input);
     $arbitraryText = 'correcthorsebatterystaple';
     $derivedKey = AES::deriveKey($arbitraryText);
     // var_dump($derivedKey);
     $this->assertEquals('CfSmnHxb6DEdPg7+/+LmPrbHIjFb6e0Z5fzv+psTKSM=', $derivation, 'derivation works');
 }
예제 #2
0
 public function calculateSymmetricKey($publicKey = null, $deriveKey = true)
 {
     if ($publicKey == null) {
         $publicKey = $this->getPublicKey();
     }
     $diffieHellman = ECC::diffieHellman($publicKey, $this->getPrivateKey());
     if ($deriveKey) {
         return AES::deriveKey($diffieHellman);
     }
     return $diffieHellman;
 }