36 lines
996 B
C#
36 lines
996 B
C#
|
namespace chestcrypto{
|
||
|
|
||
|
public class DoublePublicKey{
|
||
|
|
||
|
private byte[] signingPublicKey = new byte[32];
|
||
|
private byte[] encryptPublicKey = new byte[32];
|
||
|
|
||
|
private string[] signingPublicKeyString;
|
||
|
private string[] encryptPublicKeyString;
|
||
|
|
||
|
public byte[] getRawDouble(){
|
||
|
return ByteCombiner.Combine(signingPublicKey, encryptPublicKey);
|
||
|
}
|
||
|
|
||
|
|
||
|
public DoublePublicKey(byte[] sign, byte[] encrypt){
|
||
|
signingPublicKey = sign;
|
||
|
encryptPublicKey = encrypt;
|
||
|
}
|
||
|
|
||
|
public DoublePublicKey(byte[] joinedKey){
|
||
|
if (joinedKey.Length != 64){
|
||
|
throw new InvalidDoubleKeyException();
|
||
|
}
|
||
|
for (int i = 0; i < joinedKey.Length; i++){
|
||
|
if (i < 32){
|
||
|
this.signingPublicKey[i] = joinedKey[i];
|
||
|
continue;
|
||
|
}
|
||
|
this.encryptPublicKey[i - 32] = joinedKey[i];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|