blob: 2b9ac4366eb15cb32f5a1494a409bb89317890aa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
/*
* PK Operation Types
* (C) 2010 Jack Lloyd
*
* Distributed under the terms of the Botan license
*/
#ifndef BOTAN_PK_OPERATIONS_H__
#define BOTAN_PK_OPERATIONS_H__
#include <botan/secmem.h>
namespace Botan {
namespace PK_Ops {
/*
* A generic Key Agreement Operation (eg DH or ECDH)
*/
class BOTAN_DLL KA_Operation
{
public:
/*
* Perform a key agreement operation
* @param w the other key value
* @param w_len the length of w in bytes
* @returns the agreed key
*/
virtual SecureVector<byte> agree(const byte w[], u32bit w_len) const = 0;
virtual ~KA_Operation() {}
};
}
}
#endif
|