(out, nonce, plaintext, additionalData []byte)
| 478 | func (f *xorNonceAEAD) explicitNonceLen() int { return 0 } |
| 479 | |
| 480 | func (f *xorNonceAEAD) Seal(out, nonce, plaintext, additionalData []byte) []byte { |
| 481 | for i, b := range nonce { |
| 482 | f.nonceMask[4+i] ^= b |
| 483 | } |
| 484 | result := f.aead.Seal(out, f.nonceMask[:], plaintext, additionalData) |
| 485 | for i, b := range nonce { |
| 486 | f.nonceMask[4+i] ^= b |
| 487 | } |
| 488 | |
| 489 | return result |
| 490 | } |
| 491 | |
| 492 | func (f *xorNonceAEAD) Open(out, nonce, ciphertext, additionalData []byte) ([]byte, error) { |
| 493 | for i, b := range nonce { |