blob: 56d80f535d0e6dd40e991959aaaab8e2a7eadb9a (
plain) (
blame)
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
|
using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Pqc.Crypto.Crystals.Kyber
{
public sealed class KyberPublicKeyParameters
: KyberKeyParameters
{
private readonly byte[] m_t;
private readonly byte[] m_rho;
public byte[] GetEncoded()
{
return Arrays.Concatenate(m_t, m_rho);
}
public KyberPublicKeyParameters(KyberParameters parameters, byte[] encoding)
: base(false, parameters)
{
m_t = Arrays.CopyOfRange(encoding, 0, encoding.Length - KyberEngine.SymBytes);
m_rho = Arrays.CopyOfRange(encoding, encoding.Length - KyberEngine.SymBytes, encoding.Length);
}
public KyberPublicKeyParameters(KyberParameters parameters, byte[] t, byte[] rho)
: base(false, parameters)
{
m_t = Arrays.Clone(t);
m_rho = Arrays.Clone(rho);
}
}
}
|