我有一个密钥(比如)“thisist0psecret”,我想将它用作Google Tink library的对称加密/解密密钥。我很困惑,我无法做这个简单的事情。我可以生成新密钥(使用各种模板 AES128_GCM 等),对它们进行序列化,然后使用 KeysetReader 将它们读回。但是,在我的一生中,我无法弄清楚如何使用我指定的特定密钥字节创建对称密钥。
例如,我可以使用 Tink 执行以下操作:
KeysetHandle ksh = KeysetHandle.generateNew(AeadKeyTemplates.AES128_GCM);
Aead aead = AeadFactory.getPrimitive(ksh);
String pt = "hello, world!";
byte[] encbytes = aead.encrypt(pt.getBytes(), null);
byte[] decbytes = aead.decrypt(encbytes, null);
String orig = new String(decbytes);
assert(pt.equals(orig));
但是我想将对称密钥字符串设置为我指定的一组字节,例如“thisist0psecret”,然后使用将进行解密的用户的公钥加密此密钥。
这里有任何可以提供一些启示的 Google Tink 专家吗?