/// <summary>認証付き暗号(AEAD)による本文 暗号化</summary> /// <param name="cekBytes">コンテンツ暗号化キー(CEK)</param> /// <param name="ivBytes">初期化ベクトル</param> /// <param name="aadBytes">追加認証データ(AAD)</param> /// <param name="payloadBytes">ペイロード</param> /// <returns>AeadResult</returns> protected override AeadResult CreateBody(byte[] cekBytes, byte[] ivBytes, byte[] aadBytes, byte[] payloadBytes) { AeadA128CbcHS256 aesA128CbcHs256 = new AeadA128CbcHS256(cekBytes, ivBytes, aadBytes); aesA128CbcHs256.Encrypt(payloadBytes); return(aesA128CbcHs256.Result); }
/// <summary>認証付き暗号(AEAD)による本文 復号化</summary> /// <param name="cekBytes">コンテンツ暗号化キー(CEK)</param> /// <param name="ivBytes">初期化ベクトル</param> /// <param name="aadBytes">追加認証データ(AAD)</param> /// <param name="aeadResult">AeadResult</param> /// <returns>byte[] </returns> protected override byte[] DecryptBody(byte[] cekBytes, byte[] ivBytes, byte[] aadBytes, AeadResult aeadResult) { AeadA128CbcHS256 aesA128CbcHs256 = new AeadA128CbcHS256(cekBytes, ivBytes, aadBytes); return(aesA128CbcHs256.Decrypt(aeadResult)); }