. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
<html>
<head>
<title>AnyClip Cloud Generator</title>
<style>
@font-face { font-family: 'Myriad Pro'; src: local('Myriad Pro Regular'), local('Myriad Pro'), url('http://static2.anyclipimg.com/fonts/MyriadPro-Regular.otf') format('opentype'); }
@font-face { font-family: 'Myriad Pro'; font-weight: bold; src: local('Myriad Pro Bold'), url('http://static2.anyclipimg.com/fonts/MyriadPro-Bold.otf') format('opentype'); }
@font-face { font-family: 'Myriad Pro'; font-style: italic; src: local('Myriad Pro Italic'), url('http://static2.anyclipimg.com/fonts/MyriadPro-It.otf') format('opentype'); }
@font-face { font-family: 'Myriad Pro'; font-weight: bold; font-style: italic; src: local('Myriad Pro Bold Italic'), url('http://static2.anyclipimg.com/fonts/MyriadPro-BoldIt.otf') format('opentype'); }
body,input,textarea,pre { font-family: "Myriad Pro", Myriad, "Myriad Web Pro", Helvetica, Arial, sans-serif; }
</style>
</head>
<body>
<img src="/labs-logo.png" align="right">
<h2>AnyClip Cloud Generator</h2>
<form method="POST" action="generate.php">
<label>Width: <input name="width" value="2000"></label><br>
<label>Height: <input name="height" value="1000"></label><br><br>
<label>Text:<br><textarea name="text" rows="10">
alert
alias
Apple
assembly
auditorium
authorization~not~recognized
auto~pilot~malfunction
backpack
bandage
beam~down
beam~down
beam~down
beam~up
beam~up
beam~up
beam~up
bedroom
Beer
Beer
Blow~up
Blow~up
Blow~up
bones
Budweiser~Brewery~Anheuser-Busch~Inc
cadet~uniform
cadet~uniform
Cal-State~University
Captain-cadet
Captain-Commander
Captain-Commander
Captain-Commander
Captain-Commander
Captain-crew
Captain-crew
Captain-Doctor
Captain-first~officer
captain's~log
Car
cave
Chase
clipboard
Collapse
Commander-cadet
Commander-underlings
Competitor
Competitor
Competitor
cotton~pads
Crash
Cry
Deform
delta~vega
delta~vega
Die
dissuade
Dodger~Stadium,
dress
Drill
drilling~platform
drilling~platform
drilling~platform
drilling~platform
drilling~platform
drilling~platform
drink
Drive
drop~suits
Drown
Earth~Space~dock
easter~egg
elevator
Enemy
Enemy
Enemy
Enemy
Enemy
Enemy
bridge
bridge
bridge
bridge
bridge
bridge
bridge
bridge
enterprise~engine~room
escape
Evacuate
Fall
Fall
family
Father-Son
Father-Son
Father-Son
Fight
Fight
Fight
Fight
Fight
Fight
Fight
Fight
Fight
Fight
flask
Friend
Friend
Friend
Friend
Friend
Friend
Friend
Friend
Friend
Friends
Friends
Friends
Friends
future~spock~tells~his~story
give~birth
goggles
Grab~boobs
green
Greeting
Greeting
grieve
Gun
headscarf
headset
Hit
hospital~gown
Hostage
Hurt
hypospray
I'm~a~doctor,~not~a
I'm~giving~it~all~she's~got~captain
Inject
Insectoid
journey~to~babel
Jump
Jump
Jump
Keenser
kirk~and~spock~argue
kirk~gets~spock~to~snap
Kiss
Kiss
launch
Lingerie
Lingerie
Lingerie
live~long~and~prosper
Long~Beach~City~Hall
Long~Beach~City~Hall
Lovers
Lovers
Lovers
Lovers
Make~out
Manuver
medal
medic~uniform
medic~uniform
medical~bay
Minister-spock
Mother-Son
Motorcycle
Motorcycle
name
name~signs
Narada
Narada
Narada
Narada
Narada
narada
Narada
Narada
Narada
Narada
nemesis
nero~interrogates~pike
Nyota
order
Orion~female
parachute
parachute
parachute
parachute
parka
parka
Phaser
pike's~motivational~talk
plan
Polarilla
police~uniform
Police-Boy
Prepare
projection
promote
pub
Push
rack
recognize
red~matter
red~matter
red~matter
red~matter
report
Rescue
resign
rivals
rivals
road
romulans
roof
roommates
russian~accent
sabotage
Scare
school
Schoolmates
Shoot
Shoot
Shoot
Shoot
Shoot
Shoot
Shot
shot
Shuttle
Shuttle
Shuttle
Shuttle
Shuttle
Shuttle
Shuttle
shuttle~hanger
sick~bay
simulation~room
Sneak
space,~the~final~frontier
space,~the~final~frontier
Spaceship
Spaceship
spaceship~console~alerts
spaceship~model
spock's~home
spock's~ship
star~fleet~academy
star~fleet~base
star~trek
star~trek
Starfleet~Academy
swollen~hands
Sword
take~control
take~off
take~off
take~off
tape~recorder
Teral'n
terminated
Test
Test
the~naked~time
the~wrath~of~khan
the~wrath~of~khan
Theme~from~star~trek
Threat
Time~Travel
tongs
torch
Torture
transporter~room
transporter~room
transporter~room
transporter~room
tricorder
tricorder
uhura's~name
USS~Enterprise
USS~Enterprise
USS~Enterprise
USS~Enterprise
USS~Enterprise
USS~Enterprise
USS~Enterprise
USS~Farragut
USS~Kelvin
USS~Kelvin
USS~Kelvin
USS~Kelvin
valve~controls
Vasquez~Rocks~Natural~Area~Park
vials
Vision
vulcan
vulcan
vulcan~mind~meld
vulcan~science~academy
vulcan~student~robes
warning
warning
warp~core
Warp~speed
Warp~speed
wheelchair
wheelchair
Wife-Husband
Wife-Husband
Wife-Husband
wool~cap
young~and~older~spock
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
ZX2C4
</textarea></label><br>
<label>Configuration:<br><textarea name="configuration" cols="80" rows="15">
# Lines with the hash in front don't do anything. They are comments.
# Lines without the hash, you should examine.
# Possible choices are:
# Myriad/MyriadPro-Black.ttf Myriad/MyriadPro-It.ttf
# Myriad/MyriadPro-BlackIt.ttf Myriad/MyriadPro-Light.ttf
# Myriad/MyriadPro-Bold.ttf Myriad/MyriadPro-LightIt.ttf
# Myriad/MyriadPro-BoldCond.ttf Myriad/MyriadPro-Regular.ttf
# Myriad/MyriadPro-BoldCondIt.ttf Myriad/MyriadPro-Semibold.ttf
# Myriad/MyriadPro-BoldIt.ttf Myriad/MyriadPro-SemiboldIt.ttf
# Myriad/MyriadPro-Cond.ttf Myriad/MyriadStd-Sketch.ttf
# Myriad/MyriadPro-CondIt.ttf Myriad/MyriadStd-Tilt.ttf
font: Myriad/MyriadPro-Black.ttf
# This means it's going to count the frequency of words. Don't touch this.
format: text
# Text encoding. Again, don't touch this one.
inputencoding: UTF-8
# Case folding -- send everything to upper or lower case
# Possible values: Upper, Lower
# If you want to use this, remove the hash in front of the line below
#casefold: Lower
# Background color
# Colors should be specified as HTML colors.
background: 000000
# Palette
# These are the colors of the words, also as HTML colors.
# You can have this be only 1 color if you want,
# or add a bunch of colors by having the colors seperated by a comma.
palette: FFFFFF
# Maximum number of words to show
maxwords: 800
# The "placement strategy" to use
# Possible values:
# HorizontalCenterLine
# VerticalCenterLine
# Alphabetical
# AlphabeticalVertical
# Center
# Capitalization and spelling are significant.
placement: HorizontalCenterLine
# The perimeter shape, either BLOBBY or SQUARISH
shape: BLOBBY
# The "orientation strategy" to use.
# Possible values:
# HORIZONTAL
# MOSTLY_HORIZONTAL
# HALF_AND_HALF
# MOSTLY_VERTICAL
# VERTICAL
# ANY_WHICH_WAY
orientation: HORIZONTAL
</textarea></label><br>
<input type="submit" value="Make Me A Word Cloud!" style="font-size: 14pt; font-weight: bold;">
</form>
</body>
</html>
from CachePath import *
from datetime import datetime
import json
import os
import os.path
from PIL import Image
from PIL.ExifTags import TAGS
import gc
class Album(object):
def __init__(self, path):
self._path = trim_base(path)
self._photos = list()
self._albums = list()
self._photos_sorted = True
self._albums_sorted = True
@property
def photos(self):
return self._photos
@property
def albums(self):
return self._albums
@property
def path(self):
return self._path
def __str__(self):
return self.path
@property
def cache_path(self):
return json_cache(self.path)
@property
def date(self):
self._sort()
if len(self._photos) == 0 and len(self._albums) == 0:
return datetime(1900, 1, 1)
elif len(self._photos) == 0:
return self._albums[-1].date
elif len(self._albums) == 0:
return self._photos[-1].date
return max(self._photos[-1].date, self._albums[-1].date)
def __cmp__(self, other):
return cmp(self.date, other.date)
def add_photo(self, photo):
self._photos.append(photo)
self._photos_sorted = False
def add_album(self, album):
self._albums.append(album)
self._albums_sorted = False
def _sort(self):
if not self._photos_sorted:
self._photos.sort()
self._photos_sorted = True
if not self._albums_sorted:
self._albums.sort()
self._albums_sorted = True
@property
def empty(self):
if len(self._photos) != 0:
return False
if len(self._albums) == 0:
return True
for album in self._albums:
if not album.empty:
return False
return True
def cache(self, base_dir):
self._sort()
fp = open(os.path.join(base_dir, self.cache_path), 'w')
json.dump(self, fp, cls=PhotoAlbumEncoder)
fp.close()
@staticmethod
def from_cache(path):
fp = open(path, "r")
dictionary = json.load(fp)
fp.close()
return Album.from_dict(dictionary)
@staticmethod
def from_dict(dictionary, cripple=True):
album = Album(dictionary["path"])
for photo in dictionary["photos"]:
album.add_photo(Photo.from_dict(photo, untrim_base(album.path)))
if not cripple:
for subalbum in dictionary["albums"]:
album.add_album(Album.from_dict(subalbum), cripple)
album._sort()
return album
def to_dict(self, cripple=True):
self._sort()
subalbums = []
if cripple:
for sub in self._albums:
if not sub.empty:
subalbums.append({ "path": trim_base_custom(sub.path, self._path), "date": sub.date })
else:
for sub in self._albums:
if not sub.empty:
subalbums.append(sub)
return { "path": self.path, "date": self.date, "albums": subalbums, "photos": self._photos }
def photo_from_path(self, path):
for photo in self._photos:
if trim_base(path) == photo._path:
return photo
return None
class Photo(object):
thumb_sizes = [ (75, True), (150, True), (640, False), (800, False), (1024, False) ]
def __init__(self, path, thumb_path=None, attributes=None):
self._path = trim_base(path)
self.is_valid = True
try:
mtime = file_mtime(path)
except KeyboardInterrupt:
raise
except:
self.is_valid = False
return
if attributes is not None and attributes["dateTimeFile"] >= mtime:
self._attributes = attributes
return
self._attributes = {}
self._attributes["dateTimeFile"] = mtime
try:
image = Image.open(path)
except KeyboardInterrupt:
raise
except:
self.is_valid = False
return
self._metadata(image)
self._thumbnails(image, thumb_path, path)
def _metadata(self, image):
self._attributes["size"] = image.size
self._orientation = 1
try:
info = image._getexif()
except KeyboardInterrupt:
raise
except:
return
if not info:
return
exif = {}
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
if (isinstance(value, tuple) or isinstance(value, list)) and (isinstance(decoded, str) or isinstance(decoded, unicode)) and decoded.startswith("DateTime") and len(value) >= 1:
value = value[0]
if isinstance(value, str) or isinstance(value, unicode):
value = value.strip().partition("\x00")[0]
if (isinstance(decoded, str) or isinstance(decoded, unicode)) and decoded.startswith("DateTime"):
try:
value = datetime.strptime(value, '%Y:%m:%d %H:%M:%S')
except KeyboardInterrupt:
raise
except:
continue
exif[decoded] = value
if "Orientation" in exif:
self._orientation = exif["Orientation"];
if self._orientation in range(5, 9):
self._attributes["size"] = (self._attributes["size"][1], self._attributes["size"][0])
if self._orientation - 1 < len(self._metadata.orientation_list):
self._attributes["orientation"] = self._metadata.orientation_list[self._orientation - 1]
if "Make" in exif:
self._attributes["make"] = exif["Make"]
if "Model" in exif:
self._attributes["model"] = exif["Model"]
if "ApertureValue" in exif:
self._attributes["aperture"] = exif["ApertureValue"]
elif "FNumber" in exif:
self._attributes["aperture"] = exif["FNumber"]
if "FocalLength" in exif:
self._attributes["focalLength"] = exif["FocalLength"]
if "ISOSpeedRatings" in exif:
self._attributes["iso"] = exif["ISOSpeedRatings"]
if "ISO" in exif:
self._attributes["iso"] = exif["ISO"]
if "PhotographicSensitivity" in exif:
self._attributes["iso"] = exif["PhotographicSensitivity"]
if "ExposureTime" in exif:
self._attributes["exposureTime"] = exif["ExposureTime"]
if "Flash" in exif and exif["Flash"] in self._metadata.flash_dictionary:
try:
self._attributes["flash"] = self._metadata.flash_dictionary[exif["Flash"]]
except KeyboardInterrupt:
raise
except:
pass
if "LightSource" in exif and exif["LightSource"] in self._metadata.light_source_dictionary:
try:
self._attributes["lightSource"] = self._metadata.light_source_dictionary[exif["LightSource"]]
except KeyboardInterrupt:
raise
except:
pass
if "ExposureProgram" in exif and exif["ExposureProgram"] < len(self._metadata.exposure_list):
self._attributes["exposureProgram"] = self._metadata.exposure_list[exif["ExposureProgram"]]
if "SpectralSensitivity" in exif:
self._attributes["spectralSensitivity"] = exif["SpectralSensitivity"]
if "MeteringMode" in exif and exif["MeteringMode"] < len(self._metadata.metering_list):
self._attributes["meteringMode"] = self._metadata.metering_list[exif["MeteringMode"]]
if "SensingMethod" in exif and exif["SensingMethod"] < len(self._metadata.sensing_method_list):
self._attributes["sensingMethod"] = self._metadata.sensing_method_list[exif["SensingMethod"]]
if "SceneCaptureType" in exif and exif["SceneCaptureType"] < len(self._metadata.scene_capture_type_list):
self._attributes["sceneCaptureType"] = self._metadata.scene_capture_type_list[exif["SceneCaptureType"]]
if "SubjectDistanceRange" in exif and exif["SubjectDistanceRange"] < len(self._metadata.subject_distance_range_list):
self._attributes["subjectDistanceRange"] = self._metadata.subject_distance_range_list[exif["SubjectDistanceRange"]]
if "ExposureCompensation" in exif:
self._attributes["exposureCompensation"] = exif["ExposureCompensation"]
if "ExposureBiasValue" in exif:
self._attributes["exposureCompensation"] = exif["ExposureBiasValue"]
if "DateTimeOriginal" in exif:
self._attributes["dateTimeOriginal"] = exif["DateTimeOriginal"]
if "DateTime" in exif:
self._attributes["dateTime"] = exif["DateTime"]
_metadata.flash_dictionary = {0x0: "No Flash", 0x1: "Fired",0x5: "Fired, Return not detected",0x7: "Fired, Return detected",0x8: "On, Did not fire",0x9: "On, Fired",0xd: "On, Return not detected",0xf: "On, Return detected",0x10: "Off, Did not fire",0x14: "Off, Did not fire, Return not detected",0x18: "Auto, Did not fire",0x19: "Auto, Fired",0x1d: "Auto, Fired, Return not detected",0x1f: "Auto, Fired, Return detected",0x20: "No flash function",0x30: "Off, No flash function",0x41: "Fired, Red-eye reduction",0x45: "Fired, Red-eye reduction, Return not detected",0x47: "Fired, Red-eye reduction, Return detected",0x49: "On, Red-eye reduction",0x4d: "On, Red-eye reduction, Return not detected",0x4f: "On, Red-eye reduction, Return detected",0x50: "Off, Red-eye reduction",0x58: "Auto, Did not fire, Red-eye reduction",0x59: "Auto, Fired, Red-eye reduction",0x5d: "Auto, Fired, Red-eye reduction, Return not detected",0x5f: "Auto, Fired, Red-eye reduction, Return detected"}
_metadata.light_source_dictionary = {0: "Unknown", 1: "Daylight", 2: "Fluorescent", 3: "Tungsten (incandescent light)", 4: "Flash", 9: "Fine weather", 10: "Cloudy weather", 11: "Shade", 12: "Daylight fluorescent (D 5700 - 7100K)", 13: "Day white fluorescent (N 4600 - 5400K)", 14: "Cool white fluorescent (W 3900 - 4500K)", 15: "White fluorescent (WW 3200 - 3700K)", 17: "Standard light A", 18: "Standard light B", 19: "Standard light C", 20: "D55", 21: "D65", 22: "D75", 23: "D50", 24: "ISO studio tungsten"}
_metadata.metering_list = ["Unknown", "Average", "Center-weighted average", "Spot", "Multi-spot", "Multi-segment", "Partial"]
_metadata.exposure_list = ["Not Defined", "Manual", "Program AE", "Aperture-priority AE", "Shutter speed priority AE", "Creative (Slow speed)", "Action (High speed)", "Portrait", "Landscape", "Bulb"]
_metadata.orientation_list = ["Horizontal (normal)", "Mirror horizontal", "Rotate 180", "Mirror vertical", "Mirror horizontal and rotate 270 CW", "Rotate 90 CW", "Mirror horizontal and rotate 90 CW", "Rotate 270 CW"]
_metadata.sensing_method_list = ["Not defined", "One-chip color area sensor", "Two-chip color area sensor", "Three-chip color area sensor", "Color sequential area sensor", "Trilinear sensor", "Color sequential linear sensor"]
_metadata.scene_capture_type_list = ["Standard", "Landscape", "Portrait", "Night scene"]
_metadata.subject_distance_range_list = ["Unknown", "Macro", "Close view", "Distant view"]
def _thumbnail(self, image, thumb_path, original_path, size, square=False):
thumb_path = os.path.join(thumb_path, image_cache(self._path, size, square))
info_string = "%s -> %spx" % (os.path.basename(original_path), str(size))
if square:
info_string += ", square"
message("thumbing", info_string)
if os.path.exists(thumb_path) and file_mtime(thumb_path) >= self._attributes["dateTimeFile"]:
return
gc.collect()
try:
image = image.copy()
except KeyboardInterrupt:
raise
except:
try:
image = image.copy() # we try again to work around PIL bug
except KeyboardInterrupt:
raise
except:
message("corrupt image", os.path.basename(original_path))
return
if square:
if image.size[0] > image.size[1]:
left = (image.size[0] - image.size[1]) / 2
top = 0
right = image.size[0] - ((image.size[0] - image.size[1]) / 2)
bottom = image.size[1]
else:
left = 0
top = (image.size[1] - image.size[0]) / 2
right = image.size[0]
bottom = image.size[1] - ((image.size[1] - image.size[0]) / 2)
image = image.crop((left, top, right, bottom))
gc.collect()
image.thumbnail((size, size), Image.ANTIALIAS)
try:
image.save(thumb_path, "JPEG", quality=88)
except KeyboardInterrupt:
try:
os.unlink(thumb_path)
except:
pass
raise
except:
message("save failure", os.path.basename(thumb_path))
try:
os.unlink(thumb_path)
except:
pass
def _thumbnails(self, image, thumb_path, original_path):
mirror = image
if self._orientation == 2:
# Vertical Mirror
mirror = image.transpose(Image.FLIP_LEFT_RIGHT)
elif self._orientation == 3:
# Rotation 180
mirror = image.transpose(Image.ROTATE_180)
elif self._orientation == 4:
# Horizontal Mirror
mirror = image.transpose(Image.FLIP_TOP_BOTTOM)
elif self._orientation == 5:
# Horizontal Mirror + Rotation 270
mirror = image.transpose(Image.FLIP_TOP_BOTTOM).transpose(Image.ROTATE_270)
elif self._orientation == 6:
# Rotation 270
mirror = image.transpose(Image.ROTATE_270)
elif self._orientation == 7:
# Vertical Mirror + Rotation 270
mirror = image.transpose(Image.FLIP_LEFT_RIGHT).transpose(Image.ROTATE_270)
elif self._orientation == 8:
# Rotation 90
mirror = image.transpose(Image.ROTATE_90)
for size in Photo.thumb_sizes:
self._thumbnail(mirror, thumb_path, original_path, size[0], size[1])
@property
def name(self):
return os.path.basename(self._path)
def __str__(self):
return self.name
@property
def path(self):
return self._path
@property
def image_caches(self):
return [image_cache(self._path, size[0], size[1]) for size in Photo.thumb_sizes]
@property
def date(self):
correct_date = None;
if not self.is_valid:
correct_date = datetime(1900, 1, 1)
if "dateTimeOriginal" in self._attributes:
correct_date = self._attributes["dateTimeOriginal"]
elif "dateTime" in self._attributes:
correct_date = self._attributes["dateTime"]
else:
correct_date = self._attributes["dateTimeFile"]
return correct_date
def __cmp__(self, other):
date_compare = cmp(self.date, other.date)
if date_compare == 0:
return cmp(self.name, other.name)
return date_compare
@property
def attributes(self):
return self._attributes
@staticmethod
def from_dict(dictionary, basepath):
del dictionary["date"]
path = os.path.join(basepath, dictionary["name"])
del dictionary["name"]
for key, value in dictionary.items():
if key.startswith("dateTime"):
try:
dictionary[key] = datetime.strptime(dictionary[key], "%a %b %d %H:%M:%S %Y")
except KeyboardInterrupt:
raise
except:
pass
return Photo(path, None, dictionary)
def to_dict(self):
photo = { "name": self.name, "date": self.date }
photo.update(self.attributes)
return photo
class PhotoAlbumEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime("%a %b %d %H:%M:%S %Y")
if isinstance(obj, Album) or isinstance(obj, Photo):
return obj.to_dict()
return json.JSONEncoder.default(self, obj)
#!/usr/bin/env python
#
# Copyright 2007 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
/*
* ITE Tech IT9137 silicon tuner driver
*
* Copyright (C) 2011 Malcolm Priestley (tvboxspy@gmail.com)
* IT9137 Copyright (C) ITE Tech Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.=
*/
#include "tuner_it913x_priv.h"
struct it913x_state {
struct i2c_adapter *i2c_adap;
u8 i2c_addr;
u8 chip_ver;
u8 tuner_type;
u8 firmware_ver;
u16 tun_xtal;
u8 tun_fdiv;
u8 tun_clk_mode;
u32 tun_fn_min;
};
/* read multiple registers */
static int it913x_rd_regs(struct it913x_state *state,
u32 reg, u8 *data, u8 count)
{
int ret;
u8 b[3];
struct i2c_msg msg[2] = {
{ .addr = state->i2c_addr, .flags = 0,
.buf = b, .len = sizeof(b) },
{ .addr = state->i2c_addr, .flags = I2C_M_RD,
.buf = data, .len = count }
};
b[0] = (u8)(reg >> 16) & 0xff;
b[1] = (u8)(reg >> 8) & 0xff;
b[2] = (u8) reg & 0xff;
b[0] |= 0x80; /* All reads from demodulator */
ret = i2c_transfer(state->i2c_adap, msg, 2);
return ret;
}
/* read single register */
static int it913x_rd_reg(struct it913x_state *state, u32 reg)
{
int ret;
u8 b[1];
ret = it913x_rd_regs(state, reg, &b[0], sizeof(b));
return (ret < 0) ? -ENODEV : b[0];
}
/* write multiple registers */
static int it913x_wr_regs(struct it913x_state *state,
u8 pro, u32 reg, u8 buf[], u8 count)
{
u8 b[256];
struct i2c_msg msg[1] = {
{ .addr = state->i2c_addr, .flags = 0,
.buf = b, .len = 3 + count }
};
int ret;
b[0] = (u8)(reg >> 16) & 0xff;
b[1] = (u8)(reg >> 8) & 0xff;
b[2] = (u8) reg & 0xff;
memcpy(&b[3], buf, count);
if (pro == PRO_DMOD)
b[0] |= 0x80;
ret = i2c_transfer(state->i2c_adap, msg, 1);
if (ret < 0)
return -EIO;
return 0;
}
/* write single register */
static int it913x_wr_reg(struct it913x_state *state,
u8 pro, u32 reg, u32 data)
{
int ret;
u8 b[4];
u8 s;
b[0] = data >> 24;
b[1] = (data >> 16) & 0xff;
b[2] = (data >> 8) & 0xff;
b[3] = data & 0xff;
/* expand write as needed */
if (data < 0x100)
s = 3;
else if (data < 0x1000)
s = 2;
else if (data < 0x100000)
s = 1;
else
s = 0;
ret = it913x_wr_regs(state, pro, reg, &b[s], sizeof(b) - s);
return ret;
}
static int it913x_script_loader(struct it913x_state *state,
struct it913xset *loadscript)
{
int ret, i;
if (loadscript == NULL)
return -EINVAL;
for (i = 0; i < 1000; ++i) {
if (loadscript[i].pro == 0xff)
break;
ret = it913x_wr_regs(state, loadscript[i].pro,
loadscript[i].address,
loadscript[i].reg, loadscript[i].count);
if (ret < 0)
return -ENODEV;
}
return 0;
}
static int it913x_init(struct dvb_frontend *fe)
{
struct it913x_state *state = fe->tuner_priv;
int ret, i, reg;
u8 val, nv_val;
u8 nv[] = {48, 32, 24, 16, 12, 8, 6, 4, 2};
u8 b[2];
reg = it913x_rd_reg(state, 0xec86);
switch (reg) {
case 0:
state->tun_clk_mode = reg;
state->tun_xtal = 2000;
state->tun_fdiv = 3;
val = 16;
break;
case -ENODEV:
return -ENODEV;
case 1:
default:
state->tun_clk_mode = reg;
state->tun_xtal = 640;
state->tun_fdiv = 1;
val = 6;
break;
}
reg = it913x_rd_reg(state, 0xed03);
if (reg < 0)
return -ENODEV;
else if (reg < ARRAY_SIZE(nv))
nv_val = nv[reg];
else
nv_val = 2;
for (i = 0; i < 50; i++) {
ret = it913x_rd_regs(state, 0xed23, &b[0], sizeof(b));
reg = (b[1] << 8) + b[0];
if (reg > 0)
break;
if (ret < 0)
return -ENODEV;
udelay(2000);
}
state->tun_fn_min = state->tun_xtal * reg;
state->tun_fn_min /= (state->tun_fdiv * nv_val);
dev_dbg(&state->i2c_adap->dev, "%s: Tuner fn_min %d\n", __func__,
state->tun_fn_min);
if (state->chip_ver > 1)
msleep(50);
else {
for (i = 0; i < 50; i++) {
reg = it913x_rd_reg(state, 0xec82);
if (reg > 0)
break;
if (reg < 0)
return -ENODEV;
udelay(2000);
}
}
/* Power Up Tuner - common all versions */
ret = it913x_wr_reg(state, PRO_DMOD, 0xec40, 0x1);
ret |= it913x_wr_reg(state, PRO_DMOD, 0xfba8, 0x0);
ret |= it913x_wr_reg(state, PRO_DMOD, 0xec57, 0x0);
ret |= it913x_wr_reg(state, PRO_DMOD, 0xec58, 0x0);
return it913x_wr_reg(state, PRO_DMOD, 0xed81, val);
}
static int it9137_set_params(struct dvb_frontend *fe)
{
struct it913x_state *state = fe->tuner_priv;
struct it913xset *set_tuner = set_it9137_template;
struct dtv_frontend_properties *p = &fe->dtv_property_cache;
u32 bandwidth = p->bandwidth_hz;
u32 frequency_m = p->frequency;
int ret, reg;
u32 frequency = frequency_m / 1000;
u32 freq, temp_f, tmp;
u16 iqik_m_cal;
u16 n_div;
u8 n;
u8 l_band;
u8 lna_band;
u8 bw;
if (state->firmware_ver == 1)
set_tuner = set_it9135_template;
else
set_tuner = set_it9137_template;
dev_dbg(&state->i2c_adap->dev, "%s: Tuner Frequency %d Bandwidth %d\n",
__func__, frequency, bandwidth);
if (frequency >= 51000 && frequency <= 440000) {
l_band = 0;
lna_band = 0;
} else if (frequency > 440000 && frequency <= 484000) {
l_band = 1;
lna_band = 1;
} else if (frequency > 484000 && frequency <= 533000) {
l_band = 1;
lna_band = 2;
} else if (frequency > 533000 && frequency <= 587000) {
l_band = 1;
lna_band = 3;
} else if (frequency > 587000 && frequency <= 645000) {
l_band = 1;
lna_band = 4;
} else if (frequency > 645000 && frequency <= 710000) {
l_band = 1;
lna_band = 5;
} else if (frequency > 710000 && frequency <= 782000) {
l_band = 1;
lna_band = 6;
} else if (frequency > 782000 && frequency <= 860000) {
l_band = 1;
lna_band = 7;
} else if (frequency > 1450000 && frequency <= 1492000) {
l_band = 1;
lna_band = 0;
} else if (frequency > 1660000 && frequency <= 1685000) {
l_band = 1;
lna_band = 1;
} else
return -EINVAL;
set_tuner[0].reg[0] = lna_band;
switch (bandwidth) {
case 5000000:
bw = 0;
break;
case 6000000:
bw = 2;
break;
case 7000000:
bw = 4;
break;
default:
case 8000000:
bw = 6;
break;
}
set_tuner[1].reg[0] = bw;
set_tuner[2].reg[0] = 0xa0 | (l_band << 3);
if (frequency > 53000 && frequency <= 74000) {
n_div = 48;
n = 0;
} else if (frequency > 74000 && frequency <= 111000) {
n_div = 32;
n = 1;
} else if (frequency > 111000 && frequency <= 148000) {
n_div = 24;
n = 2;
} else if (frequency > 148000 && frequency <= 222000) {
n_div = 16;
n = 3;
} else if (frequency > 222000 && frequency <= 296000) {
n_div = 12;
n = 4;
} else if (frequency > 296000 && frequency <= 445000) {
n_div = 8;
n = 5;
} else if (frequency > 445000 && frequency <= state->tun_fn_min) {
n_div = 6;
n = 6;
} else if (frequency > state->tun_fn_min && frequency <= 950000) {
n_div = 4;
n = 7;
} else if (frequency > 1450000 && frequency <= 1680000) {
n_div = 2;
n = 0;
} else
return -EINVAL;
reg = it913x_rd_reg(state, 0xed81);
iqik_m_cal = (u16)reg * n_div;
if (reg < 0x20) {
if (state->tun_clk_mode == 0)
iqik_m_cal = (iqik_m_cal * 9) >> 5;
else
iqik_m_cal >>= 1;
} else {
iqik_m_cal = 0x40 - iqik_m_cal;
if (state->tun_clk_mode == 0)
iqik_m_cal = ~((iqik_m_cal * 9) >> 5);
else
iqik_m_cal = ~(iqik_m_cal >> 1);
}
temp_f = frequency * (u32)n_div * (u32)state->tun_fdiv;
freq = temp_f / state->tun_xtal;
tmp = freq * state->tun_xtal;
if ((temp_f - tmp) >= (state->tun_xtal >> 1))
freq++;
freq += (u32) n << 13;
/* Frequency OMEGA_IQIK_M_CAL_MID*/
temp_f = freq + (u32)iqik_m_cal;
set_tuner[3].reg[0] = temp_f & 0xff;
set_tuner[4].reg[0] = (temp_f >> 8) & 0xff;
dev_dbg(&state->i2c_adap->dev, "%s: High Frequency = %04x\n",
__func__, temp_f);
/* Lower frequency */
set_tuner[5].reg[0] = freq & 0xff;
set_tuner[6].reg[0] = (freq >> 8) & 0xff;
dev_dbg(&state->i2c_adap->dev, "%s: low Frequency = %04x\n",
__func__, freq);
ret = it913x_script_loader(state, set_tuner);
return (ret < 0) ? -ENODEV : 0;
}
/* Power sequence */
/* Power Up Tuner on -> Frontend suspend off -> Tuner clk on */
/* Power Down Frontend suspend on -> Tuner clk off -> Tuner off */
static int it913x_sleep(struct dvb_frontend *fe)
{
struct it913x_state *state = fe->tuner_priv;
return it913x_script_loader(state, it9137_tuner_off);
}
static int it913x_release(struct dvb_frontend *fe)
{
kfree(fe->tuner_priv);
return 0;
}
static const struct dvb_tuner_ops it913x_tuner_ops = {
.info = {
.name = "ITE Tech IT913X",
.frequency_min = 174000000,
.frequency_max = 862000000,
},
.release = it913x_release,
.init = it913x_init,
.sleep = it913x_sleep,
.set_params = it9137_set_params,
};
struct dvb_frontend *it913x_attach(struct dvb_frontend *fe,
struct i2c_adapter *i2c_adap, u8 i2c_addr, u8 config)
{
struct it913x_state *state = NULL;
/* allocate memory for the internal state */
state = kzalloc(sizeof(struct it913x_state), GFP_KERNEL);
if (state == NULL)
return NULL;
state->i2c_adap = i2c_adap;
state->i2c_addr = i2c_addr;
switch (config) {
case AF9033_TUNER_IT9135_38:
case AF9033_TUNER_IT9135_51:
case AF9033_TUNER_IT9135_52:
state->chip_ver = 0x01;
break;
case AF9033_TUNER_IT9135_60:
case AF9033_TUNER_IT9135_61:
case AF9033_TUNER_IT9135_62:
state->chip_ver = 0x02;
break;
default:
dev_dbg(&i2c_adap->dev,
"%s: invalid config=%02x\n", __func__, config);
goto error;
}
state->tuner_type = config;
state->firmware_ver = 1;
fe->tuner_priv = state;
memcpy(&fe->ops.tuner_ops, &it913x_tuner_ops,
sizeof(struct dvb_tuner_ops));
dev_info(&i2c_adap->dev,
"%s: ITE Tech IT913X successfully attached\n",
KBUILD_MODNAME);
dev_dbg(&i2c_adap->dev, "%s: config=%02x chip_ver=%02x\n",
__func__, config, state->chip_ver);
return fe;
error:
kfree(state);
return NULL;
}
EXPORT_SYMBOL(it913x_attach);
MODULE_DESCRIPTION("ITE Tech IT913X silicon tuner driver");
MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>");
MODULE_LICENSE("GPL");
// SPDX-License-Identifier: MIT
/*
* Copyright (C) 2015-2019 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
*/
#include "xchapolybox.c"
#include <stdio.h>
#include <stdlib.h>
struct chacha20_testvec {
const uint8_t *input, *output, *key;
uint64_t nonce;
size_t ilen;
};
struct hchacha20_testvec {
uint8_t key[HCHACHA20_KEY_SIZE];
uint8_t nonce[HCHACHA20_NONCE_SIZE];
uint8_t output[CHACHA20_KEY_SIZE];
};
/* These test vectors are generated by reference implementations and are
* designed to check chacha20 implementation block handling, as well as from
* the draft-arciszewski-xchacha-01 document.
*/
static const uint8_t chacha20_input01[] = { };
static const uint8_t chacha20_output01[] = { };
static const uint8_t chacha20_key01[] = {
0x09, 0xf4, 0xe8, 0x57, 0x10, 0xf2, 0x12, 0xc3,
0xc6, 0x91, 0xc4, 0x09, 0x97, 0x46, 0xef, 0xfe,
0x02, 0x00, 0xe4, 0x5c, 0x82, 0xed, 0x16, 0xf3,
0x32, 0xbe, 0xec, 0x7a, 0xe6, 0x68, 0x12, 0x26
};
enum { chacha20_nonce01 = 0x3834e2afca3c66d3ULL };
static const uint8_t chacha20_input02[] = {
0x9d
};
static const uint8_t chacha20_output02[] = {
0x94
};
static const uint8_t chacha20_key02[] = {
0x8c, 0x01, 0xac, 0xaf, 0x62, 0x63, 0x56, 0x7a,
0xad, 0x23, 0x4c, 0x58, 0x29, 0x29, 0xbe, 0xab,
0xe9, 0xf8, 0xdf, 0x6c, 0x8c, 0x74, 0x4d, 0x7d,
0x13, 0x94, 0x10, 0x02, 0x3d, 0x8e, 0x9f, 0x94
};
enum { chacha20_nonce02 = 0x5d1b3bfdedd9f73aULL };
static const uint8_t chacha20_input03[] = {
0x04, 0x16
};
static const uint8_t chacha20_output03[] = {
0x92, 0x07
};
static const uint8_t chacha20_key03[] = {
0x22, 0x0c, 0x79, 0x2c, 0x38, 0x51, 0xbe, 0x99,
0xa9, 0x59, 0x24, 0x50, 0xef, 0x87, 0x38, 0xa6,
0xa0, 0x97, 0x20, 0xcb, 0xb4, 0x0c, 0x94, 0x67,
0x1f, 0x98, 0xdc, 0xc4, 0x83, 0xbc, 0x35, 0x4d
};
enum { chacha20_nonce03 = 0x7a3353ad720a3e2eULL };
static const uint8_t chacha20_input04[] = {
0xc7, 0xcc, 0xd0
};
static const uint8_t chacha20_output04[] = {
0xd8, 0x41, 0x80
};
static const uint8_t chacha20_key04[] = {
0x81, 0x5e, 0x12, 0x01, 0xc4, 0x36, 0x15, 0x03,
0x11, 0xa0, 0xe9, 0x86, 0xbb, 0x5a, 0xdc, 0x45,
0x7d, 0x5e, 0x98, 0xf8, 0x06, 0x76, 0x1c, 0xec,
0xc0, 0xf7, 0xca, 0x4e, 0x99, 0xd9, 0x42, 0x38
};
enum { chacha20_nonce04 = 0x6816e2fc66176da2ULL };
static const uint8_t chacha20_input05[] = {
0x48, 0xf1, 0x31, 0x5f
};
static const uint8_t chacha20_output05[] = {
0x48, 0xf7, 0x13, 0x67
};
static const uint8_t chacha20_key05[] = {
0x3f, 0xd6, 0xb6, 0x5e, 0x2f, 0xda, 0x82, 0x39,
0x97, 0x06, 0xd3, 0x62, 0x4f, 0xbd, 0xcb, 0x9b,
0x1d, 0xe6, 0x4a, 0x76, 0xab, 0xdd, 0x14, 0x50,
0x59, 0x21, 0xe3, 0xb2, 0xc7, 0x95, 0xbc, 0x45
};
enum { chacha20_nonce05 = 0xc41a7490e228cc42ULL };
static const uint8_t chacha20_input06[] = {
0xae, 0xa2, 0x85, 0x1d, 0xc8
};
static const uint8_t chacha20_output06[] = {
0xfa, 0xff, 0x45, 0x6b, 0x6f
};
static const uint8_t chacha20_key06[] = {
0x04, 0x8d, 0xea, 0x67, 0x20, 0x78, 0xfb, 0x8f,
0x49, 0x80, 0x35, 0xb5, 0x7b, 0xe4, 0x31, 0x74,
0x57, 0x43, 0x3a, 0x64, 0x64, 0xb9, 0xe6, 0x23,
0x4d, 0xfe, 0xb8, 0x7b, 0x71, 0x4d, 0x9d, 0x21
};
enum { chacha20_nonce06 = 0x251366db50b10903ULL };
static const uint8_t chacha20_input07[] = {
0x1a, 0x32, 0x85, 0xb6, 0xe8, 0x52
};
static const uint8_t chacha20_output07[] = {
0xd3, 0x5f, 0xf0, 0x07, 0x69, 0xec
};
static const uint8_t chacha20_key07[] = {
0xbf, 0x2d, 0x42, 0x99, 0x97, 0x76, 0x04, 0xad,
0xd3, 0x8f, 0x6e, 0x6a, 0x34, 0x85, 0xaf, 0x81,
0xef, 0x36, 0x33, 0xd5, 0x43, 0xa2, 0xaa, 0x08,
0x0f, 0x77, 0x42, 0x83, 0x58, 0xc5, 0x42, 0x2a
};
enum { chacha20_nonce07 = 0xe0796da17dba9b58ULL };
static const uint8_t chacha20_input08[] = {
0x40, 0xae, 0xcd, 0xe4, 0x3d, 0x22, 0xe0
};
static const uint8_t chacha20_output08[] = {
0xfd, 0x8a, 0x9f, 0x3d, 0x05, 0xc9, 0xd3
};
static const uint8_t chacha20_key08[] = {
0xdc, 0x3f, 0x41, 0xe3, 0x23, 0x2a, 0x8d, 0xf6,
0x41, 0x2a, 0xa7, 0x66, 0x05, 0x68, 0xe4, 0x7b,
0xc4, 0x58, 0xd6, 0xcc, 0xdf, 0x0d, 0xc6, 0x25,
0x1b, 0x61, 0x32, 0x12, 0x4e, 0xf1, 0xe6, 0x29
};
enum { chacha20_nonce08 = 0xb1d2536d9e159832ULL };
static const uint8_t chacha20_input09[] = {
0xba, 0x1d, 0x14, 0x16, 0x9f, 0x83, 0x67, 0x24
};
static const uint8_t chacha20_output09[] = {
0x7c, 0xe3, 0x78, 0x1d, 0xa2, 0xe7, 0xe9, 0x39
};
static const uint8_t chacha20_key09[] = {
0x17, 0x55, 0x90, 0x52, 0xa4, 0xce, 0x12, 0xae,
0xd4, 0xfd, 0xd4, 0xfb, 0xd5, 0x18, 0x59, 0x50,
0x4e, 0x51, 0x99, 0x32, 0x09, 0x31, 0xfc, 0xf7,
0x27, 0x10, 0x8e, 0xa2, 0x4b, 0xa5, 0xf5, 0x62
};
enum { chacha20_nonce09 = 0x495fc269536d003ULL };
static const uint8_t chacha20_input10[] = {
0x09, 0xfd, 0x3c, 0x0b, 0x3d, 0x0e, 0xf3, 0x9d,
0x27
};
static const uint8_t chacha20_output10[] = {
0xdc, 0xe4, 0x33, 0x60, 0x0c, 0x07, 0xcb, 0x51,
0x6b
};
static const uint8_t chacha20_key10[] = {
0x4e, 0x00, 0x72, 0x37, 0x0f, 0x52, 0x4d, 0x6f,
0x37, 0x50, 0x3c, 0xb3, 0x51, 0x81, 0x49, 0x16,
0x7e, 0xfd, 0xb1, 0x51, 0x72, 0x2e, 0xe4, 0x16,
0x68, 0x5c, 0x5b, 0x8a, 0xc3, 0x90, 0x70, 0x04
};
enum { chacha20_nonce10 = 0x1ad9d1114d88cbbdULL };
static const uint8_t chacha20_input11[] = {
0x70, 0x18, 0x52, 0x85, 0xba, 0x66, 0xff, 0x2c,
0x9a, 0x46
};
static const uint8_t chacha20_output11[] = {
0xf5, 0x2a, 0x7a, 0xfd, 0x31, 0x7c, 0x91, 0x41,
0xb1, 0xcf
};
static const uint8_t chacha20_key11[] = {
0x48, 0xb4, 0xd0, 0x7c, 0x88, 0xd1, 0x96, 0x0d,
0x80, 0x33, 0xb4, 0xd5, 0x31, 0x9a, 0x88, 0xca,
0x14, 0xdc, 0xf0, 0xa8, 0xf3, 0xac, 0xb8, 0x47,
0x75, 0x86, 0x7c, 0x88, 0x50, 0x11, 0x43, 0x40
};
enum { chacha20_nonce11 = 0x47c35dd1f4f8aa4fULL };
static const uint8_t chacha20_input12[] = {
0x9e, 0x8e, 0x3d, 0x2a, 0x05, 0xfd, 0xe4, 0x90,
0x24, 0x1c, 0xd3
};
static const uint8_t chacha20_output12[] = {
0x97, 0x72, 0x40, 0x9f, 0xc0, 0x6b, 0x05, 0x33,
0x42, 0x7e, 0x28
};
static const uint8_t chacha20_key12[] = {
0xee, 0xff, 0x33, 0x33, 0xe0, 0x28, 0xdf, 0xa2,
0xb6, 0x5e, 0x25, 0x09, 0x52, 0xde, 0xa5, 0x9c,
0x8f, 0x95, 0xa9, 0x03, 0x77, 0x0f, 0xbe, 0xa1,
0xd0, 0x7d, 0x73, 0x2f, 0xf8, 0x7e, 0x51, 0x44
};
enum { chacha20_nonce12 = 0xc22d044dc6ea4af3ULL };
static const uint8_t chacha20_input13[] = {
0x9c, 0x16, 0xa2, 0x22, 0x4d, 0xbe, 0x04, 0x9a,
0xb3, 0xb5, 0xc6, 0x58
};
static const uint8_t chacha20_output13[] = {
0xf0, 0x81, 0xdb, 0x6d, 0xa3, 0xe9, 0xb2, 0xc6,
0x32, 0x50, 0x16, 0x9f
};
static const uint8_t chacha20_key13[] = {
0x96, 0xb3, 0x01, 0xd2, 0x7a, 0x8c, 0x94, 0x09,
0x4f, 0x58, 0xbe, 0x80, 0xcc, 0xa9, 0x7e, 0x2d,
0xad, 0x58, 0x3b, 0x63, 0xb8, 0x5c, 0x17, 0xce,
0xbf, 0x43, 0x33, 0x7a, 0x7b, 0x82, 0x28, 0x2f
};
enum { chacha20_nonce13 = 0x2a5d05d88cd7b0daULL };
static const uint8_t chacha20_input14[] = {
0x57, 0x4f, 0xaa, 0x30, 0xe6, 0x23, 0x50, 0x86,
0x91, 0xa5, 0x60, 0x96, 0x2b
};
static const uint8_t chacha20_output14[] = {
0x6c, 0x1f, 0x3b, 0x42, 0xb6, 0x2f, 0xf0, 0xbd,
0x76, 0x60, 0xc7, 0x7e, 0x8d
};
static const uint8_t chacha20_key14[] = {
0x22, 0x85, 0xaf, 0x8f, 0xa3, 0x53, 0xa0, 0xc4,
0xb5, 0x75, 0xc0, 0xba, 0x30, 0x92, 0xc3, 0x32,
0x20, 0x5a, 0x8f, 0x7e, 0x93, 0xda, 0x65, 0x18,
0xd1, 0xf6, 0x9a, 0x9b, 0x8f, 0x85, 0x30, 0xe6
};
enum { chacha20_nonce14 = 0xf9946c166aa4475fULL };
static const uint8_t chacha20_input15[] = {
0x89, 0x81, 0xc7, 0xe2, 0x00, 0xac, 0x52, 0x70,
0xa4, 0x79, 0xab, 0xeb, 0x74, 0xf7
};
static const uint8_t chacha20_output15[] = {
0xb4, 0xd0, 0xa9, 0x9d, 0x15, 0x5f, 0x48, 0xd6,
0x00, 0x7e, 0x4c, 0x77, 0x5a, 0x46
};
static const uint8_t chacha20_key15[] = {
0x0a, 0x66, 0x36, 0xca, 0x5d, 0x82, 0x23, 0xb6,
0xe4, 0x9b, 0xad, 0x5e, 0xd0, 0x7f, 0xf6, 0x7a,
0x7b, 0x03, 0xa7, 0x4c, 0xfd, 0xec, 0xd5, 0xa1,
0xfc, 0x25, 0x54, 0xda, 0x5a, 0x5c, 0xf0, 0x2c
};
enum { chacha20_nonce15 = 0x9ab2b87a35e772c8ULL };
static const uint8_t chacha20_input16[] = {
0x5f, 0x09, 0xc0, 0x8b, 0x1e, 0xde, 0xca, 0xd9,
0xb7, 0x5c, 0x23, 0xc9, 0x55, 0x1e, 0xcf
};
static const uint8_t chacha20_output16[] = {
0x76, 0x9b, 0x53, 0xf3, 0x66, 0x88, 0x28, 0x60,
0x98, 0x80, 0x2c, 0xa8, 0x80, 0xa6, 0x48
};
static const uint8_t chacha20_key16[] = {
0x80, 0xb5, 0x51, 0xdf, 0x17, 0x5b, 0xb0, 0xef,
0x8b, 0x5b, 0x2e, 0x3e, 0xc5, 0xe3, 0xa5, 0x86,
0xac, 0x0d, 0x8e, 0x32, 0x90, 0x9d, 0x82, 0x27,
0xf1, 0x23, 0x26, 0xc3, 0xea, 0x55, 0xb6, 0x63
};
enum { chacha20_nonce16 = 0xa82e9d39e4d02ef5ULL };
static const uint8_t chacha20_input17[] = {
0x87, 0x0b, 0x36, 0x71, 0x7c, 0xb9, 0x0b, 0x80,
0x4d, 0x77, 0x5c, 0x4f, 0xf5, 0x51, 0x0e, 0x1a
};
static const uint8_t chacha20_output17[] = {
0xf1, 0x12, 0x4a, 0x8a, 0xd9, 0xd0, 0x08, 0x67,
0x66, 0xd7, 0x34, 0xea, 0x32, 0x3b, 0x54, 0x0e
};
static const uint8_t chacha20_key17[] = {
0xfb, 0x71, 0x5f, 0x3f, 0x7a, 0xc0, 0x9a, 0xc8,
0xc8, 0xcf, 0xe8, 0xbc, 0xfb, 0x09, 0xbf, 0x89,
0x6a, 0xef, 0xd5, 0xe5, 0x36, 0x87, 0x14, 0x76,
0x00, 0xb9, 0x32, 0x28, 0xb2, 0x00, 0x42, 0x53
};
enum { chacha20_nonce17 = 0x229b87e73d557b96ULL };
static const uint8_t chacha20_input18[] = {
0x38, 0x42, 0xb5, 0x37, 0xb4, 0x3d, 0xfe, 0x59,
0x38, 0x68, 0x88, 0xfa, 0x89, 0x8a, 0x5f, 0x90,
0x3c
};
static const uint8_t chacha20_output18[] = {
0xac, 0xad, 0x14, 0xe8, 0x7e, 0xd7, 0xce, 0x96,
0x3d, 0xb3, 0x78, 0x85, 0x22, 0x5a, 0xcb, 0x39,
0xd4
};
static const uint8_t chacha20_key18[] = {
0xe1, 0xc1, 0xa8, 0xe0, 0x91, 0xe7, 0x38, 0x66,
0x80, 0x17, 0x12, 0x3c, 0x5e, 0x2d, 0xbb, 0xea,
0xeb, 0x6c, 0x8b, 0xc8, 0x1b, 0x6f, 0x7c, 0xea,
0x50, 0x57, 0x23, 0x1e, 0x65, 0x6f, 0x6d, 0x81
};
enum { chacha20_nonce18 = 0xfaf5fcf8f30e57a9ULL };
static const uint8_t chacha20_input19[] = {
0x1c, 0x4a, 0x30, 0x26, 0xef, 0x9a, 0x32, 0xa7,
0x8f, 0xe5, 0xc0, 0x0f, 0x30, 0x3a, 0xbf, 0x38,
0x54, 0xba
};
static const uint8_t chacha20_output19[] = {
0x57, 0x67, 0x54, 0x4f, 0x31, 0xd6, 0xef, 0x35,
0x0b, 0xd9, 0x52, 0xa7, 0x46, 0x7d, 0x12, 0x17,
0x1e, 0xe3
};
static const uint8_t chacha20_key19[] = {
0x5a, 0x79, 0xc1, 0xea, 0x33, 0xb3, 0xc7, 0x21,
0xec, 0xf8, 0xcb, 0xd2, 0x58, 0x96, 0x23, 0xd6,
0x4d, 0xed, 0x2f, 0xdf, 0x8a, 0x79, 0xe6, 0x8b,
0x38, 0xa3, 0xc3, 0x7a, 0x33, 0xda, 0x02, 0xc7
};
enum { chacha20_nonce19 = 0x2b23b61840429604ULL };
static const uint8_t chacha20_input20[] = {
0xab, 0xe9, 0x32, 0xbb, 0x35, 0x17, 0xe0, 0x60,
0x80, 0xb1, 0x27, 0xdc, 0xe6, 0x62, 0x9e, 0x0c,
0x77, 0xf4, 0x50
};
static const uint8_t chacha20_output20[] = {
0x54, 0x6d, 0xaa, 0xfc, 0x08, 0xfb, 0x71, 0xa8,
0xd6, 0x1d, 0x7d, 0xf3, 0x45, 0x10, 0xb5, 0x4c,
0xcc, 0x4b, 0x45
};
static const uint8_t chacha20_key20[] = {
0xa3, 0xfd, 0x3d, 0xa9, 0xeb, 0xea, 0x2c, 0x69,
0xcf, 0x59, 0x38, 0x13, 0x5b, 0xa7, 0x53, 0x8f,
0x5e, 0xa2, 0x33, 0x86, 0x4c, 0x75, 0x26, 0xaf,
0x35, 0x12, 0x09, 0x71, 0x81, 0xea, 0x88, 0x66
};
enum { chacha20_nonce20 = 0x7459667a8fadff58ULL };
static const uint8_t chacha20_input21[] = {
0xa6, 0x82, 0x21, 0x23, 0xad, 0x27, 0x3f, 0xc6,
0xd7, 0x16, 0x0d, 0x6d, 0x24, 0x15, 0x54, 0xc5,
0x96, 0x72, 0x59, 0x8a
};
static const uint8_t chacha20_output21[] = {
0x5f, 0x34, 0x32, 0xea, 0x06, 0xd4, 0x9e, 0x01,
0xdc, 0x32, 0x32, 0x40, 0x66, 0x73, 0x6d, 0x4a,
0x6b, 0x12, 0x20, 0xe8
};
static const uint8_t chacha20_key21[] = {
0x96, 0xfd, 0x13, 0x23, 0xa9, 0x89, 0x04, 0xe6,
0x31, 0xa5, 0x2c, 0xc1, 0x40, 0xd5, 0x69, 0x5c,
0x32, 0x79, 0x56, 0xe0, 0x29, 0x93, 0x8f, 0xe8,
0x5f, 0x65, 0x53, 0x7f, 0xc1, 0xe9, 0xaf, 0xaf
};
enum { chacha20_nonce21 = 0xba8defee9d8e13b5ULL };
static const uint8_t chacha20_input22[] = {
0xb8, 0x32, 0x1a, 0x81, 0xd8, 0x38, 0x89, 0x5a,
0xb0, 0x05, 0xbe, 0xf4, 0xd2, 0x08, 0xc6, 0xee,
0x79, 0x7b, 0x3a, 0x76, 0x59
};
static const uint8_t chacha20_output22[] = {
0xb7, 0xba, 0xae, 0x80, 0xe4, 0x9f, 0x79, 0x84,
0x5a, 0x48, 0x50, 0x6d, 0xcb, 0xd0, 0x06, 0x0c,
0x15, 0x63, 0xa7, 0x5e, 0xbd
};
static const uint8_t chacha20_key22[] = {
0x0f, 0x35, 0x3d, 0xeb, 0x5f, 0x0a, 0x82, 0x0d,
0x24, 0x59, 0x71, 0xd8, 0xe6, 0x2d, 0x5f, 0xe1,
0x7e, 0x0c, 0xae, 0xf6, 0xdc, 0x2c, 0xc5, 0x4a,
0x38, 0x88, 0xf2, 0xde, 0xd9, 0x5f, 0x76, 0x7c
};
enum { chacha20_nonce22 = 0xe77f1760e9f5e192ULL };
static const uint8_t chacha20_input23[] = {
0x4b, 0x1e, 0x79, 0x99, 0xcf, 0xef, 0x64, 0x4b,
0xb0, 0x66, 0xae, 0x99, 0x2e, 0x68, 0x97, 0xf5,
0x5d, 0x9b, 0x3f, 0x7a, 0xa9, 0xd9
};
static const uint8_t chacha20_output23[] = {
0x5f, 0xa4, 0x08, 0x39, 0xca, 0xfa, 0x2b, 0x83,
0x5d, 0x95, 0x70, 0x7c, 0x2e, 0xd4, 0xae, 0xfa,
0x45, 0x4a, 0x77, 0x7f, 0xa7, 0x65
};
static const uint8_t chacha20_key23[] = {
0x4a, 0x06, 0x83, 0x64, 0xaa, 0xe3, 0x38, 0x32,
0x28, 0x5d, 0xa4, 0xb2, 0x5a, 0xee, 0xcf, 0x8e,
0x19, 0x67, 0xf1, 0x09, 0xe8, 0xc9, 0xf6, 0x40,
0x02, 0x6d, 0x0b, 0xde, 0xfa, 0x81, 0x03, 0xb1
};
enum { chacha20_nonce23 = 0x9b3f349158709849ULL };
static const uint8_t chacha20_input24[] = {
0xc6, 0xfc, 0x47, 0x5e, 0xd8, 0xed, 0xa9, 0xe5,
0x4f, 0x82, 0x79, 0x35, 0xee, 0x3e, 0x7e, 0x3e,
0x35, 0x70, 0x6e, 0xfa, 0x6d, 0x08, 0xe8
};
static const uint8_t chacha20_output24[] = {
0x3b, 0xc5, 0xf8, 0xc2, 0xbf, 0x2b, 0x90, 0x33,
0xa6, 0xae, 0xf5, 0x5a, 0x65, 0xb3, 0x3d, 0xe1,
0xcd, 0x5f, 0x55, 0xfa, 0xe7, 0xa5, 0x4a
};
static const uint8_t chacha20_key24[] = {
0x00, 0x24, 0xc3, 0x65, 0x5f, 0xe6, 0x31, 0xbb,
0x6d, 0xfc, 0x20, 0x7b, 0x1b, 0xa8, 0x96, 0x26,
0x55, 0x21, 0x62, 0x25, 0x7e, 0xba, 0x23, 0x97,
0xc9, 0xb8, 0x53, 0xa8, 0xef, 0xab, 0xad, 0x61
};
enum { chacha20_nonce24 = 0x13ee0b8f526177c3ULL };
static const uint8_t chacha20_input25[] = {
0x33, 0x07, 0x16, 0xb1, 0x34, 0x33, 0x67, 0x04,
0x9b, 0x0a, 0xce, 0x1b, 0xe9, 0xde, 0x1a, 0xec,
0xd0, 0x55, 0xfb, 0xc6, 0x33, 0xaf, 0x2d, 0xe3
};
static const uint8_t chacha20_output25[] = {
0x05, 0x93, 0x10, 0xd1, 0x58, 0x6f, 0x68, 0x62,
0x45, 0xdb, 0x91, 0xae, 0x70, 0xcf, 0xd4, 0x5f,
0xee, 0xdf, 0xd5, 0xba, 0x9e, 0xde, 0x68, 0xe6
};
static const uint8_t chacha20_key25[] = {
0x83, 0xa9, 0x4f, 0x5d, 0x74, 0xd5, 0x91, 0xb3,
0xc9, 0x97, 0x19, 0x15, 0xdb, 0x0d, 0x0b, 0x4a,
0x3d, 0x55, 0xcf, 0xab, 0xb2, 0x05, 0x21, 0x35,
0x45, 0x50, 0xeb, 0xf8, 0xf5, 0xbf, 0x36, 0x35
};
enum { chacha20_nonce25 = 0x7c6f459e49ebfebcULL };
static const uint8_t chacha20_input26[] = {
0xc2, 0xd4, 0x7a, 0xa3, 0x92, 0xe1, 0xac, 0x46,
0x1a, 0x15, 0x38, 0xc9, 0xb5, 0xfd, 0xdf, 0x84,
0x38, 0xbc, 0x6b, 0x1d, 0xb0, 0x83, 0x43, 0x04,
0x39
};
static const uint8_t chacha20_output26[] = {
0x7f, 0xde, 0xd6, 0x87, 0xcc, 0x34, 0xf4, 0x12,
0xae, 0x55, 0xa5, 0x89, 0x95, 0x29, 0xfc, 0x18,
0xd8, 0xc7, 0x7c, 0xd3, 0xcb, 0x85, 0x95, 0x21,
0xd2
};
static const uint8_t chacha20_key26[] = {
0xe4, 0xd0, 0x54, 0x1d, 0x7d, 0x47, 0xa8, 0xc1,
0x08, 0xca, 0xe2, 0x42, 0x52, 0x95, 0x16, 0x43,
0xa3, 0x01, 0x23, 0x03, 0xcc, 0x3b, 0x81, 0x78,
0x23, 0xcc, 0xa7, 0x36, 0xd7, 0xa0, 0x97, 0x8d
};
enum { chacha20_nonce26 = 0x524401012231683ULL };
static const uint8_t chacha20_input27[] = {
0x0d, 0xb0, 0xcf, 0xec, 0xfc, 0x38, 0x9d, 0x9d,
0x89, 0x00, 0x96, 0xf2, 0x79, 0x8a, 0xa1, 0x8d,
0x32, 0x5e, 0xc6, 0x12, 0x22, 0xec, 0xf6, 0x52,
0xc1, 0x0b
};
static const uint8_t chacha20_output27[] = {
0xef, 0xe1, 0xf2, 0x67, 0x8e, 0x2c, 0x00, 0x9f,
0x1d, 0x4c, 0x66, 0x1f, 0x94, 0x58, 0xdc, 0xbb,
0xb9, 0x11, 0x8f, 0x74, 0xfd, 0x0e, 0x14, 0x01,
0xa8, 0x21
};
static const uint8_t chacha20_key27[] = {
0x78, 0x71, 0xa4, 0xe6, 0xb2, 0x95, 0x44, 0x12,
0x81, 0xaa, 0x7e, 0x94, 0xa7, 0x8d, 0x44, 0xea,
0xc4, 0xbc, 0x01, 0xb7, 0x9e, 0xf7, 0x82, 0x9e,
0x3b, 0x23, 0x9f, 0x31, 0xdd, 0xb8, 0x0d, 0x18
};
enum { chacha20_nonce27 = 0xd58fe0e58fb254d6ULL };
static const uint8_t chacha20_input28[] = {
0xaa, 0xb7, 0xaa, 0xd9, 0xa8, 0x91, 0xd7, 0x8a,
0x97, 0x9b, 0xdb, 0x7c, 0x47, 0x2b, 0xdb, 0xd2,
0xda, 0x77, 0xb1, 0xfa, 0x2d, 0x12, 0xe3, 0xe9,
0xc4, 0x7f, 0x54
};
static const uint8_t chacha20_output28[] = {
0x87, 0x84, 0xa9, 0xa6, 0xad, 0x8f, 0xe6, 0x0f,
0x69, 0xf8, 0x21, 0xc3, 0x54, 0x95, 0x0f, 0xb0,
0x4e, 0xc7, 0x02, 0xe4, 0x04, 0xb0, 0x6c, 0x42,
0x8c, 0x63, 0xe3
};
static const uint8_t chacha20_key28[] = {
0x12, 0x23, 0x37, 0x95, 0x04, 0xb4, 0x21, 0xe8,
0xbc, 0x65, 0x46, 0x7a, 0xf4, 0x01, 0x05, 0x3f,
0xb1, 0x34, 0x73, 0xd2, 0x49, 0xbf, 0x6f, 0x20,
0xbd, 0x23, 0x58, 0x5f, 0xd1, 0x73, 0x57, 0xa6
};
enum { chacha20_nonce28 = 0x3a04d51491eb4e07ULL };
static const uint8_t chacha20_input29[] = {
0x55, 0xd0, 0xd4, 0x4b, 0x17, 0xc8, 0xc4, 0x2b,
0xc0, 0x28, 0xbd, 0x9d, 0x65, 0x4d, 0xaf, 0x77,
0x72, 0x7c, 0x36, 0x68, 0xa7, 0xb6, 0x87, 0x4d,
0xb9, 0x27, 0x25, 0x6c
};
static const uint8_t chacha20_output29[] = {
0x0e, 0xac, 0x4c, 0xf5, 0x12, 0xb5, 0x56, 0xa5,
0x00, 0x9a, 0xd6, 0xe5, 0x1a, 0x59, 0x2c, 0xf6,
0x42, 0x22, 0xcf, 0x23, 0x98, 0x34, 0x29, 0xac,
0x6e, 0xe3, 0x37, 0x6d
};
static const uint8_t chacha20_key29[] = {
0xda, 0x9d, 0x05, 0x0c, 0x0c, 0xba, 0x75, 0xb9,
0x9e, 0xb1, 0x8d, 0xd9, 0x73, 0x26, 0x2c, 0xa9,
0x3a, 0xb5, 0xcb, 0x19, 0x49, 0xa7, 0x4f, 0xf7,
0x64, 0x35, 0x23, 0x20, 0x2a, 0x45, 0x78, 0xc7
};
enum { chacha20_nonce29 = 0xc25ac9982431cbfULL };
static const uint8_t chacha20_input30[] = {
0x4e, 0xd6, 0x85, 0xbb, 0xe7, 0x99, 0xfa, 0x04,
0x33, 0x24, 0xfd, 0x75, 0x18, 0xe3, 0xd3, 0x25,
0xcd, 0xca, 0xae, 0x00, 0xbe, 0x52, 0x56, 0x4a,
0x31, 0xe9, 0x4f, 0xae, 0x8a
};
static const uint8_t chacha20_output30[] = {
0x30, 0x36, 0x32, 0xa2, 0x3c, 0xb6, 0xf9, 0xf9,
0x76, 0x70, 0xad, 0xa6, 0x10, 0x41, 0x00, 0x4a,
0xfa, 0xce, 0x1b, 0x86, 0x05, 0xdb, 0x77, 0x96,
0xb3, 0xb7, 0x8f, 0x61, 0x24
};
static const uint8_t chacha20_key30[] = {
0x49, 0x35, 0x4c, 0x15, 0x98, 0xfb, 0xc6, 0x57,
0x62, 0x6d, 0x06, 0xc3, 0xd4, 0x79, 0x20, 0x96,
0x05, 0x2a, 0x31, 0x63, 0xc0, 0x44, 0x42, 0x09,
0x13, 0x13, 0xff, 0x1b, 0xc8, 0x63, 0x1f, 0x0b
};
enum { chacha20_nonce30 = 0x4967f9c08e41568bULL };
static const uint8_t chacha20_input31[] = {
0x91, 0x04, 0x20, 0x47, 0x59, 0xee, 0xa6, 0x0f,
0x04, 0x75, 0xc8, 0x18, 0x95, 0x44, 0x01, 0x28,
0x20, 0x6f, 0x73, 0x68, 0x66, 0xb5, 0x03, 0xb3,
0x58, 0x27, 0x6e, 0x7a, 0x76, 0xb8
};
static const uint8_t chacha20_output31[] = {
0xe8, 0x03, 0x78, 0x9d, 0x13, 0x15, 0x98, 0xef,
0x64, 0x68, 0x12, 0x41, 0xb0, 0x29, 0x94, 0x0c,
0x83, 0x35, 0x46, 0xa9, 0x74, 0xe1, 0x75, 0xf0,
0xb6, 0x96, 0xc3, 0x6f, 0xd7, 0x70
};
static const uint8_t chacha20_key31[] = {
0xef, 0xcd, 0x5a, 0x4a, 0xf4, 0x7e, 0x6a, 0x3a,
0x11, 0x88, 0x72, 0x94, 0xb8, 0xae, 0x84, 0xc3,
0x66, 0xe0, 0xde, 0x4b, 0x00, 0xa5, 0xd6, 0x2d,
0x50, 0xb7, 0x28, 0xff, 0x76, 0x57, 0x18, 0x1f
};
enum { chacha20_nonce31 = 0xcb6f428fa4192e19ULL };
static const uint8_t chacha20_input32[] = {
0x90, 0x06, 0x50, 0x4b, 0x98, 0x14, 0x30, 0xf1,
0xb8, 0xd7, 0xf0, 0xa4, 0x3e, 0x4e, 0xd8, 0x00,
0xea, 0xdb, 0x4f, 0x93, 0x05, 0xef, 0x02, 0x71,
0x1a, 0xcd, 0xa3, 0xb1, 0xae, 0xd3, 0x18
};
static const uint8_t chacha20_output32[] = {
0xcb, 0x4a, 0x37, 0x3f, 0xea, 0x40, 0xab, 0x86,
0xfe, 0xcc, 0x07, 0xd5, 0xdc, 0xb2, 0x25, 0xb6,
0xfd, 0x2a, 0x72, 0xbc, 0x5e, 0xd4, 0x75, 0xff,
0x71, 0xfc, 0xce, 0x1e, 0x6f, 0x22, 0xc1
};
static const uint8_t chacha20_key32[] = {
0xfc, 0x6d, 0xc3, 0x80, 0xce, 0xa4, 0x31, 0xa1,
0xcc, 0xfa, 0x9d, 0x10, 0x0b, 0xc9, 0x11, 0x77,
0x34, 0xdb, 0xad, 0x1b, 0xc4, 0xfc, 0xeb, 0x79,
0x91, 0xda, 0x59, 0x3b, 0x0d, 0xb1, 0x19, 0x3b
};
enum { chacha20_nonce32 = 0x88551bf050059467ULL };
static const uint8_t chacha20_input33[] = {
0x88, 0x94, 0x71, 0x92, 0xe8, 0xd7, 0xf9, 0xbd,
0x55, 0xe3, 0x22, 0xdb, 0x99, 0x51, 0xfb, 0x50,
0xbf, 0x82, 0xb5, 0x70, 0x8b, 0x2b, 0x6a, 0x03,
0x37, 0xa0, 0xc6, 0x19, 0x5d, 0xc9, 0xbc, 0xcc
};
static const uint8_t chacha20_output33[] = {
0xb6, 0x17, 0x51, 0xc8, 0xea, 0x8a, 0x14, 0xdc,
0x23, 0x1b, 0xd4, 0xed, 0xbf, 0x50, 0xb9, 0x38,
0x00, 0xc2, 0x3f, 0x78, 0x3d, 0xbf, 0xa0, 0x84,
0xef, 0x45, 0xb2, 0x7d, 0x48, 0x7b, 0x62, 0xa7
};
static const uint8_t chacha20_key33[] = {
0xb9, 0x8f, 0x6a, 0xad, 0xb4, 0x6f, 0xb5, 0xdc,
0x48, 0xfa, 0x43, 0x57, 0x62, 0x97, 0xef, 0x89,
0x4c, 0x5a, 0x7b, 0x67, 0xb8, 0x9d, 0xf0, 0x42,
0x2b, 0x8f, 0xf3, 0x18, 0x05, 0x2e, 0x48, 0xd0
};
enum { chacha20_nonce33 = 0x31f16488fe8447f5ULL };
static const uint8_t chacha20_input34[] = {
0xda, 0x2b, 0x3d, 0x63, 0x9e, 0x4f, 0xc2, 0xb8,
0x7f, 0xc2, 0x1a, 0x8b, 0x0d, 0x95, 0x65, 0x55,
0x52, 0xba, 0x51, 0x51, 0xc0, 0x61, 0x9f, 0x0a,
0x5d, 0xb0, 0x59, 0x8c, 0x64, 0x6a, 0xab, 0xf5,
0x57
};
static const uint8_t chacha20_output34[] = {
0x5c, 0xf6, 0x62, 0x24, 0x8c, 0x45, 0xa3, 0x26,
0xd0, 0xe4, 0x88, 0x1c, 0xed, 0xc4, 0x26, 0x58,
0xb5, 0x5d, 0x92, 0xc4, 0x17, 0x44, 0x1c, 0xb8,
0x2c, 0xf3, 0x55, 0x7e, 0xd6, 0xe5, 0xb3, 0x65,
0xa8
};
static const uint8_t chacha20_key34[] = {
0xde, 0xd1, 0x27, 0xb7, 0x7c, 0xfa, 0xa6, 0x78,
0x39, 0x80, 0xdf, 0xb7, 0x46, 0xac, 0x71, 0x26,
0xd0, 0x2a, 0x56, 0x79, 0x12, 0xeb, 0x26, 0x37,
0x01, 0x0d, 0x30, 0xe0, 0xe3, 0x66, 0xb2, 0xf4
};
enum { chacha20_nonce34 = 0x92d0d9b252c24149ULL };
static const uint8_t chacha20_input35[] = {
0x3a, 0x15, 0x5b, 0x75, 0x6e, 0xd0, 0x52, 0x20,
0x6c, 0x82, 0xfa, 0xce, 0x5b, 0xea, 0xf5, 0x43,
0xc1, 0x81, 0x7c, 0xb2, 0xac, 0x16, 0x3f, 0xd3,
0x5a, 0xaf, 0x55, 0x98, 0xf4, 0xc6, 0xba, 0x71,
0x25, 0x8b
};
static const uint8_t chacha20_output35[] = {
0xb3, 0xaf, 0xac, 0x6d, 0x4d, 0xc7, 0x68, 0x56,
0x50, 0x5b, 0x69, 0x2a, 0xe5, 0x90, 0xf9, 0x5f,
0x99, 0x88, 0xff, 0x0c, 0xa6, 0xb1, 0x83, 0xd6,
0x80, 0xa6, 0x1b, 0xde, 0x94, 0xa4, 0x2c, 0xc3,
0x74, 0xfa
};
static const uint8_t chacha20_key35[] = {
0xd8, 0x24, 0xe2, 0x06, 0xd7, 0x7a, 0xce, 0x81,
0x52, 0x72, 0x02, 0x69, 0x89, 0xc4, 0xe9, 0x53,
0x3b, 0x08, 0x5f, 0x98, 0x1e, 0x1b, 0x99, 0x6e,
0x28, 0x17, 0x6d, 0xba, 0xc0, 0x96, 0xf9, 0x3c
};
enum { chacha20_nonce35 = 0x7baf968c4c8e3a37ULL };
static const uint8_t chacha20_input36[] = {
0x31, 0x5d, 0x4f, 0xe3, 0xac, 0xad, 0x17, 0xa6,
0xb5, 0x01, 0xe2, 0xc6, 0xd4, 0x7e, 0xc4, 0x80,
0xc0, 0x59, 0x72, 0xbb, 0x4b, 0x74, 0x6a, 0x41,
0x0f, 0x9c, 0xf6, 0xca, 0x20, 0xb3, 0x73, 0x07,
0x6b, 0x02, 0x2a
};
static const uint8_t chacha20_output36[] = {
0xf9, 0x09, 0x92, 0x94, 0x7e, 0x31, 0xf7, 0x53,
0xe8, 0x8a, 0x5b, 0x20, 0xef, 0x9b, 0x45, 0x81,
0xba, 0x5e, 0x45, 0x63, 0xc1, 0xc7, 0x9e, 0x06,
0x0e, 0xd9, 0x62, 0x8e, 0x96, 0xf9, 0xfa, 0x43,
0x4d, 0xd4, 0x28
};
static const uint8_t chacha20_key36[] = {
0x13, 0x30, 0x4c, 0x06, 0xae, 0x18, 0xde, 0x03,
0x1d, 0x02, 0x40, 0xf5, 0xbb, 0x19, 0xe3, 0x88,
0x41, 0xb1, 0x29, 0x15, 0x97, 0xc2, 0x69, 0x3f,
0x32, 0x2a, 0x0c, 0x8b, 0xcf, 0x83, 0x8b, 0x6c
};
enum { chacha20_nonce36 = 0x226d251d475075a0ULL };
static const uint8_t chacha20_input37[] = {
0x10, 0x18, 0xbe, 0xfd, 0x66, 0xc9, 0x77, 0xcc,
0x43, 0xe5, 0x46, 0x0b, 0x08, 0x8b, 0xae, 0x11,
0x86, 0x15, 0xc2, 0xf6, 0x45, 0xd4, 0x5f, 0xd6,
0xb6, 0x5f, 0x9f, 0x3e, 0x97, 0xb7, 0xd4, 0xad,
0x0b, 0xe8, 0x31, 0x94
};
static const uint8_t chacha20_output37[] = {
0x03, 0x2c, 0x1c, 0xee, 0xc6, 0xdd, 0xed, 0x38,
0x80, 0x6d, 0x84, 0x16, 0xc3, 0xc2, 0x04, 0x63,
0xcd, 0xa7, 0x6e, 0x36, 0x8b, 0xed, 0x78, 0x63,
0x95, 0xfc, 0x69, 0x7a, 0x3f, 0x8d, 0x75, 0x6b,
0x6c, 0x26, 0x56, 0x4d
};
static const uint8_t chacha20_key37[] = {
0xac, 0x84, 0x4d, 0xa9, 0x29, 0x49, 0x3c, 0x39,
0x7f, 0xd9, 0xa6, 0x01, 0xf3, 0x7e, 0xfa, 0x4a,
0x14, 0x80, 0x22, 0x74, 0xf0, 0x29, 0x30, 0x2d,
0x07, 0x21, 0xda, 0xc0, 0x4d, 0x70, 0x56, 0xa2
};
enum { chacha20_nonce37 = 0x167823ce3b64925aULL };
static const uint8_t chacha20_input38[] = {
0x30, 0x8f, 0xfa, 0x24, 0x29, 0xb1, 0xfb, 0xce,
0x31, 0x62, 0xdc, 0xd0, 0x46, 0xab, 0xe1, 0x31,
0xd9, 0xae, 0x60, 0x0d, 0xca, 0x0a, 0x49, 0x12,
0x3d, 0x92, 0xe9, 0x91, 0x67, 0x12, 0x62, 0x18,
0x89, 0xe2, 0xf9, 0x1c, 0xcc
};
static const uint8_t chacha20_output38[] = {
0x56, 0x9c, 0xc8, 0x7a, 0xc5, 0x98, 0xa3, 0x0f,
0xba, 0xd5, 0x3e, 0xe1, 0xc9, 0x33, 0x64, 0x33,
0xf0, 0xd5, 0xf7, 0x43, 0x66, 0x0e, 0x08, 0x9a,
0x6e, 0x09, 0xe4, 0x01, 0x0d, 0x1e, 0x2f, 0x4b,
0xed, 0x9c, 0x08, 0x8c, 0x03
};
static const uint8_t chacha20_key38[] = {
0x77, 0x52, 0x2a, 0x23, 0xf1, 0xc5, 0x96, 0x2b,
0x89, 0x4f, 0x3e, 0xf3, 0xff, 0x0e, 0x94, 0xce,
0xf1, 0xbd, 0x53, 0xf5, 0x77, 0xd6, 0x9e, 0x47,
0x49, 0x3d, 0x16, 0x64, 0xff, 0x95, 0x42, 0x42
};
enum { chacha20_nonce38 = 0xff629d7b82cef357ULL };
static const uint8_t chacha20_input39[] = {
0x38, 0x26, 0x27, 0xd0, 0xc2, 0xf5, 0x34, 0xba,
0xda, 0x0f, 0x1c, 0x1c, 0x9a, 0x70, 0xe5, 0x8a,
0x78, 0x2d, 0x8f, 0x9a, 0xbf, 0x89, 0x6a, 0xfd,
0xd4, 0x9c, 0x33, 0xf1, 0xb6, 0x89, 0x16, 0xe3,
0x6a, 0x00, 0xfa, 0x3a, 0x0f, 0x26
};
static const uint8_t chacha20_output39[] = {
0x0f, 0xaf, 0x91, 0x6d, 0x9c, 0x99, 0xa4, 0xf7,
0x3b, 0x9d, 0x9a, 0x98, 0xca, 0xbb, 0x50, 0x48,
0xee, 0xcb, 0x5d, 0xa1, 0x37, 0x2d, 0x36, 0x09,
0x2a, 0xe2, 0x1c, 0x3d, 0x98, 0x40, 0x1c, 0x16,
0x56, 0xa7, 0x98, 0xe9, 0x7d, 0x2b
};
static const uint8_t chacha20_key39[] = {
0x6e, 0x83, 0x15, 0x4d, 0xf8, 0x78, 0xa8, 0x0e,
0x71, 0x37, 0xd4, 0x6e, 0x28, 0x5c, 0x06, 0xa1,
0x2d, 0x6c, 0x72, 0x7a, 0xfd, 0xf8, 0x65, 0x1a,
0xb8, 0xe6, 0x29, 0x7b, 0xe5, 0xb3, 0x23, 0x79
};
enum { chacha20_nonce39 = 0xa4d8c491cf093e9dULL };
static const uint8_t chacha20_input40[] = {
0x8f, 0x32, 0x7c, 0x40, 0x37, 0x95, 0x08, 0x00,
0x00, 0xfe, 0x2f, 0x95, 0x20, 0x12, 0x40, 0x18,
0x5e, 0x7e, 0x5e, 0x99, 0xee, 0x8d, 0x91, 0x7d,
0x50, 0x7d, 0x21, 0x45, 0x27, 0xe1, 0x7f, 0xd4,
0x73, 0x10, 0xe1, 0x33, 0xbc, 0xf8, 0xdd
};
static const uint8_t chacha20_output40[] = {
0x78, 0x7c, 0xdc, 0x55, 0x2b, 0xd9, 0x2b, 0x3a,
0xdd, 0x56, 0x11, 0x52, 0xd3, 0x2e, 0xe0, 0x0d,
0x23, 0x20, 0x8a, 0xf1, 0x4f, 0xee, 0xf1, 0x68,
0xf6, 0xdc, 0x53, 0xcf, 0x17, 0xd4, 0xf0, 0x6c,
0xdc, 0x80, 0x5f, 0x1c, 0xa4, 0x91, 0x05
};
static const uint8_t chacha20_key40[] = {
0x0d, 0x86, 0xbf, 0x8a, 0xba, 0x9e, 0x39, 0x91,
0xa8, 0xe7, 0x22, 0xf0, 0x0c, 0x43, 0x18, 0xe4,
0x1f, 0xb0, 0xaf, 0x8a, 0x34, 0x31, 0xf4, 0x41,
0xf0, 0x89, 0x85, 0xca, 0x5d, 0x05, 0x3b, 0x94
};
enum { chacha20_nonce40 = 0xae7acc4f5986439eULL };
static const uint8_t chacha20_input41[] = {
0x20, 0x5f, 0xc1, 0x83, 0x36, 0x02, 0x76, 0x96,
0xf0, 0xbf, 0x8e, 0x0e, 0x1a, 0xd1, 0xc7, 0x88,
0x18, 0xc7, 0x09, 0xc4, 0x15, 0xd9, 0x4f, 0x5e,
0x1f, 0xb3, 0xb4, 0x6d, 0xcb, 0xa0, 0xd6, 0x8a,
0x3b, 0x40, 0x8e, 0x80, 0xf1, 0xe8, 0x8f, 0x5f
};
static const uint8_t chacha20_output41[] = {
0x0b, 0xd1, 0x49, 0x9a, 0x9d, 0xe8, 0x97, 0xb8,
0xd1, 0xeb, 0x90, 0x62, 0x37, 0xd2, 0x99, 0x15,
0x67, 0x6d, 0x27, 0x93, 0xce, 0x37, 0x65, 0xa2,
0x94, 0x88, 0xd6, 0x17, 0xbc, 0x1c, 0x6e, 0xa2,
0xcc, 0xfb, 0x81, 0x0e, 0x30, 0x60, 0x5a, 0x6f
};
static const uint8_t chacha20_key41[] = {
0x36, 0x27, 0x57, 0x01, 0x21, 0x68, 0x97, 0xc7,
0x00, 0x67, 0x7b, 0xe9, 0x0f, 0x55, 0x49, 0xbb,
0x92, 0x18, 0x98, 0xf5, 0x5e, 0xbc, 0xe7, 0x5a,
0x9d, 0x3d, 0xc7, 0xbd, 0x59, 0xec, 0x82, 0x8e
};
enum { chacha20_nonce41 = 0x5da05e4c8dfab464ULL };
static const uint8_t chacha20_input42[] = {
0xca, 0x30, 0xcd, 0x63, 0xf0, 0x2d, 0xf1, 0x03,
0x4d, 0x0d, 0xf2, 0xf7, 0x6f, 0xae, 0xd6, 0x34,
0xea, 0xf6, 0x13, 0xcf, 0x1c, 0xa0, 0xd0, 0xe8,
0xa4, 0x78, 0x80, 0x3b, 0x1e, 0xa5, 0x32, 0x4c,
0x73, 0x12, 0xd4, 0x6a, 0x94, 0xbc, 0xba, 0x80,
0x5e
};
static const uint8_t chacha20_output42[] = {
0xec, 0x3f, 0x18, 0x31, 0xc0, 0x7b, 0xb5, 0xe2,
0xad, 0xf3, 0xec, 0xa0, 0x16, 0x9d, 0xef, 0xce,
0x05, 0x65, 0x59, 0x9d, 0x5a, 0xca, 0x3e, 0x13,
0xb9, 0x5d, 0x5d, 0xb5, 0xeb, 0xae, 0xc0, 0x87,
0xbb, 0xfd, 0xe7, 0xe4, 0x89, 0x5b, 0xd2, 0x6c,
0x56
};
static const uint8_t chacha20_key42[] = {
0x7c, 0x6b, 0x7e, 0x77, 0xcc, 0x8c, 0x1b, 0x03,
0x8b, 0x2a, 0xb3, 0x7c, 0x5a, 0x73, 0xcc, 0xac,
0xdd, 0x53, 0x54, 0x0c, 0x85, 0xed, 0xcd, 0x47,
0x24, 0xc1, 0xb8, 0x9b, 0x2e, 0x41, 0x92, 0x36
};
enum { chacha20_nonce42 = 0xe4d7348b09682c9cULL };
static const uint8_t chacha20_input43[] = {
0x52, 0xf2, 0x4b, 0x7c, 0xe5, 0x58, 0xe8, 0xd2,
0xb7, 0xf3, 0xa1, 0x29, 0x68, 0xa2, 0x50, 0x50,
0xae, 0x9c, 0x1b, 0xe2, 0x67, 0x77, 0xe2, 0xdb,
0x85, 0x55, 0x7e, 0x84, 0x8a, 0x12, 0x3c, 0xb6,
0x2e, 0xed, 0xd3, 0xec, 0x47, 0x68, 0xfa, 0x52,
0x46, 0x9d
};
static const uint8_t chacha20_output43[] = {
0x1b, 0xf0, 0x05, 0xe4, 0x1c, 0xd8, 0x74, 0x9a,
0xf0, 0xee, 0x00, 0x54, 0xce, 0x02, 0x83, 0x15,
0xfb, 0x23, 0x35, 0x78, 0xc3, 0xda, 0x98, 0xd8,
0x9d, 0x1b, 0xb2, 0x51, 0x82, 0xb0, 0xff, 0xbe,
0x05, 0xa9, 0xa4, 0x04, 0xba, 0xea, 0x4b, 0x73,
0x47, 0x6e
};
static const uint8_t chacha20_key43[] = {
0xeb, 0xec, 0x0e, 0xa1, 0x65, 0xe2, 0x99, 0x46,
0xd8, 0x54, 0x8c, 0x4a, 0x93, 0xdf, 0x6d, 0xbf,
0x93, 0x34, 0x94, 0x57, 0xc9, 0x12, 0x9d, 0x68,
0x05, 0xc5, 0x05, 0xad, 0x5a, 0xc9, 0x2a, 0x3b
};
enum { chacha20_nonce43 = 0xe14f6a902b7827fULL };
static const uint8_t chacha20_input44[] = {
0x3e, 0x22, 0x3e, 0x8e, 0xcd, 0x18, 0xe2, 0xa3,
0x8d, 0x8b, 0x38, 0xc3, 0x02, 0xa3, 0x31, 0x48,
0xc6, 0x0e, 0xec, 0x99, 0x51, 0x11, 0x6d, 0x8b,
0x32, 0x35, 0x3b, 0x08, 0x58, 0x76, 0x25, 0x30,
0xe2, 0xfc, 0xa2, 0x46, 0x7d, 0x6e, 0x34, 0x87,
0xac, 0x42, 0xbf
};
static const uint8_t chacha20_output44[] = {
0x08, 0x92, 0x58, 0x02, 0x1a, 0xf4, 0x1f, 0x3d,
0x38, 0x7b, 0x6b, 0xf6, 0x84, 0x07, 0xa3, 0x19,
0x17, 0x2a, 0xed, 0x57, 0x1c, 0xf9, 0x55, 0x37,
0x4e, 0xf4, 0x68, 0x68, 0x82, 0x02, 0x4f, 0xca,
0x21, 0x00, 0xc6, 0x66, 0x79, 0x53, 0x19, 0xef,
0x7f, 0xdd, 0x74
};
static const uint8_t chacha20_key44[] = {
0x73, 0xb6, 0x3e, 0xf4, 0x57, 0x52, 0xa6, 0x43,
0x51, 0xd8, 0x25, 0x00, 0xdb, 0xb4, 0x52, 0x69,
0xd6, 0x27, 0x49, 0xeb, 0x9b, 0xf1, 0x7b, 0xa0,
0xd6, 0x7c, 0x9c, 0xd8, 0x95, 0x03, 0x69, 0x26
};
enum { chacha20_nonce44 = 0xf5e6dc4f35ce24e5ULL };
static const uint8_t chacha20_input45[] = {
0x55, 0x76, 0xc0, 0xf1, 0x74, 0x03, 0x7a, 0x6d,
0x14, 0xd8, 0x36, 0x2c, 0x9f, 0x9a, 0x59, 0x7a,
0x2a, 0xf5, 0x77, 0x84, 0x70, 0x7c, 0x1d, 0x04,
0x90, 0x45, 0xa4, 0xc1, 0x5e, 0xdd, 0x2e, 0x07,
0x18, 0x34, 0xa6, 0x85, 0x56, 0x4f, 0x09, 0xaf,
0x2f, 0x83, 0xe1, 0xc6
};
static const uint8_t chacha20_output45[] = {
0x22, 0x46, 0xe4, 0x0b, 0x3a, 0x55, 0xcc, 0x9b,
0xf0, 0xc0, 0x53, 0xcd, 0x95, 0xc7, 0x57, 0x6c,
0x77, 0x46, 0x41, 0x72, 0x07, 0xbf, 0xa8, 0xe5,
0x68, 0x69, 0xd8, 0x1e, 0x45, 0xc1, 0xa2, 0x50,
0xa5, 0xd1, 0x62, 0xc9, 0x5a, 0x7d, 0x08, 0x14,
0xae, 0x44, 0x16, 0xb9
};
static const uint8_t chacha20_key45[] = {
0x41, 0xf3, 0x88, 0xb2, 0x51, 0x25, 0x47, 0x02,
0x39, 0xe8, 0x15, 0x3a, 0x22, 0x78, 0x86, 0x0b,
0xf9, 0x1e, 0x8d, 0x98, 0xb2, 0x22, 0x82, 0xac,
0x42, 0x94, 0xde, 0x64, 0xf0, 0xfd, 0xb3, 0x6c
};
enum { chacha20_nonce45 = 0xf51a582daf4aa01aULL };
static const uint8_t chacha20_input46[] = {
0xf6, 0xff, 0x20, 0xf9, 0x26, 0x7e, 0x0f, 0xa8,
0x6a, 0x45, 0x5a, 0x91, 0x73, 0xc4, 0x4c, 0x63,
0xe5, 0x61, 0x59, 0xca, 0xec, 0xc0, 0x20, 0x35,
0xbc, 0x9f, 0x58, 0x9c, 0x5e, 0xa1, 0x17, 0x46,
0xcc, 0xab, 0x6e, 0xd0, 0x4f, 0x24, 0xeb, 0x05,
0x4d, 0x40, 0x41, 0xe0, 0x9d
};
static const uint8_t chacha20_output46[] = {
0x31, 0x6e, 0x63, 0x3f, 0x9c, 0xe6, 0xb1, 0xb7,
0xef, 0x47, 0x46, 0xd7, 0xb1, 0x53, 0x42, 0x2f,
0x2c, 0xc8, 0x01, 0xae, 0x8b, 0xec, 0x42, 0x2c,
0x6b, 0x2c, 0x9c, 0xb2, 0xf0, 0x29, 0x06, 0xa5,
0xcd, 0x7e, 0xc7, 0x3a, 0x38, 0x98, 0x8a, 0xde,
0x03, 0x29, 0x14, 0x8f, 0xf9
};
static const uint8_t chacha20_key46[] = {
0xac, 0xa6, 0x44, 0x4a, 0x0d, 0x42, 0x10, 0xbc,
0xd3, 0xc9, 0x8e, 0x9e, 0x71, 0xa3, 0x1c, 0x14,
0x9d, 0x65, 0x0d, 0x49, 0x4d, 0x8c, 0xec, 0x46,
0xe1, 0x41, 0xcd, 0xf5, 0xfc, 0x82, 0x75, 0x34
};
enum { chacha20_nonce46 = 0x25f85182df84dec5ULL };
static const uint8_t chacha20_input47[] = {
0xa1, 0xd2, 0xf2, 0x52, 0x2f, 0x79, 0x50, 0xb2,
0x42, 0x29, 0x5b, 0x44, 0x20, 0xf9, 0xbd, 0x85,
0xb7, 0x65, 0x77, 0x86, 0xce, 0x3e, 0x1c, 0xe4,
0x70, 0x80, 0xdd, 0x72, 0x07, 0x48, 0x0f, 0x84,
0x0d, 0xfd, 0x97, 0xc0, 0xb7, 0x48, 0x9b, 0xb4,
0xec, 0xff, 0x73, 0x14, 0x99, 0xe4
};
static const uint8_t chacha20_output47[] = {
0xe5, 0x3c, 0x78, 0x66, 0x31, 0x1e, 0xd6, 0xc4,
0x9e, 0x71, 0xb3, 0xd7, 0xd5, 0xad, 0x84, 0xf2,
0x78, 0x61, 0x77, 0xf8, 0x31, 0xf0, 0x13, 0xad,
0x66, 0xf5, 0x31, 0x7d, 0xeb, 0xdf, 0xaf, 0xcb,
0xac, 0x28, 0x6c, 0xc2, 0x9e, 0xe7, 0x78, 0xa2,
0xa2, 0x58, 0xce, 0x84, 0x76, 0x70
};
static const uint8_t chacha20_key47[] = {
0x05, 0x7f, 0xc0, 0x7f, 0x37, 0x20, 0x71, 0x02,
0x3a, 0xe7, 0x20, 0x5a, 0x0a, 0x8f, 0x79, 0x5a,
0xfe, 0xbb, 0x43, 0x4d, 0x2f, 0xcb, 0xf6, 0x9e,
0xa2, 0x97, 0x00, 0xad, 0x0d, 0x51, 0x7e, 0x17
};
enum { chacha20_nonce47 = 0xae707c60f54de32bULL };
static const uint8_t chacha20_input48[] = {
0x80, 0x93, 0x77, 0x2e, 0x8d, 0xe8, 0xe6, 0xc1,
0x27, 0xe6, 0xf2, 0x89, 0x5b, 0x33, 0x62, 0x18,
0x80, 0x6e, 0x17, 0x22, 0x8e, 0x83, 0x31, 0x40,
0x8f, 0xc9, 0x5c, 0x52, 0x6c, 0x0e, 0xa5, 0xe9,
0x6c, 0x7f, 0xd4, 0x6a, 0x27, 0x56, 0x99, 0xce,
0x8d, 0x37, 0x59, 0xaf, 0xc0, 0x0e, 0xe1
};
static const uint8_t chacha20_output48[] = {
0x02, 0xa4, 0x2e, 0x33, 0xb7, 0x7c, 0x2b, 0x9a,
0x18, 0x5a, 0xba, 0x53, 0x38, 0xaf, 0x00, 0xeb,
0xd8, 0x3d, 0x02, 0x77, 0x43, 0x45, 0x03, 0x91,
0xe2, 0x5e, 0x4e, 0xeb, 0x50, 0xd5, 0x5b, 0xe0,
0xf3, 0x33, 0xa7, 0xa2, 0xac, 0x07, 0x6f, 0xeb,
0x3f, 0x6c, 0xcd, 0xf2, 0x6c, 0x61, 0x64
};
static const uint8_t chacha20_key48[] = {
0xf3, 0x79, 0xe7, 0xf8, 0x0e, 0x02, 0x05, 0x6b,
0x83, 0x1a, 0xe7, 0x86, 0x6b, 0xe6, 0x8f, 0x3f,
0xd3, 0xa3, 0xe4, 0x6e, 0x29, 0x06, 0xad, 0xbc,
0xe8, 0x33, 0x56, 0x39, 0xdf, 0xb0, 0xe2, 0xfe
};
enum { chacha20_nonce48 = 0xd849b938c6569da0ULL };
static const uint8_t chacha20_input49[] = {
0x89, 0x3b, 0x88, 0x9e, 0x7b, 0x38, 0x16, 0x9f,
0xa1, 0x28, 0xf6, 0xf5, 0x23, 0x74, 0x28, 0xb0,
0xdf, 0x6c, 0x9e, 0x8a, 0x71, 0xaf, 0xed, 0x7a,
0x39, 0x21, 0x57, 0x7d, 0x31, 0x6c, 0xee, 0x0d,
0x11, 0x8d, 0x41, 0x9a, 0x5f, 0xb7, 0x27, 0x40,
0x08, 0xad, 0xc6, 0xe0, 0x00, 0x43, 0x9e, 0xae
};
static const uint8_t chacha20_output49[] = {
0x4d, 0xfd, 0xdb, 0x4c, 0x77, 0xc1, 0x05, 0x07,
0x4d, 0x6d, 0x32, 0xcb, 0x2e, 0x0e, 0xff, 0x65,
0xc9, 0x27, 0xeb, 0xa9, 0x46, 0x5b, 0xab, 0x06,
0xe6, 0xb6, 0x5a, 0x1e, 0x00, 0xfb, 0xcf, 0xe4,
0xb9, 0x71, 0x40, 0x10, 0xef, 0x12, 0x39, 0xf0,
0xea, 0x40, 0xb8, 0x9a, 0xa2, 0x85, 0x38, 0x48
};
static const uint8_t chacha20_key49[] = {
0xe7, 0x10, 0x40, 0xd9, 0x66, 0xc0, 0xa8, 0x6d,
0xa3, 0xcc, 0x8b, 0xdd, 0x93, 0xf2, 0x6e, 0xe0,
0x90, 0x7f, 0xd0, 0xf4, 0x37, 0x0c, 0x8b, 0x9b,
0x4c, 0x4d, 0xe6, 0xf2, 0x1f, 0xe9, 0x95, 0x24
};
enum { chacha20_nonce49 = 0xf269817bdae01bc0ULL };
static const uint8_t chacha20_input50[] = {
0xda, 0x5b, 0x60, 0xcd, 0xed, 0x58, 0x8e, 0x7f,
0xae, 0xdd, 0xc8, 0x2e, 0x16, 0x90, 0xea, 0x4b,
0x0c, 0x74, 0x14, 0x35, 0xeb, 0xee, 0x2c, 0xff,
0x46, 0x99, 0x97, 0x6e, 0xae, 0xa7, 0x8e, 0x6e,
0x38, 0xfe, 0x63, 0xe7, 0x51, 0xd9, 0xaa, 0xce,
0x7b, 0x1e, 0x7e, 0x5d, 0xc0, 0xe8, 0x10, 0x06,
0x14
};
static const uint8_t chacha20_output50[] = {
0xe4, 0xe5, 0x86, 0x1b, 0x66, 0x19, 0xac, 0x49,
0x1c, 0xbd, 0xee, 0x03, 0xaf, 0x11, 0xfc, 0x1f,
0x6a, 0xd2, 0x50, 0x5c, 0xea, 0x2c, 0xa5, 0x75,
0xfd, 0xb7, 0x0e, 0x80, 0x8f, 0xed, 0x3f, 0x31,
0x47, 0xac, 0x67, 0x43, 0xb8, 0x2e, 0xb4, 0x81,
0x6d, 0xe4, 0x1e, 0xb7, 0x8b, 0x0c, 0x53, 0xa9,
0x26
};
static const uint8_t chacha20_key50[] = {
0xd7, 0xb2, 0x04, 0x76, 0x30, 0xcc, 0x38, 0x45,
0xef, 0xdb, 0xc5, 0x86, 0x08, 0x61, 0xf0, 0xee,
0x6d, 0xd8, 0x22, 0x04, 0x8c, 0xfb, 0xcb, 0x37,
0xa6, 0xfb, 0x95, 0x22, 0xe1, 0x87, 0xb7, 0x6f
};
enum { chacha20_nonce50 = 0x3b44d09c45607d38ULL };
static const uint8_t chacha20_input51[] = {
0xa9, 0x41, 0x02, 0x4b, 0xd7, 0xd5, 0xd1, 0xf1,
0x21, 0x55, 0xb2, 0x75, 0x6d, 0x77, 0x1b, 0x86,
0xa9, 0xc8, 0x90, 0xfd, 0xed, 0x4a, 0x7b, 0x6c,
0xb2, 0x5f, 0x9b, 0x5f, 0x16, 0xa1, 0x54, 0xdb,
0xd6, 0x3f, 0x6a, 0x7f, 0x2e, 0x51, 0x9d, 0x49,
0x5b, 0xa5, 0x0e, 0xf9, 0xfb, 0x2a, 0x38, 0xff,
0x20, 0x8c
};
static const uint8_t chacha20_output51[] = {
0x18, 0xf7, 0x88, 0xc1, 0x72, 0xfd, 0x90, 0x4b,
0xa9, 0x2d, 0xdb, 0x47, 0xb0, 0xa5, 0xc4, 0x37,
0x01, 0x95, 0xc4, 0xb1, 0xab, 0xc5, 0x5b, 0xcd,
0xe1, 0x97, 0x78, 0x13, 0xde, 0x6a, 0xff, 0x36,
0xce, 0xa4, 0x67, 0xc5, 0x4a, 0x45, 0x2b, 0xd9,
0xff, 0x8f, 0x06, 0x7c, 0x63, 0xbb, 0x83, 0x17,
0xb4, 0x6b
};
static const uint8_t chacha20_key51[] = {
0x82, 0x1a, 0x79, 0xab, 0x9a, 0xb5, 0x49, 0x6a,
0x30, 0x6b, 0x99, 0x19, 0x11, 0xc7, 0xa2, 0xf4,
0xca, 0x55, 0xb9, 0xdd, 0xe7, 0x2f, 0xe7, 0xc1,
0xdd, 0x27, 0xad, 0x80, 0xf2, 0x56, 0xad, 0xf3
};
enum { chacha20_nonce51 = 0xe93aff94ca71a4a6ULL };
static const uint8_t chacha20_input52[] = {
0x89, 0xdd, 0xf3, 0xfa, 0xb6, 0xc1, 0xaa, 0x9a,
0xc8, 0xad, 0x6b, 0x00, 0xa1, 0x65, 0xea, 0x14,
0x55, 0x54, 0x31, 0x8f, 0xf0, 0x03, 0x84, 0x51,
0x17, 0x1e, 0x0a, 0x93, 0x6e, 0x79, 0x96, 0xa3,
0x2a, 0x85, 0x9c, 0x89, 0xf8, 0xd1, 0xe2, 0x15,
0x95, 0x05, 0xf4, 0x43, 0x4d, 0x6b, 0xf0, 0x71,
0x3b, 0x3e, 0xba
};
static const uint8_t chacha20_output52[] = {
0x0c, 0x42, 0x6a, 0xb3, 0x66, 0x63, 0x5d, 0x2c,
0x9f, 0x3d, 0xa6, 0x6e, 0xc7, 0x5f, 0x79, 0x2f,
0x50, 0xe3, 0xd6, 0x07, 0x56, 0xa4, 0x2b, 0x2d,
0x8d, 0x10, 0xc0, 0x6c, 0xa2, 0xfc, 0x97, 0xec,
0x3f, 0x5c, 0x8d, 0x59, 0xbe, 0x84, 0xf1, 0x3e,
0x38, 0x47, 0x4f, 0x75, 0x25, 0x66, 0x88, 0x14,
0x03, 0xdd, 0xde
};
static const uint8_t chacha20_key52[] = {
0x4f, 0xb0, 0x27, 0xb6, 0xdd, 0x24, 0x0c, 0xdb,
0x6b, 0x71, 0x2e, 0xac, 0xfc, 0x3f, 0xa6, 0x48,
0x5d, 0xd5, 0xff, 0x53, 0xb5, 0x62, 0xf1, 0xe0,
0x93, 0xfe, 0x39, 0x4c, 0x9f, 0x03, 0x11, 0xa7
};
enum { chacha20_nonce52 = 0xed8becec3bdf6f25ULL };
static const uint8_t chacha20_input53[] = {
0x68, 0xd1, 0xc7, 0x74, 0x44, 0x1c, 0x84, 0xde,
0x27, 0x27, 0x35, 0xf0, 0x18, 0x0b, 0x57, 0xaa,
0xd0, 0x1a, 0xd3, 0x3b, 0x5e, 0x5c, 0x62, 0x93,
0xd7, 0x6b, 0x84, 0x3b, 0x71, 0x83, 0x77, 0x01,
0x3e, 0x59, 0x45, 0xf4, 0x77, 0x6c, 0x6b, 0xcb,
0x88, 0x45, 0x09, 0x1d, 0xc6, 0x45, 0x6e, 0xdc,
0x6e, 0x51, 0xb8, 0x28
};
static const uint8_t chacha20_output53[] = {
0xc5, 0x90, 0x96, 0x78, 0x02, 0xf5, 0xc4, 0x3c,
0xde, 0xd4, 0xd4, 0xc6, 0xa7, 0xad, 0x12, 0x47,
0x45, 0xce, 0xcd, 0x8c, 0x35, 0xcc, 0xa6, 0x9e,
0x5a, 0xc6, 0x60, 0xbb, 0xe3, 0xed, 0xec, 0x68,
0x3f, 0x64, 0xf7, 0x06, 0x63, 0x9c, 0x8c, 0xc8,
0x05, 0x3a, 0xad, 0x32, 0x79, 0x8b, 0x45, 0x96,
0x93, 0x73, 0x4c, 0xe0
};
static const uint8_t chacha20_key53[] = {
0x42, 0x4b, 0x20, 0x81, 0x49, 0x50, 0xe9, 0xc2,
0x43, 0x69, 0x36, 0xe7, 0x68, 0xae, 0xd5, 0x7e,
0x42, 0x1a, 0x1b, 0xb4, 0x06, 0x4d, 0xa7, 0x17,
0xb5, 0x31, 0xd6, 0x0c, 0xb0, 0x5c, 0x41, 0x0b
};
enum { chacha20_nonce53 = 0xf44ce1931fbda3d7ULL };
static const uint8_t chacha20_input54[] = {
0x7b, 0xf6, 0x8b, 0xae, 0xc0, 0xcb, 0x10, 0x8e,
0xe8, 0xd8, 0x2e, 0x3b, 0x14, 0xba, 0xb4, 0xd2,
0x58, 0x6b, 0x2c, 0xec, 0xc1, 0x81, 0x71, 0xb4,
0xc6, 0xea, 0x08, 0xc5, 0xc9, 0x78, 0xdb, 0xa2,
0xfa, 0x44, 0x50, 0x9b, 0xc8, 0x53, 0x8d, 0x45,
0x42, 0xe7, 0x09, 0xc4, 0x29, 0xd8, 0x75, 0x02,
0xbb, 0xb2, 0x78, 0xcf, 0xe7
};
static const uint8_t chacha20_output54[] = {
0xaf, 0x2c, 0x83, 0x26, 0x6e, 0x7f, 0xa6, 0xe9,
0x03, 0x75, 0xfe, 0xfe, 0x87, 0x58, 0xcf, 0xb5,
0xbc, 0x3c, 0x9d, 0xa1, 0x6e, 0x13, 0xf1, 0x0f,
0x9e, 0xbc, 0xe0, 0x54, 0x24, 0x32, 0xce, 0x95,
0xe6, 0xa5, 0x59, 0x3d, 0x24, 0x1d, 0x8f, 0xb1,
0x74, 0x6c, 0x56, 0xe7, 0x96, 0xc1, 0x91, 0xc8,
0x2d, 0x0e, 0xb7, 0x51, 0x10
};
static const uint8_t chacha20_key54[] = {
0x00, 0x68, 0x74, 0xdc, 0x30, 0x9e, 0xe3, 0x52,
0xa9, 0xae, 0xb6, 0x7c, 0xa1, 0xdc, 0x12, 0x2d,
0x98, 0x32, 0x7a, 0x77, 0xe1, 0xdd, 0xa3, 0x76,
0x72, 0x34, 0x83, 0xd8, 0xb7, 0x69, 0xba, 0x77
};
enum { chacha20_nonce54 = 0xbea57d79b798b63aULL };
static const uint8_t chacha20_input55[] = {
0xb5, 0xf4, 0x2f, 0xc1, 0x5e, 0x10, 0xa7, 0x4e,
0x74, 0x3d, 0xa3, 0x96, 0xc0, 0x4d, 0x7b, 0x92,
0x8f, 0xdb, 0x2d, 0x15, 0x52, 0x6a, 0x95, 0x5e,
0x40, 0x81, 0x4f, 0x70, 0x73, 0xea, 0x84, 0x65,
0x3d, 0x9a, 0x4e, 0x03, 0x95, 0xf8, 0x5d, 0x2f,
0x07, 0x02, 0x13, 0x13, 0xdd, 0x82, 0xe6, 0x3b,
0xe1, 0x5f, 0xb3, 0x37, 0x9b, 0x88
};
static const uint8_t chacha20_output55[] = {
0xc1, 0x88, 0xbd, 0x92, 0x77, 0xad, 0x7c, 0x5f,
0xaf, 0xa8, 0x57, 0x0e, 0x40, 0x0a, 0xdc, 0x70,
0xfb, 0xc6, 0x71, 0xfd, 0xc4, 0x74, 0x60, 0xcc,
0xa0, 0x89, 0x8e, 0x99, 0xf0, 0x06, 0xa6, 0x7c,
0x97, 0x42, 0x21, 0x81, 0x6a, 0x07, 0xe7, 0xb3,
0xf7, 0xa5, 0x03, 0x71, 0x50, 0x05, 0x63, 0x17,
0xa9, 0x46, 0x0b, 0xff, 0x30, 0x78
};
static const uint8_t chacha20_key55[] = {
0x19, 0x8f, 0xe7, 0xd7, 0x6b, 0x7f, 0x6f, 0x69,
0x86, 0x91, 0x0f, 0xa7, 0x4a, 0x69, 0x8e, 0x34,
0xf3, 0xdb, 0xde, 0xaf, 0xf2, 0x66, 0x1d, 0x64,
0x97, 0x0c, 0xcf, 0xfa, 0x33, 0x84, 0xfd, 0x0c
};
enum { chacha20_nonce55 = 0x80aa3d3e2c51ef06ULL };
static const uint8_t chacha20_input56[] = {
0x6b, 0xe9, 0x73, 0x42, 0x27, 0x5e, 0x12, 0xcd,
0xaa, 0x45, 0x12, 0x8b, 0xb3, 0xe6, 0x54, 0x33,
0x31, 0x7d, 0xe2, 0x25, 0xc6, 0x86, 0x47, 0x67,
0x86, 0x83, 0xe4, 0x46, 0xb5, 0x8f, 0x2c, 0xbb,
0xe4, 0xb8, 0x9f, 0xa2, 0xa4, 0xe8, 0x75, 0x96,
0x92, 0x51, 0x51, 0xac, 0x8e, 0x2e, 0x6f, 0xfc,
0xbd, 0x0d, 0xa3, 0x9f, 0x16, 0x55, 0x3e
};
static const uint8_t chacha20_output56[] = {
0x42, 0x99, 0x73, 0x6c, 0xd9, 0x4b, 0x16, 0xe5,
0x18, 0x63, 0x1a, 0xd9, 0x0e, 0xf1, 0x15, 0x2e,
0x0f, 0x4b, 0xe4, 0x5f, 0xa0, 0x4d, 0xde, 0x9f,
0xa7, 0x18, 0xc1, 0x0c, 0x0b, 0xae, 0x55, 0xe4,
0x89, 0x18, 0xa4, 0x78, 0x9d, 0x25, 0x0d, 0xd5,
0x94, 0x0f, 0xf9, 0x78, 0xa3, 0xa6, 0xe9, 0x9e,
0x2c, 0x73, 0xf0, 0xf7, 0x35, 0xf3, 0x2b
};
static const uint8_t chacha20_key56[] = {
0x7d, 0x12, 0xad, 0x51, 0xd5, 0x6f, 0x8f, 0x96,
0xc0, 0x5d, 0x9a, 0xd1, 0x7e, 0x20, 0x98, 0x0e,
0x3c, 0x0a, 0x67, 0x6b, 0x1b, 0x88, 0x69, 0xd4,
0x07, 0x8c, 0xaf, 0x0f, 0x3a, 0x28, 0xe4, 0x5d
};
enum { chacha20_nonce56 = 0x70f4c372fb8b5984ULL };
static const uint8_t chacha20_input57[] = {
0x28, 0xa3, 0x06, 0xe8, 0xe7, 0x08, 0xb9, 0xef,
0x0d, 0x63, 0x15, 0x99, 0xb2, 0x78, 0x7e, 0xaf,
0x30, 0x50, 0xcf, 0xea, 0xc9, 0x91, 0x41, 0x2f,
0x3b, 0x38, 0x70, 0xc4, 0x87, 0xb0, 0x3a, 0xee,
0x4a, 0xea, 0xe3, 0x83, 0x68, 0x8b, 0xcf, 0xda,
0x04, 0xa5, 0xbd, 0xb2, 0xde, 0x3c, 0x55, 0x13,
0xfe, 0x96, 0xad, 0xc1, 0x61, 0x1b, 0x98, 0xde
};
static const uint8_t chacha20_output57[] = {
0xf4, 0x44, 0xe9, 0xd2, 0x6d, 0xc2, 0x5a, 0xe9,
0xfd, 0x7e, 0x41, 0x54, 0x3f, 0xf4, 0x12, 0xd8,
0x55, 0x0d, 0x12, 0x9b, 0xd5, 0x2e, 0x95, 0xe5,
0x77, 0x42, 0x3f, 0x2c, 0xfb, 0x28, 0x9d, 0x72,
0x6d, 0x89, 0x82, 0x27, 0x64, 0x6f, 0x0d, 0x57,
0xa1, 0x25, 0xa3, 0x6b, 0x88, 0x9a, 0xac, 0x0c,
0x76, 0x19, 0x90, 0xe2, 0x50, 0x5a, 0xf8, 0x12
};
static const uint8_t chacha20_key57[] = {
0x08, 0x26, 0xb8, 0xac, 0xf3, 0xa5, 0xc6, 0xa3,
0x7f, 0x09, 0x87, 0xf5, 0x6c, 0x5a, 0x85, 0x6c,
0x3d, 0xbd, 0xde, 0xd5, 0x87, 0xa3, 0x98, 0x7a,
0xaa, 0x40, 0x3e, 0xf7, 0xff, 0x44, 0x5d, 0xee
};
enum { chacha20_nonce57 = 0xc03a6130bf06b089ULL };
static const uint8_t chacha20_input58[] = {
0x82, 0xa5, 0x38, 0x6f, 0xaa, 0xb4, 0xaf, 0xb2,
0x42, 0x01, 0xa8, 0x39, 0x3f, 0x15, 0x51, 0xa8,
0x11, 0x1b, 0x93, 0xca, 0x9c, 0xa0, 0x57, 0x68,
0x8f, 0xdb, 0x68, 0x53, 0x51, 0x6d, 0x13, 0x22,
0x12, 0x9b, 0xbd, 0x33, 0xa8, 0x52, 0x40, 0x57,
0x80, 0x9b, 0x98, 0xef, 0x56, 0x70, 0x11, 0xfa,
0x36, 0x69, 0x7d, 0x15, 0x48, 0xf9, 0x3b, 0xeb,
0x42
};
static const uint8_t chacha20_output58[] = {
0xff, 0x3a, 0x74, 0xc3, 0x3e, 0x44, 0x64, 0x4d,
0x0e, 0x5f, 0x9d, 0xa8, 0xdb, 0xbe, 0x12, 0xef,
0xba, 0x56, 0x65, 0x50, 0x76, 0xaf, 0xa4, 0x4e,
0x01, 0xc1, 0xd3, 0x31, 0x14, 0xe2, 0xbe, 0x7b,
0xa5, 0x67, 0xb4, 0xe3, 0x68, 0x40, 0x9c, 0xb0,
0xb1, 0x78, 0xef, 0x49, 0x03, 0x0f, 0x2d, 0x56,
0xb4, 0x37, 0xdb, 0xbc, 0x2d, 0x68, 0x1c, 0x3c,
0xf1
};
static const uint8_t chacha20_key58[] = {
0x7e, 0xf1, 0x7c, 0x20, 0x65, 0xed, 0xcd, 0xd7,
0x57, 0xe8, 0xdb, 0x90, 0x87, 0xdb, 0x5f, 0x63,
0x3d, 0xdd, 0xb8, 0x2b, 0x75, 0x8e, 0x04, 0xb5,
0xf4, 0x12, 0x79, 0xa9, 0x4d, 0x42, 0x16, 0x7f
};
enum { chacha20_nonce58 = 0x92838183f80d2f7fULL };
static const uint8_t chacha20_input59[] = {
0x37, 0xf1, 0x9d, 0xdd, 0xd7, 0x08, 0x9f, 0x13,
0xc5, 0x21, 0x82, 0x75, 0x08, 0x9e, 0x25, 0x16,
0xb1, 0xd1, 0x71, 0x42, 0x28, 0x63, 0xac, 0x47,
0x71, 0x54, 0xb1, 0xfc, 0x39, 0xf0, 0x61, 0x4f,
0x7c, 0x6d, 0x4f, 0xc8, 0x33, 0xef, 0x7e, 0xc8,
0xc0, 0x97, 0xfc, 0x1a, 0x61, 0xb4, 0x87, 0x6f,
0xdd, 0x5a, 0x15, 0x7b, 0x1b, 0x95, 0x50, 0x94,
0x1d, 0xba
};
static const uint8_t chacha20_output59[] = {
0x73, 0x67, 0xc5, 0x07, 0xbb, 0x57, 0x79, 0xd5,
0xc9, 0x04, 0xdd, 0x88, 0xf3, 0x86, 0xe5, 0x70,
0x49, 0x31, 0xe0, 0xcc, 0x3b, 0x1d, 0xdf, 0xb0,
0xaf, 0xf4, 0x2d, 0xe0, 0x06, 0x10, 0x91, 0x8d,
0x1c, 0xcf, 0x31, 0x0b, 0xf6, 0x73, 0xda, 0x1c,
0xf0, 0x17, 0x52, 0x9e, 0x20, 0x2e, 0x9f, 0x8c,
0xb3, 0x59, 0xce, 0xd4, 0xd3, 0xc1, 0x81, 0xe9,
0x11, 0x36
};
static const uint8_t chacha20_key59[] = {
0xbd, 0x07, 0xd0, 0x53, 0x2c, 0xb3, 0xcc, 0x3f,
0xc4, 0x95, 0xfd, 0xe7, 0x81, 0xb3, 0x29, 0x99,
0x05, 0x45, 0xd6, 0x95, 0x25, 0x0b, 0x72, 0xd3,
0xcd, 0xbb, 0x73, 0xf8, 0xfa, 0xc0, 0x9b, 0x7a
};
enum { chacha20_nonce59 = 0x4a0db819b0d519e2ULL };
static const uint8_t chacha20_input60[] = {
0x58, 0x4e, 0xdf, 0x94, 0x3c, 0x76, 0x0a, 0x79,
0x47, 0xf1, 0xbe, 0x88, 0xd3, 0xba, 0x94, 0xd8,
0xe2, 0x8f, 0xe3, 0x2f, 0x2f, 0x74, 0x82, 0x55,
0xc3, 0xda, 0xe2, 0x4e, 0x2c, 0x8c, 0x45, 0x1d,
0x72, 0x8f, 0x54, 0x41, 0xb5, 0xb7, 0x69, 0xe4,
0xdc, 0xd2, 0x36, 0x21, 0x5c, 0x28, 0x52, 0xf7,
0x98, 0x8e, 0x72, 0xa7, 0x6d, 0x57, 0xed, 0xdc,
0x3c, 0xe6, 0x6a
};
static const uint8_t chacha20_output60[] = {
0xda, 0xaf, 0xb5, 0xe3, 0x30, 0x65, 0x5c, 0xb1,
0x48, 0x08, 0x43, 0x7b, 0x9e, 0xd2, 0x6a, 0x62,
0x56, 0x7c, 0xad, 0xd9, 0xe5, 0xf6, 0x09, 0x71,
0xcd, 0xe6, 0x05, 0x6b, 0x3f, 0x44, 0x3a, 0x5c,
0xf6, 0xf8, 0xd7, 0xce, 0x7d, 0xd1, 0xe0, 0x4f,
0x88, 0x15, 0x04, 0xd8, 0x20, 0xf0, 0x3e, 0xef,
0xae, 0xa6, 0x27, 0xa3, 0x0e, 0xfc, 0x18, 0x90,
0x33, 0xcd, 0xd3
};
static const uint8_t chacha20_key60[] = {
0xbf, 0xfd, 0x25, 0xb5, 0xb2, 0xfc, 0x78, 0x0c,
0x8e, 0xb9, 0x57, 0x2f, 0x26, 0x4a, 0x7e, 0x71,
0xcc, 0xf2, 0xe0, 0xfd, 0x24, 0x11, 0x20, 0x23,
0x57, 0x00, 0xff, 0x80, 0x11, 0x0c, 0x1e, 0xff
};
enum { chacha20_nonce60 = 0xf18df56fdb7954adULL };
static const uint8_t chacha20_input61[] = {
0xb0, 0xf3, 0x06, 0xbc, 0x22, 0xae, 0x49, 0x40,
0xae, 0xff, 0x1b, 0x31, 0xa7, 0x98, 0xab, 0x1d,
0xe7, 0x40, 0x23, 0x18, 0x4f, 0xab, 0x8e, 0x93,
0x82, 0xf4, 0x56, 0x61, 0xfd, 0x2b, 0xcf, 0xa7,
0xc4, 0xb4, 0x0a, 0xf4, 0xcb, 0xc7, 0x8c, 0x40,
0x57, 0xac, 0x0b, 0x3e, 0x2a, 0x0a, 0x67, 0x83,
0x50, 0xbf, 0xec, 0xb0, 0xc7, 0xf1, 0x32, 0x26,
0x98, 0x80, 0x33, 0xb4
};
static const uint8_t chacha20_output61[] = {
0x9d, 0x23, 0x0e, 0xff, 0xcc, 0x7c, 0xd5, 0xcf,
0x1a, 0xb8, 0x59, 0x1e, 0x92, 0xfd, 0x7f, 0xca,
0xca, 0x3c, 0x18, 0x81, 0xde, 0xfa, 0x59, 0xc8,
0x6f, 0x9c, 0x24, 0x3f, 0x3a, 0xe6, 0x0b, 0xb4,
0x34, 0x48, 0x69, 0xfc, 0xb6, 0xea, 0xb2, 0xde,
0x9f, 0xfd, 0x92, 0x36, 0x18, 0x98, 0x99, 0xaa,
0x65, 0xe2, 0xea, 0xf4, 0xb1, 0x47, 0x8e, 0xb0,
0xe7, 0xd4, 0x7a, 0x2c
};
static const uint8_t chacha20_key61[] = {
0xd7, 0xfd, 0x9b, 0xbd, 0x8f, 0x65, 0x0d, 0x00,
0xca, 0xa1, 0x6c, 0x85, 0x85, 0xa4, 0x6d, 0xf1,
0xb1, 0x68, 0x0c, 0x8b, 0x5d, 0x37, 0x72, 0xd0,
0xd8, 0xd2, 0x25, 0xab, 0x9f, 0x7b, 0x7d, 0x95
};
enum { chacha20_nonce61 = 0xd82caf72a9c4864fULL };
static const uint8_t chacha20_input62[] = {
0x10, 0x77, 0xf3, 0x2f, 0xc2, 0x50, 0xd6, 0x0c,
0xba, 0xa8, 0x8d, 0xce, 0x0d, 0x58, 0x9e, 0x87,
0xb1, 0x59, 0x66, 0x0a, 0x4a, 0xb3, 0xd8, 0xca,
0x0a, 0x6b, 0xf8, 0xc6, 0x2b, 0x3f, 0x8e, 0x09,
0xe0, 0x0a, 0x15, 0x85, 0xfe, 0xaa, 0xc6, 0xbd,
0x30, 0xef, 0xe4, 0x10, 0x78, 0x03, 0xc1, 0xc7,
0x8a, 0xd9, 0xde, 0x0b, 0x51, 0x07, 0xc4, 0x7b,
0xe2, 0x2e, 0x36, 0x3a, 0xc2
};
static const uint8_t chacha20_output62[] = {
0xa0, 0x0c, 0xfc, 0xc1, 0xf6, 0xaf, 0xc2, 0xb8,
0x5c, 0xef, 0x6e, 0xf3, 0xce, 0x15, 0x48, 0x05,
0xb5, 0x78, 0x49, 0x51, 0x1f, 0x9d, 0xf4, 0xbf,
0x2f, 0x53, 0xa2, 0xd1, 0x15, 0x20, 0x82, 0x6b,
0xd2, 0x22, 0x6c, 0x4e, 0x14, 0x87, 0xe3, 0xd7,
0x49, 0x45, 0x84, 0xdb, 0x5f, 0x68, 0x60, 0xc4,
0xb3, 0xe6, 0x3f, 0xd1, 0xfc, 0xa5, 0x73, 0xf3,
0xfc, 0xbb, 0xbe, 0xc8, 0x9d
};
static const uint8_t chacha20_key62[] = {
0x6e, 0xc9, 0xaf, 0xce, 0x35, 0xb9, 0x86, 0xd1,
0xce, 0x5f, 0xd9, 0xbb, 0xd5, 0x1f, 0x7c, 0xcd,
0xfe, 0x19, 0xaa, 0x3d, 0xea, 0x64, 0xc1, 0x28,
0x40, 0xba, 0xa1, 0x28, 0xcd, 0x40, 0xb6, 0xf2
};
enum { chacha20_nonce62 = 0xa1c0c265f900cde8ULL };
static const uint8_t chacha20_input63[] = {
0x7a, 0x70, 0x21, 0x2c, 0xef, 0xa6, 0x36, 0xd4,
0xe0, 0xab, 0x8c, 0x25, 0x73, 0x34, 0xc8, 0x94,
0x6c, 0x81, 0xcb, 0x19, 0x8d, 0x5a, 0x49, 0xaa,
0x6f, 0xba, 0x83, 0x72, 0x02, 0x5e, 0xf5, 0x89,
0xce, 0x79, 0x7e, 0x13, 0x3d, 0x5b, 0x98, 0x60,
0x5d, 0xd9, 0xfb, 0x15, 0x93, 0x4c, 0xf3, 0x51,
0x49, 0x55, 0xd1, 0x58, 0xdd, 0x7e, 0x6d, 0xfe,
0xdd, 0x84, 0x23, 0x05, 0xba, 0xe9
};
static const uint8_t chacha20_output63[] = {
0x20, 0xb3, 0x5c, 0x03, 0x03, 0x78, 0x17, 0xfc,
0x3b, 0x35, 0x30, 0x9a, 0x00, 0x18, 0xf5, 0xc5,
0x06, 0x53, 0xf5, 0x04, 0x24, 0x9d, 0xd1, 0xb2,
0xac, 0x5a, 0xb6, 0x2a, 0xa5, 0xda, 0x50, 0x00,
0xec, 0xff, 0xa0, 0x7a, 0x14, 0x7b, 0xe4, 0x6b,
0x63, 0xe8, 0x66, 0x86, 0x34, 0xfd, 0x74, 0x44,
0xa2, 0x50, 0x97, 0x0d, 0xdc, 0xc3, 0x84, 0xf8,
0x71, 0x02, 0x31, 0x95, 0xed, 0x54
};
static const uint8_t chacha20_key63[] = {
0x7d, 0x64, 0xb4, 0x12, 0x81, 0xe4, 0xe6, 0x8f,
0xcc, 0xe7, 0xd1, 0x1f, 0x70, 0x20, 0xfd, 0xb8,
0x3a, 0x7d, 0xa6, 0x53, 0x65, 0x30, 0x5d, 0xe3,
0x1a, 0x44, 0xbe, 0x62, 0xed, 0x90, 0xc4, 0xd1
};
enum { chacha20_nonce63 = 0xe8e849596c942276ULL };
static const uint8_t chacha20_input64[] = {
0x84, 0xf8, 0xda, 0x87, 0x23, 0x39, 0x60, 0xcf,
0xc5, 0x50, 0x7e, 0xc5, 0x47, 0x29, 0x7c, 0x05,
0xc2, 0xb4, 0xf4, 0xb2, 0xec, 0x5d, 0x48, 0x36,
0xbf, 0xfc, 0x06, 0x8c, 0xf2, 0x0e, 0x88, 0xe7,
0xc9, 0xc5, 0xa4, 0xa2, 0x83, 0x20, 0xa1, 0x6f,
0x37, 0xe5, 0x2d, 0xa1, 0x72, 0xa1, 0x19, 0xef,
0x05, 0x42, 0x08, 0xf2, 0x57, 0x47, 0x31, 0x1e,
0x17, 0x76, 0x13, 0xd3, 0xcc, 0x75, 0x2c
};
static const uint8_t chacha20_output64[] = {
0xcb, 0xec, 0x90, 0x88, 0xeb, 0x31, 0x69, 0x20,
0xa6, 0xdc, 0xff, 0x76, 0x98, 0xb0, 0x24, 0x49,
0x7b, 0x20, 0xd9, 0xd1, 0x1b, 0xe3, 0x61, 0xdc,
0xcf, 0x51, 0xf6, 0x70, 0x72, 0x33, 0x28, 0x94,
0xac, 0x73, 0x18, 0xcf, 0x93, 0xfd, 0xca, 0x08,
0x0d, 0xa2, 0xb9, 0x57, 0x1e, 0x51, 0xb6, 0x07,
0x5c, 0xc1, 0x13, 0x64, 0x1d, 0x18, 0x6f, 0xe6,
0x0b, 0xb7, 0x14, 0x03, 0x43, 0xb6, 0xaf
};
static const uint8_t chacha20_key64[] = {
0xbf, 0x82, 0x65, 0xe4, 0x50, 0xf9, 0x5e, 0xea,
0x28, 0x91, 0xd1, 0xd2, 0x17, 0x7c, 0x13, 0x7e,
0xf5, 0xd5, 0x6b, 0x06, 0x1c, 0x20, 0xc2, 0x82,
0xa1, 0x7a, 0xa2, 0x14, 0xa1, 0xb0, 0x54, 0x58
};
enum { chacha20_nonce64 = 0xe57c5095aa5723c9ULL };
static const uint8_t chacha20_input65[] = {
0x1c, 0xfb, 0xd3, 0x3f, 0x85, 0xd7, 0xba, 0x7b,
0xae, 0xb1, 0xa5, 0xd2, 0xe5, 0x40, 0xce, 0x4d,
0x3e, 0xab, 0x17, 0x9d, 0x7d, 0x9f, 0x03, 0x98,
0x3f, 0x9f, 0xc8, 0xdd, 0x36, 0x17, 0x43, 0x5c,
0x34, 0xd1, 0x23, 0xe0, 0x77, 0xbf, 0x35, 0x5d,
0x8f, 0xb1, 0xcb, 0x82, 0xbb, 0x39, 0x69, 0xd8,
0x90, 0x45, 0x37, 0xfd, 0x98, 0x25, 0xf7, 0x5b,
0xce, 0x06, 0x43, 0xba, 0x61, 0xa8, 0x47, 0xb9
};
static const uint8_t chacha20_output65[] = {
0x73, 0xa5, 0x68, 0xab, 0x8b, 0xa5, 0xc3, 0x7e,
0x74, 0xf8, 0x9d, 0xf5, 0x93, 0x6e, 0xf2, 0x71,
0x6d, 0xde, 0x82, 0xc5, 0x40, 0xa0, 0x46, 0xb3,
0x9a, 0x78, 0xa8, 0xf7, 0xdf, 0xb1, 0xc3, 0xdd,
0x8d, 0x90, 0x00, 0x68, 0x21, 0x48, 0xe8, 0xba,
0x56, 0x9f, 0x8f, 0xe7, 0xa4, 0x4d, 0x36, 0x55,
0xd0, 0x34, 0x99, 0xa6, 0x1c, 0x4c, 0xc1, 0xe2,
0x65, 0x98, 0x14, 0x8e, 0x6a, 0x05, 0xb1, 0x2b
};
static const uint8_t chacha20_key65[] = {
0xbd, 0x5c, 0x8a, 0xb0, 0x11, 0x29, 0xf3, 0x00,
0x7a, 0x78, 0x32, 0x63, 0x34, 0x00, 0xe6, 0x7d,
0x30, 0x54, 0xde, 0x37, 0xda, 0xc2, 0xc4, 0x3d,
0x92, 0x6b, 0x4c, 0xc2, 0x92, 0xe9, 0x9e, 0x2a
};
enum { chacha20_nonce65 = 0xf654a3031de746f2ULL };
static const uint8_t chacha20_input66[] = {
0x4b, 0x27, 0x30, 0x8f, 0x28, 0xd8, 0x60, 0x46,
0x39, 0x06, 0x49, 0xea, 0x1b, 0x71, 0x26, 0xe0,
0x99, 0x2b, 0xd4, 0x8f, 0x64, 0x64, 0xcd, 0xac,
0x1d, 0x78, 0x88, 0x90, 0xe1, 0x5c, 0x24, 0x4b,
0xdc, 0x2d, 0xb7, 0xee, 0x3a, 0xe6, 0x86, 0x2c,
0x21, 0xe4, 0x2b, 0xfc, 0xe8, 0x19, 0xca, 0x65,
0xe7, 0xdd, 0x6f, 0x52, 0xb3, 0x11, 0xe1, 0xe2,
0xbf, 0xe8, 0x70, 0xe3, 0x0d, 0x45, 0xb8, 0xa5,
0x20, 0xb7, 0xb5, 0xaf, 0xff, 0x08, 0xcf, 0x23,
0x65, 0xdf, 0x8d, 0xc3, 0x31, 0xf3, 0x1e, 0x6a,
0x58, 0x8d, 0xcc, 0x45, 0x16, 0x86, 0x1f, 0x31,
0x5c, 0x27, 0xcd, 0xc8, 0x6b, 0x19, 0x1e, 0xec,
0x44, 0x75, 0x63, 0x97, 0xfd, 0x79, 0xf6, 0x62,
0xc5, 0xba, 0x17, 0xc7, 0xab, 0x8f, 0xbb, 0xed,
0x85, 0x2a, 0x98, 0x79, 0x21, 0xec, 0x6e, 0x4d,
0xdc, 0xfa, 0x72, 0x52, 0xba, 0xc8, 0x4c
};
static const uint8_t chacha20_output66[] = {
0x76, 0x5b, 0x2c, 0xa7, 0x62, 0xb9, 0x08, 0x4a,
0xc6, 0x4a, 0x92, 0xc3, 0xbb, 0x10, 0xb3, 0xee,
0xff, 0xb9, 0x07, 0xc7, 0x27, 0xcb, 0x1e, 0xcf,
0x58, 0x6f, 0xa1, 0x64, 0xe8, 0xf1, 0x4e, 0xe1,
0xef, 0x18, 0x96, 0xab, 0x97, 0x28, 0xd1, 0x7c,
0x71, 0x6c, 0xd1, 0xe2, 0xfa, 0xd9, 0x75, 0xcb,
0xeb, 0xea, 0x0c, 0x86, 0x82, 0xd8, 0xf4, 0xcc,
0xea, 0xa3, 0x00, 0xfa, 0x82, 0xd2, 0xcd, 0xcb,
0xdb, 0x63, 0x28, 0xe2, 0x82, 0xe9, 0x01, 0xed,
0x31, 0xe6, 0x71, 0x45, 0x08, 0x89, 0x8a, 0x23,
0xa8, 0xb5, 0xc2, 0xe2, 0x9f, 0xe9, 0xb8, 0x9a,
0xc4, 0x79, 0x6d, 0x71, 0x52, 0x61, 0x74, 0x6c,
0x1b, 0xd7, 0x65, 0x6d, 0x03, 0xc4, 0x1a, 0xc0,
0x50, 0xba, 0xd6, 0xc9, 0x43, 0x50, 0xbe, 0x09,
0x09, 0x8a, 0xdb, 0xaa, 0x76, 0x4e, 0x3b, 0x61,
0x3c, 0x7c, 0x44, 0xe7, 0xdb, 0x10, 0xa7
};
static const uint8_t chacha20_key66[] = {
0x88, 0xdf, 0xca, 0x68, 0xaf, 0x4f, 0xb3, 0xfd,
0x6e, 0xa7, 0x95, 0x35, 0x8a, 0xe8, 0x37, 0xe8,
0xc8, 0x55, 0xa2, 0x2a, 0x6d, 0x77, 0xf8, 0x93,
0x7a, 0x41, 0xf3, 0x7b, 0x95, 0xdf, 0x89, 0xf5
};
enum { chacha20_nonce66 = 0x1024b4fdd415cf82ULL };
static const uint8_t chacha20_input67[] = {
0xd4, 0x2e, 0xfa, 0x92, 0xe9, 0x29, 0x68, 0xb7,
0x54, 0x2c, 0xf7, 0xa4, 0x2d, 0xb7, 0x50, 0xb5,
0xc5, 0xb2, 0x9d, 0x17, 0x5e, 0x0a, 0xca, 0x37,
0xbf, 0x60, 0xae, 0xd2, 0x98, 0xe9, 0xfa, 0x59,
0x67, 0x62, 0xe6, 0x43, 0x0c, 0x77, 0x80, 0x82,
0x33, 0x61, 0xa3, 0xff, 0xc1, 0xa0, 0x8f, 0x56,
0xbc, 0xec, 0x65, 0x43, 0x88, 0xa5, 0xff, 0x51,
0x64, 0x30, 0xee, 0x34, 0xb7, 0x5c, 0x28, 0x68,
0xc3, 0x52, 0xd2, 0xac, 0x78, 0x2a, 0xa6, 0x10,
0xb8, 0xb2, 0x4c, 0x80, 0x4f, 0x99, 0xb2, 0x36,
0x94, 0x8f, 0x66, 0xcb, 0xa1, 0x91, 0xed, 0x06,
0x42, 0x6d, 0xc1, 0xae, 0x55, 0x93, 0xdd, 0x93,
0x9e, 0x88, 0x34, 0x7f, 0x98, 0xeb, 0xbe, 0x61,
0xf9, 0xa9, 0x0f, 0xd9, 0xc4, 0x87, 0xd5, 0xef,
0xcc, 0x71, 0x8c, 0x0e, 0xce, 0xad, 0x02, 0xcf,
0xa2, 0x61, 0xdf, 0xb1, 0xfe, 0x3b, 0xdc, 0xc0,
0x58, 0xb5, 0x71, 0xa1, 0x83, 0xc9, 0xb4, 0xaf,
0x9d, 0x54, 0x12, 0xcd, 0xea, 0x06, 0xd6, 0x4e,
0xe5, 0x27, 0x0c, 0xc3, 0xbb, 0xa8, 0x0a, 0x81,
0x75, 0xc3, 0xc9, 0xd4, 0x35, 0x3e, 0x53, 0x9f,
0xaa, 0x20, 0xc0, 0x68, 0x39, 0x2c, 0x96, 0x39,
0x53, 0x81, 0xda, 0x07, 0x0f, 0x44, 0xa5, 0x47,
0x0e, 0xb3, 0x87, 0x0d, 0x1b, 0xc1, 0xe5, 0x41,
0x35, 0x12, 0x58, 0x96, 0x69, 0x8a, 0x1a, 0xa3,
0x9d, 0x3d, 0xd4, 0xb1, 0x8e, 0x1f, 0x96, 0x87,
0xda, 0xd3, 0x19, 0xe2, 0xb1, 0x3a, 0x19, 0x74,
0xa0, 0x00, 0x9f, 0x4d, 0xbc, 0xcb, 0x0c, 0xe9,
0xec, 0x10, 0xdf, 0x2a, 0x88, 0xdc, 0x30, 0x51,
0x46, 0x56, 0x53, 0x98, 0x6a, 0x26, 0x14, 0x05,
0x54, 0x81, 0x55, 0x0b, 0x3c, 0x85, 0xdd, 0x33,
0x81, 0x11, 0x29, 0x82, 0x46, 0x35, 0xe1, 0xdb,
0x59, 0x7b
};
static const uint8_t chacha20_output67[] = {
0x64, 0x6c, 0xda, 0x7f, 0xd4, 0xa9, 0x2a, 0x5e,
0x22, 0xae, 0x8d, 0x67, 0xdb, 0xee, 0xfd, 0xd0,
0x44, 0x80, 0x17, 0xb2, 0xe3, 0x87, 0xad, 0x57,
0x15, 0xcb, 0x88, 0x64, 0xc0, 0xf1, 0x49, 0x3d,
0xfa, 0xbe, 0xa8, 0x9f, 0x12, 0xc3, 0x57, 0x56,
0x70, 0xa5, 0xc5, 0x6b, 0xf1, 0xab, 0xd5, 0xde,
0x77, 0x92, 0x6a, 0x56, 0x03, 0xf5, 0x21, 0x0d,
0xb6, 0xc4, 0xcc, 0x62, 0x44, 0x3f, 0xb1, 0xc1,
0x61, 0x41, 0x90, 0xb2, 0xd5, 0xb8, 0xf3, 0x57,
0xfb, 0xc2, 0x6b, 0x25, 0x58, 0xc8, 0x45, 0x20,
0x72, 0x29, 0x6f, 0x9d, 0xb5, 0x81, 0x4d, 0x2b,
0xb2, 0x89, 0x9e, 0x91, 0x53, 0x97, 0x1c, 0xd9,
0x3d, 0x79, 0xdc, 0x14, 0xae, 0x01, 0x73, 0x75,
0xf0, 0xca, 0xd5, 0xab, 0x62, 0x5c, 0x7a, 0x7d,
0x3f, 0xfe, 0x22, 0x7d, 0xee, 0xe2, 0xcb, 0x76,
0x55, 0xec, 0x06, 0xdd, 0x41, 0x47, 0x18, 0x62,
0x1d, 0x57, 0xd0, 0xd6, 0xb6, 0x0f, 0x4b, 0xfc,
0x79, 0x19, 0xf4, 0xd6, 0x37, 0x86, 0x18, 0x1f,
0x98, 0x0d, 0x9e, 0x15, 0x2d, 0xb6, 0x9a, 0x8a,
0x8c, 0x80, 0x22, 0x2f, 0x82, 0xc4, 0xc7, 0x36,
0xfa, 0xfa, 0x07, 0xbd, 0xc2, 0x2a, 0xe2, 0xea,
0x93, 0xc8, 0xb2, 0x90, 0x33, 0xf2, 0xee, 0x4b,
0x1b, 0xf4, 0x37, 0x92, 0x13, 0xbb, 0xe2, 0xce,
0xe3, 0x03, 0xcf, 0x07, 0x94, 0xab, 0x9a, 0xc9,
0xff, 0x83, 0x69, 0x3a, 0xda, 0x2c, 0xd0, 0x47,
0x3d, 0x6c, 0x1a, 0x60, 0x68, 0x47, 0xb9, 0x36,
0x52, 0xdd, 0x16, 0xef, 0x6c, 0xbf, 0x54, 0x11,
0x72, 0x62, 0xce, 0x8c, 0x9d, 0x90, 0xa0, 0x25,
0x06, 0x92, 0x3e, 0x12, 0x7e, 0x1a, 0x1d, 0xe5,
0xa2, 0x71, 0xce, 0x1c, 0x4c, 0x6a, 0x7c, 0xdc,
0x3d, 0xe3, 0x6e, 0x48, 0x9d, 0xb3, 0x64, 0x7d,
0x78, 0x40
};
static const uint8_t chacha20_key67[] = {
0xa9, 0x20, 0x75, 0x89, 0x7e, 0x37, 0x85, 0x48,
0xa3, 0xfb, 0x7b, 0xe8, 0x30, 0xa7, 0xe3, 0x6e,
0xa6, 0xc1, 0x71, 0x17, 0xc1, 0x6c, 0x9b, 0xc2,
0xde, 0xf0, 0xa7, 0x19, 0xec, 0xce, 0xc6, 0x53
};
enum { chacha20_nonce67 = 0x4adc4d1f968c8a10ULL };
static const uint8_t chacha20_input68[] = {
0x99, 0xae, 0x72, 0xfb, 0x16, 0xe1, 0xf1, 0x59,
0x43, 0x15, 0x4e, 0x33, 0xa0, 0x95, 0xe7, 0x6c,
0x74, 0x24, 0x31, 0xca, 0x3b, 0x2e, 0xeb, 0xd7,
0x11, 0xd8, 0xe0, 0x56, 0x92, 0x91, 0x61, 0x57,
0xe2, 0x82, 0x9f, 0x8f, 0x37, 0xf5, 0x3d, 0x24,
0x92, 0x9d, 0x87, 0x00, 0x8d, 0x89, 0xe0, 0x25,
0x8b, 0xe4, 0x20, 0x5b, 0x8a, 0x26, 0x2c, 0x61,
0x78, 0xb0, 0xa6, 0x3e, 0x82, 0x18, 0xcf, 0xdc,
0x2d, 0x24, 0xdd, 0x81, 0x42, 0xc4, 0x95, 0xf0,
0x48, 0x60, 0x71, 0xe3, 0xe3, 0xac, 0xec, 0xbe,
0x98, 0x6b, 0x0c, 0xb5, 0x6a, 0xa9, 0xc8, 0x79,
0x23, 0x2e, 0x38, 0x0b, 0x72, 0x88, 0x8c, 0xe7,
0x71, 0x8b, 0x36, 0xe3, 0x58, 0x3d, 0x9c, 0xa0,
0xa2, 0xea, 0xcf, 0x0c, 0x6a, 0x6c, 0x64, 0xdf,
0x97, 0x21, 0x8f, 0x93, 0xfb, 0xba, 0xf3, 0x5a,
0xd7, 0x8f, 0xa6, 0x37, 0x15, 0x50, 0x43, 0x02,
0x46, 0x7f, 0x93, 0x46, 0x86, 0x31, 0xe2, 0xaa,
0x24, 0xa8, 0x26, 0xae, 0xe6, 0xc0, 0x05, 0x73,
0x0b, 0x4f, 0x7e, 0xed, 0x65, 0xeb, 0x56, 0x1e,
0xb6, 0xb3, 0x0b, 0xc3, 0x0e, 0x31, 0x95, 0xa9,
0x18, 0x4d, 0xaf, 0x38, 0xd7, 0xec, 0xc6, 0x44,
0x72, 0x77, 0x4e, 0x25, 0x4b, 0x25, 0xdd, 0x1e,
0x8c, 0xa2, 0xdf, 0xf6, 0x2a, 0x97, 0x1a, 0x88,
0x2c, 0x8a, 0x5d, 0xfe, 0xe8, 0xfb, 0x35, 0xe8,
0x0f, 0x2b, 0x7a, 0x18, 0x69, 0x43, 0x31, 0x1d,
0x38, 0x6a, 0x62, 0x95, 0x0f, 0x20, 0x4b, 0xbb,
0x97, 0x3c, 0xe0, 0x64, 0x2f, 0x52, 0xc9, 0x2d,
0x4d, 0x9d, 0x54, 0x04, 0x3d, 0xc9, 0xea, 0xeb,
0xd0, 0x86, 0x52, 0xff, 0x42, 0xe1, 0x0d, 0x7a,
0xad, 0x88, 0xf9, 0x9b, 0x1e, 0x5e, 0x12, 0x27,
0x95, 0x3e, 0x0c, 0x2c, 0x13, 0x00, 0x6f, 0x8e,
0x93, 0x69, 0x0e, 0x01, 0x8c, 0xc1, 0xfd, 0xb3
};
static const uint8_t chacha20_output68[] = {
0x26, 0x3e, 0xf2, 0xb1, 0xf5, 0xef, 0x81, 0xa4,
0xb7, 0x42, 0xd4, 0x26, 0x18, 0x4b, 0xdd, 0x6a,
0x47, 0x15, 0xcb, 0x0e, 0x57, 0xdb, 0xa7, 0x29,
0x7e, 0x7b, 0x3f, 0x47, 0x89, 0x57, 0xab, 0xea,
0x14, 0x7b, 0xcf, 0x37, 0xdb, 0x1c, 0xe1, 0x11,
0x77, 0xae, 0x2e, 0x4c, 0xd2, 0x08, 0x3f, 0xa6,
0x62, 0x86, 0xa6, 0xb2, 0x07, 0xd5, 0x3f, 0x9b,
0xdc, 0xc8, 0x50, 0x4b, 0x7b, 0xb9, 0x06, 0xe6,
0xeb, 0xac, 0x98, 0x8c, 0x36, 0x0c, 0x1e, 0xb2,
0xc8, 0xfb, 0x24, 0x60, 0x2c, 0x08, 0x17, 0x26,
0x5b, 0xc8, 0xc2, 0xdf, 0x9c, 0x73, 0x67, 0x4a,
0xdb, 0xcf, 0xd5, 0x2c, 0x2b, 0xca, 0x24, 0xcc,
0xdb, 0xc9, 0xa8, 0xf2, 0x5d, 0x67, 0xdf, 0x5c,
0x62, 0x0b, 0x58, 0xc0, 0x83, 0xde, 0x8b, 0xf6,
0x15, 0x0a, 0xd6, 0x32, 0xd8, 0xf5, 0xf2, 0x5f,
0x33, 0xce, 0x7e, 0xab, 0x76, 0xcd, 0x14, 0x91,
0xd8, 0x41, 0x90, 0x93, 0xa1, 0xaf, 0xf3, 0x45,
0x6c, 0x1b, 0x25, 0xbd, 0x48, 0x51, 0x6d, 0x15,
0x47, 0xe6, 0x23, 0x50, 0x32, 0x69, 0x1e, 0xb5,
0x94, 0xd3, 0x97, 0xba, 0xd7, 0x37, 0x4a, 0xba,
0xb9, 0xcd, 0xfb, 0x96, 0x9a, 0x90, 0xe0, 0x37,
0xf8, 0xdf, 0x91, 0x6c, 0x62, 0x13, 0x19, 0x21,
0x4b, 0xa9, 0xf1, 0x12, 0x66, 0xe2, 0x74, 0xd7,
0x81, 0xa0, 0x74, 0x8d, 0x7e, 0x7e, 0xc9, 0xb1,
0x69, 0x8f, 0xed, 0xb3, 0xf6, 0x97, 0xcd, 0x72,
0x78, 0x93, 0xd3, 0x54, 0x6b, 0x43, 0xac, 0x29,
0xb4, 0xbc, 0x7d, 0xa4, 0x26, 0x4b, 0x7b, 0xab,
0xd6, 0x67, 0x22, 0xff, 0x03, 0x92, 0xb6, 0xd4,
0x96, 0x94, 0x5a, 0xe5, 0x02, 0x35, 0x77, 0xfa,
0x3f, 0x54, 0x1d, 0xdd, 0x35, 0x39, 0xfe, 0x03,
0xdd, 0x8e, 0x3c, 0x8c, 0xc2, 0x69, 0x2a, 0xb1,
0xb7, 0xb3, 0xa1, 0x89, 0x84, 0xea, 0x16, 0xe2
};
static const uint8_t chacha20_key68[] = {
0xd2, 0x49, 0x7f, 0xd7, 0x49, 0x66, 0x0d, 0xb3,
0x5a, 0x7e, 0x3c, 0xfc, 0x37, 0x83, 0x0e, 0xf7,
0x96, 0xd8, 0xd6, 0x33, 0x79, 0x2b, 0x84, 0x53,
0x06, 0xbc, 0x6c, 0x0a, 0x55, 0x84, 0xfe, 0xab
};
enum { chacha20_nonce68 = 0x6a6df7ff0a20de06ULL };
static const uint8_t chacha20_input69[] = {
0xf9, 0x18, 0x4c, 0xd2, 0x3f, 0xf7, 0x22, 0xd9,
0x58, 0xb6, 0x3b, 0x38, 0x69, 0x79, 0xf4, 0x71,
0x5f, 0x38, 0x52, 0x1f, 0x17, 0x6f, 0x6f, 0xd9,
0x09, 0x2b, 0xfb, 0x67, 0xdc, 0xc9, 0xe8, 0x4a,
0x70, 0x9f, 0x2e, 0x3c, 0x06, 0xe5, 0x12, 0x20,
0x25, 0x29, 0xd0, 0xdc, 0x81, 0xc5, 0xc6, 0x0f,
0xd2, 0xa8, 0x81, 0x15, 0x98, 0xb2, 0x71, 0x5a,
0x9a, 0xe9, 0xfb, 0xaf, 0x0e, 0x5f, 0x8a, 0xf3,
0x16, 0x4a, 0x47, 0xf2, 0x5c, 0xbf, 0xda, 0x52,
0x9a, 0xa6, 0x36, 0xfd, 0xc6, 0xf7, 0x66, 0x00,
0xcc, 0x6c, 0xd4, 0xb3, 0x07, 0x6d, 0xeb, 0xfe,
0x92, 0x71, 0x25, 0xd0, 0xcf, 0x9c, 0xe8, 0x65,
0x45, 0x10, 0xcf, 0x62, 0x74, 0x7d, 0xf2, 0x1b,
0x57, 0xa0, 0xf1, 0x6b, 0xa4, 0xd5, 0xfa, 0x12,
0x27, 0x5a, 0xf7, 0x99, 0xfc, 0xca, 0xf3, 0xb8,
0x2c, 0x8b, 0xba, 0x28, 0x74, 0xde, 0x8f, 0x78,
0xa2, 0x8c, 0xaf, 0x89, 0x4b, 0x05, 0xe2, 0xf3,
0xf8, 0xd2, 0xef, 0xac, 0xa4, 0xc4, 0xe2, 0xe2,
0x36, 0xbb, 0x5e, 0xae, 0xe6, 0x87, 0x3d, 0x88,
0x9f, 0xb8, 0x11, 0xbb, 0xcf, 0x57, 0xce, 0xd0,
0xba, 0x62, 0xf4, 0xf8, 0x9b, 0x95, 0x04, 0xc9,
0xcf, 0x01, 0xe9, 0xf1, 0xc8, 0xc6, 0x22, 0xa4,
0xf2, 0x8b, 0x2f, 0x24, 0x0a, 0xf5, 0x6e, 0xb7,
0xd4, 0x2c, 0xb6, 0xf7, 0x5c, 0x97, 0x61, 0x0b,
0xd9, 0xb5, 0x06, 0xcd, 0xed, 0x3e, 0x1f, 0xc5,
0xb2, 0x6c, 0xa3, 0xea, 0xb8, 0xad, 0xa6, 0x42,
0x88, 0x7a, 0x52, 0xd5, 0x64, 0xba, 0xb5, 0x20,
0x10, 0xa0, 0x0f, 0x0d, 0xea, 0xef, 0x5a, 0x9b,
0x27, 0xb8, 0xca, 0x20, 0x19, 0x6d, 0xa8, 0xc4,
0x46, 0x04, 0xb3, 0xe8, 0xf8, 0x66, 0x1b, 0x0a,
0xce, 0x76, 0x5d, 0x59, 0x58, 0x05, 0xee, 0x3e,
0x3c, 0x86, 0x5b, 0x49, 0x1c, 0x72, 0x18, 0x01,
0x62, 0x92, 0x0f, 0x3e, 0xd1, 0x57, 0x5e, 0x20,
0x7b, 0xfb, 0x4d, 0x3c, 0xc5, 0x35, 0x43, 0x2f,
0xb0, 0xc5, 0x7c, 0xe4, 0xa2, 0x84, 0x13, 0x77
};
static const uint8_t chacha20_output69[] = {
0xbb, 0x4a, 0x7f, 0x7c, 0xd5, 0x2f, 0x89, 0x06,
0xec, 0x20, 0xf1, 0x9a, 0x11, 0x09, 0x14, 0x2e,
0x17, 0x50, 0xf9, 0xd5, 0xf5, 0x48, 0x7c, 0x7a,
0x55, 0xc0, 0x57, 0x03, 0xe3, 0xc4, 0xb2, 0xb7,
0x18, 0x47, 0x95, 0xde, 0xaf, 0x80, 0x06, 0x3c,
0x5a, 0xf2, 0xc3, 0x53, 0xe3, 0x29, 0x92, 0xf8,
0xff, 0x64, 0x85, 0xb9, 0xf7, 0xd3, 0x80, 0xd2,
0x0c, 0x5d, 0x7b, 0x57, 0x0c, 0x51, 0x79, 0x86,
0xf3, 0x20, 0xd2, 0xb8, 0x6e, 0x0c, 0x5a, 0xce,
0xeb, 0x88, 0x02, 0x8b, 0x82, 0x1b, 0x7f, 0xf5,
0xde, 0x7f, 0x48, 0x48, 0xdf, 0xa0, 0x55, 0xc6,
0x0c, 0x22, 0xa1, 0x80, 0x8d, 0x3b, 0xcb, 0x40,
0x2d, 0x3d, 0x0b, 0xf2, 0xe0, 0x22, 0x13, 0x99,
0xe1, 0xa7, 0x27, 0x68, 0x31, 0xe1, 0x24, 0x5d,
0xd2, 0xee, 0x16, 0xc1, 0xd7, 0xa8, 0x14, 0x19,
0x23, 0x72, 0x67, 0x27, 0xdc, 0x5e, 0xb9, 0xc7,
0xd8, 0xe3, 0x55, 0x50, 0x40, 0x98, 0x7b, 0xe7,
0x34, 0x1c, 0x3b, 0x18, 0x14, 0xd8, 0x62, 0xc1,
0x93, 0x84, 0xf3, 0x5b, 0xdd, 0x9e, 0x1f, 0x3b,
0x0b, 0xbc, 0x4e, 0x5b, 0x79, 0xa3, 0xca, 0x74,
0x2a, 0x98, 0xe8, 0x04, 0x39, 0xef, 0xc6, 0x76,
0x6d, 0xee, 0x9f, 0x67, 0x5b, 0x59, 0x3a, 0xe5,
0xf2, 0x3b, 0xca, 0x89, 0xe8, 0x9b, 0x03, 0x3d,
0x11, 0xd2, 0x4a, 0x70, 0xaf, 0x88, 0xb0, 0x94,
0x96, 0x26, 0xab, 0x3c, 0xc1, 0xb8, 0xe4, 0xe7,
0x14, 0x61, 0x64, 0x3a, 0x61, 0x08, 0x0f, 0xa9,
0xce, 0x64, 0xb2, 0x40, 0xf8, 0x20, 0x3a, 0xa9,
0x31, 0xbd, 0x7e, 0x16, 0xca, 0xf5, 0x62, 0x0f,
0x91, 0x9f, 0x8e, 0x1d, 0xa4, 0x77, 0xf3, 0x87,
0x61, 0xe8, 0x14, 0xde, 0x18, 0x68, 0x4e, 0x9d,
0x73, 0xcd, 0x8a, 0xe4, 0x80, 0x84, 0x23, 0xaa,
0x9d, 0x64, 0x1c, 0x80, 0x41, 0xca, 0x82, 0x40,
0x94, 0x55, 0xe3, 0x28, 0xa1, 0x97, 0x71, 0xba,
0xf2, 0x2c, 0x39, 0x62, 0x29, 0x56, 0xd0, 0xff,
0xb2, 0x82, 0x20, 0x59, 0x1f, 0xc3, 0x64, 0x57
};
static const uint8_t chacha20_key69[] = {
0x19, 0x09, 0xe9, 0x7c, 0xd9, 0x02, 0x4a, 0x0c,
0x52, 0x25, 0xad, 0x5c, 0x2e, 0x8d, 0x86, 0x10,
0x85, 0x2b, 0xba, 0xa4, 0x44, 0x5b, 0x39, 0x3e,
0x18, 0xaa, 0xce, 0x0e, 0xe2, 0x69, 0x3c, 0xcf
};
enum { chacha20_nonce69 = 0xdb925a1948f0f060ULL };
static const uint8_t chacha20_input70[] = {
0x10, 0xe7, 0x83, 0xcf, 0x42, 0x9f, 0xf2, 0x41,
0xc7, 0xe4, 0xdb, 0xf9, 0xa3, 0x02, 0x1d, 0x8d,
0x50, 0x81, 0x2c, 0x6b, 0x92, 0xe0, 0x4e, 0xea,
0x26, 0x83, 0x2a, 0xd0, 0x31, 0xf1, 0x23, 0xf3,
0x0e, 0x88, 0x14, 0x31, 0xf9, 0x01, 0x63, 0x59,
0x21, 0xd1, 0x8b, 0xdd, 0x06, 0xd0, 0xc6, 0xab,
0x91, 0x71, 0x82, 0x4d, 0xd4, 0x62, 0x37, 0x17,
0xf9, 0x50, 0xf9, 0xb5, 0x74, 0xce, 0x39, 0x80,
0x80, 0x78, 0xf8, 0xdc, 0x1c, 0xdb, 0x7c, 0x3d,
0xd4, 0x86, 0x31, 0x00, 0x75, 0x7b, 0xd1, 0x42,
0x9f, 0x1b, 0x97, 0x88, 0x0e, 0x14, 0x0e, 0x1e,
0x7d, 0x7b, 0xc4, 0xd2, 0xf3, 0xc1, 0x6d, 0x17,
0x5d, 0xc4, 0x75, 0x54, 0x0f, 0x38, 0x65, 0x89,
0xd8, 0x7d, 0xab, 0xc9, 0xa7, 0x0a, 0x21, 0x0b,
0x37, 0x12, 0x05, 0x07, 0xb5, 0x68, 0x32, 0x32,
0xb9, 0xf8, 0x97, 0x17, 0x03, 0xed, 0x51, 0x8f,
0x3d, 0x5a, 0xd0, 0x12, 0x01, 0x6e, 0x2e, 0x91,
0x1c, 0xbe, 0x6b, 0xa3, 0xcc, 0x75, 0x62, 0x06,
0x8e, 0x65, 0xbb, 0xe2, 0x29, 0x71, 0x4b, 0x89,
0x6a, 0x9d, 0x85, 0x8c, 0x8c, 0xdf, 0x94, 0x95,
0x23, 0x66, 0xf8, 0x92, 0xee, 0x56, 0xeb, 0xb3,
0xeb, 0xd2, 0x4a, 0x3b, 0x77, 0x8a, 0x6e, 0xf6,
0xca, 0xd2, 0x34, 0x00, 0xde, 0xbe, 0x1d, 0x7a,
0x73, 0xef, 0x2b, 0x80, 0x56, 0x16, 0x29, 0xbf,
0x6e, 0x33, 0xed, 0x0d, 0xe2, 0x02, 0x60, 0x74,
0xe9, 0x0a, 0xbc, 0xd1, 0xc5, 0xe8, 0x53, 0x02,
0x79, 0x0f, 0x25, 0x0c, 0xef, 0xab, 0xd3, 0xbc,
0xb7, 0xfc, 0xf3, 0xb0, 0x34, 0xd1, 0x07, 0xd2,
0x5a, 0x31, 0x1f, 0xec, 0x1f, 0x87, 0xed, 0xdd,
0x6a, 0xc1, 0xe8, 0xb3, 0x25, 0x4c, 0xc6, 0x9b,
0x91, 0x73, 0xec, 0x06, 0x73, 0x9e, 0x57, 0x65,
0x32, 0x75, 0x11, 0x74, 0x6e, 0xa4, 0x7d, 0x0d,
0x74, 0x9f, 0x51, 0x10, 0x10, 0x47, 0xc9, 0x71,
0x6e, 0x97, 0xae, 0x44, 0x41, 0xef, 0x98, 0x78,
0xf4, 0xc5, 0xbd, 0x5e, 0x00, 0xe5, 0xfd, 0xe2,
0xbe, 0x8c, 0xc2, 0xae, 0xc2, 0xee, 0x59, 0xf6,
0xcb, 0x20, 0x54, 0x84, 0xc3, 0x31, 0x7e, 0x67,
0x71, 0xb6, 0x76, 0xbe, 0x81, 0x8f, 0x82, 0xad,
0x01, 0x8f, 0xc4, 0x00, 0x04, 0x3d, 0x8d, 0x34,
0xaa, 0xea, 0xc0, 0xea, 0x91, 0x42, 0xb6, 0xb8,
0x43, 0xf3, 0x17, 0xb2, 0x73, 0x64, 0x82, 0x97,
0xd5, 0xc9, 0x07, 0x77, 0xb1, 0x26, 0xe2, 0x00,
0x6a, 0xae, 0x70, 0x0b, 0xbe, 0xe6, 0xb8, 0x42,
0x81, 0x55, 0xf7, 0xb8, 0x96, 0x41, 0x9d, 0xd4,
0x2c, 0x27, 0x00, 0xcc, 0x91, 0x28, 0x22, 0xa4,
0x7b, 0x42, 0x51, 0x9e, 0xd6, 0xec, 0xf3, 0x6b,
0x00, 0xff, 0x5c, 0xa2, 0xac, 0x47, 0x33, 0x2d,
0xf8, 0x11, 0x65, 0x5f, 0x4d, 0x79, 0x8b, 0x4f,
0xad, 0xf0, 0x9d, 0xcd, 0xb9, 0x7b, 0x08, 0xf7,
0x32, 0x51, 0xfa, 0x39, 0xaa, 0x78, 0x05, 0xb1,
0xf3, 0x5d, 0xe8, 0x7c, 0x8e, 0x4f, 0xa2, 0xe0,
0x98, 0x0c, 0xb2, 0xa7, 0xf0, 0x35, 0x8e, 0x70,
0x7c, 0x82, 0xf3, 0x1b, 0x26, 0x28, 0x12, 0xe5,
0x23, 0x57, 0xe4, 0xb4, 0x9b, 0x00, 0x39, 0x97,
0xef, 0x7c, 0x46, 0x9b, 0x34, 0x6b, 0xe7, 0x0e,
0xa3, 0x2a, 0x18, 0x11, 0x64, 0xc6, 0x7c, 0x8b,
0x06, 0x02, 0xf5, 0x69, 0x76, 0xf9, 0xaa, 0x09,
0x5f, 0x68, 0xf8, 0x4a, 0x79, 0x58, 0xec, 0x37,
0xcf, 0x3a, 0xcc, 0x97, 0x70, 0x1d, 0x3e, 0x52,
0x18, 0x0a, 0xad, 0x28, 0x5b, 0x3b, 0xe9, 0x03,
0x84, 0xe9, 0x68, 0x50, 0xce, 0xc4, 0xbc, 0x3e,
0x21, 0xad, 0x63, 0xfe, 0xc6, 0xfd, 0x6e, 0x69,
0x84, 0xa9, 0x30, 0xb1, 0x7a, 0xc4, 0x31, 0x10,
0xc1, 0x1f, 0x6e, 0xeb, 0xa5, 0xa6, 0x01
};
static const uint8_t chacha20_output70[] = {
0x0f, 0x93, 0x2a, 0x20, 0xb3, 0x87, 0x2d, 0xce,
0xd1, 0x3b, 0x30, 0xfd, 0x06, 0x6d, 0x0a, 0xaa,
0x3e, 0xc4, 0x29, 0x02, 0x8a, 0xde, 0xa6, 0x4b,
0x45, 0x1b, 0x4f, 0x25, 0x59, 0xd5, 0x56, 0x6a,
0x3b, 0x37, 0xbd, 0x3e, 0x47, 0x12, 0x2c, 0x4e,
0x60, 0x5f, 0x05, 0x75, 0x61, 0x23, 0x05, 0x74,
0xcb, 0xfc, 0x5a, 0xb3, 0xac, 0x5c, 0x3d, 0xab,
0x52, 0x5f, 0x05, 0xbc, 0x57, 0xc0, 0x7e, 0xcf,
0x34, 0x5d, 0x7f, 0x41, 0xa3, 0x17, 0x78, 0xd5,
0x9f, 0xec, 0x0f, 0x1e, 0xf9, 0xfe, 0xa3, 0xbd,
0x28, 0xb0, 0xba, 0x4d, 0x84, 0xdb, 0xae, 0x8f,
0x1d, 0x98, 0xb7, 0xdc, 0xf9, 0xad, 0x55, 0x9c,
0x89, 0xfe, 0x9b, 0x9c, 0xa9, 0x89, 0xf6, 0x97,
0x9c, 0x3f, 0x09, 0x3e, 0xc6, 0x02, 0xc2, 0x55,
0x58, 0x09, 0x54, 0x66, 0xe4, 0x36, 0x81, 0x35,
0xca, 0x88, 0x17, 0x89, 0x80, 0x24, 0x2b, 0x21,
0x89, 0xee, 0x45, 0x5a, 0xe7, 0x1f, 0xd5, 0xa5,
0x16, 0xa4, 0xda, 0x70, 0x7e, 0xe9, 0x4f, 0x24,
0x61, 0x97, 0xab, 0xa0, 0xe0, 0xe7, 0xb8, 0x5c,
0x0f, 0x25, 0x17, 0x37, 0x75, 0x12, 0xb5, 0x40,
0xde, 0x1c, 0x0d, 0x8a, 0x77, 0x62, 0x3c, 0x86,
0xd9, 0x70, 0x2e, 0x96, 0x30, 0xd2, 0x55, 0xb3,
0x6b, 0xc3, 0xf2, 0x9c, 0x47, 0xf3, 0x3a, 0x24,
0x52, 0xc6, 0x38, 0xd8, 0x22, 0xb3, 0x0c, 0xfd,
0x2f, 0xa3, 0x3c, 0xb5, 0xe8, 0x26, 0xe1, 0xa3,
0xad, 0xb0, 0x82, 0x17, 0xc1, 0x53, 0xb8, 0x34,
0x48, 0xee, 0x39, 0xae, 0x51, 0x43, 0xec, 0x82,
0xce, 0x87, 0xc6, 0x76, 0xb9, 0x76, 0xd3, 0x53,
0xfe, 0x49, 0x24, 0x7d, 0x02, 0x42, 0x2b, 0x72,
0xfb, 0xcb, 0xd8, 0x96, 0x02, 0xc6, 0x9a, 0x20,
0xf3, 0x5a, 0x67, 0xe8, 0x13, 0xf8, 0xb2, 0xcb,
0xa2, 0xec, 0x18, 0x20, 0x4a, 0xb0, 0x73, 0x53,
0x21, 0xb0, 0x77, 0x53, 0xd8, 0x76, 0xa1, 0x30,
0x17, 0x72, 0x2e, 0x33, 0x5f, 0x33, 0x6b, 0x28,
0xfb, 0xb0, 0xf4, 0xec, 0x8e, 0xed, 0x20, 0x7d,
0x57, 0x8c, 0x74, 0x28, 0x64, 0x8b, 0xeb, 0x59,
0x38, 0x3f, 0xe7, 0x83, 0x2e, 0xe5, 0x64, 0x4d,
0x5c, 0x1f, 0xe1, 0x3b, 0xd9, 0x84, 0xdb, 0xc9,
0xec, 0xd8, 0xc1, 0x7c, 0x1f, 0x1b, 0x68, 0x35,
0xc6, 0x34, 0x10, 0xef, 0x19, 0xc9, 0x0a, 0xd6,
0x43, 0x7f, 0xa6, 0xcb, 0x9d, 0xf4, 0xf0, 0x16,
0xb1, 0xb1, 0x96, 0x64, 0xec, 0x8d, 0x22, 0x4c,
0x4b, 0xe8, 0x1a, 0xba, 0x6f, 0xb7, 0xfc, 0xa5,
0x69, 0x3e, 0xad, 0x78, 0x79, 0x19, 0xb5, 0x04,
0x69, 0xe5, 0x3f, 0xff, 0x60, 0x8c, 0xda, 0x0b,
0x7b, 0xf7, 0xe7, 0xe6, 0x29, 0x3a, 0x85, 0xba,
0xb5, 0xb0, 0x35, 0xbd, 0x38, 0xce, 0x34, 0x5e,
0xf2, 0xdc, 0xd1, 0x8f, 0xc3, 0x03, 0x24, 0xa2,
0x03, 0xf7, 0x4e, 0x49, 0x5b, 0xcf, 0x6d, 0xb0,
0xeb, 0xe3, 0x30, 0x28, 0xd5, 0x5b, 0x82, 0x5f,
0xe4, 0x7c, 0x1e, 0xec, 0xd2, 0x39, 0xf9, 0x6f,
0x2e, 0xb3, 0xcd, 0x01, 0xb1, 0x67, 0xaa, 0xea,
0xaa, 0xb3, 0x63, 0xaf, 0xd9, 0xb2, 0x1f, 0xba,
0x05, 0x20, 0xeb, 0x19, 0x32, 0xf0, 0x6c, 0x3f,
0x40, 0xcc, 0x93, 0xb3, 0xd8, 0x25, 0xa6, 0xe4,
0xce, 0xd7, 0x7e, 0x48, 0x99, 0x65, 0x7f, 0x86,
0xc5, 0xd4, 0x79, 0x6b, 0xab, 0x43, 0xb8, 0x6b,
0xf1, 0x2f, 0xea, 0x4c, 0x5e, 0xf0, 0x3b, 0xb4,
0xb8, 0xb0, 0x94, 0x0c, 0x6b, 0xe7, 0x22, 0x93,
0xaa, 0x01, 0xcb, 0xf1, 0x11, 0x60, 0xf6, 0x69,
0xcf, 0x14, 0xde, 0xfb, 0x90, 0x05, 0x27, 0x0c,
0x1a, 0x9e, 0xf0, 0xb4, 0xc6, 0xa1, 0xe8, 0xdd,
0xd0, 0x4c, 0x25, 0x4f, 0x9c, 0xb7, 0xb1, 0xb0,
0x21, 0xdb, 0x87, 0x09, 0x03, 0xf2, 0xb3
};
static const uint8_t chacha20_key70[] = {
0x3b, 0x5b, 0x59, 0x36, 0x44, 0xd1, 0xba, 0x71,
0x55, 0x87, 0x4d, 0x62, 0x3d, 0xc2, 0xfc, 0xaa,
0x3f, 0x4e, 0x1a, 0xe4, 0xca, 0x09, 0xfc, 0x6a,
0xb2, 0xd6, 0x5d, 0x79, 0xf9, 0x1a, 0x91, 0xa7
};
enum { chacha20_nonce70 = 0x3fd6786dd147a85ULL };
static const uint8_t chacha20_input71[] = {
0x18, 0x78, 0xd6, 0x79, 0xe4, 0x9a, 0x6c, 0x73,
0x17, 0xd4, 0x05, 0x0f, 0x1e, 0x9f, 0xd9, 0x2b,
0x86, 0x48, 0x7d, 0xf4, 0xd9, 0x1c, 0x76, 0xfc,
0x8e, 0x22, 0x34, 0xe1, 0x48, 0x4a, 0x8d, 0x79,
0xb7, 0xbb, 0x88, 0xab, 0x90, 0xde, 0xc5, 0xb4,
0xb4, 0xe7, 0x85, 0x49, 0xda, 0x57, 0xeb, 0xc9,
0xcd, 0x21, 0xfc, 0x45, 0x6e, 0x32, 0x67, 0xf2,
0x4f, 0xa6, 0x54, 0xe5, 0x20, 0xed, 0xcf, 0xc6,
0x62, 0x25, 0x8e, 0x00, 0xf8, 0x6b, 0xa2, 0x80,
0xac, 0x88, 0xa6, 0x59, 0x27, 0x83, 0x95, 0x11,
0x3f, 0x70, 0x5e, 0x3f, 0x11, 0xfb, 0x26, 0xbf,
0xe1, 0x48, 0x75, 0xf9, 0x86, 0xbf, 0xa6, 0x5d,
0x15, 0x61, 0x66, 0xbf, 0x78, 0x8f, 0x6b, 0x9b,
0xda, 0x98, 0xb7, 0x19, 0xe2, 0xf2, 0xa3, 0x9c,
0x7c, 0x6a, 0x9a, 0xd8, 0x3d, 0x4c, 0x2c, 0xe1,
0x09, 0xb4, 0x28, 0x82, 0x4e, 0xab, 0x0c, 0x75,
0x63, 0xeb, 0xbc, 0xd0, 0x71, 0xa2, 0x73, 0x85,
0xed, 0x53, 0x7a, 0x3f, 0x68, 0x9f, 0xd0, 0xa9,
0x00, 0x5a, 0x9e, 0x80, 0x55, 0x00, 0xe6, 0xae,
0x0c, 0x03, 0x40, 0xed, 0xfc, 0x68, 0x4a, 0xb7,
0x1e, 0x09, 0x65, 0x30, 0x5a, 0x3d, 0x97, 0x4d,
0x5e, 0x51, 0x8e, 0xda, 0xc3, 0x55, 0x8c, 0xfb,
0xcf, 0x83, 0x05, 0x35, 0x0d, 0x08, 0x1b, 0xf3,
0x3a, 0x57, 0x96, 0xac, 0x58, 0x8b, 0xfa, 0x00,
0x49, 0x15, 0x78, 0xd2, 0x4b, 0xed, 0xb8, 0x59,
0x78, 0x9b, 0x7f, 0xaa, 0xfc, 0xe7, 0x46, 0xdc,
0x7b, 0x34, 0xd0, 0x34, 0xe5, 0x10, 0xff, 0x4d,
0x5a, 0x4d, 0x60, 0xa7, 0x16, 0x54, 0xc4, 0xfd,
0xca, 0x5d, 0x68, 0xc7, 0x4a, 0x01, 0x8d, 0x7f,
0x74, 0x5d, 0xff, 0xb8, 0x37, 0x15, 0x62, 0xfa,
0x44, 0x45, 0xcf, 0x77, 0x3b, 0x1d, 0xb2, 0xd2,
0x0d, 0x42, 0x00, 0x39, 0x68, 0x1f, 0xcc, 0x89,
0x73, 0x5d, 0xa9, 0x2e, 0xfd, 0x58, 0x62, 0xca,
0x35, 0x8e, 0x70, 0x70, 0xaa, 0x6e, 0x14, 0xe9,
0xa4, 0xe2, 0x10, 0x66, 0x71, 0xdc, 0x4c, 0xfc,
0xa9, 0xdc, 0x8f, 0x57, 0x4d, 0xc5, 0xac, 0xd7,
0xa9, 0xf3, 0xf3, 0xa1, 0xff, 0x62, 0xa0, 0x8f,
0xe4, 0x96, 0x3e, 0xcb, 0x9f, 0x76, 0x42, 0x39,
0x1f, 0x24, 0xfd, 0xfd, 0x79, 0xe8, 0x27, 0xdf,
0xa8, 0xf6, 0x33, 0x8b, 0x31, 0x59, 0x69, 0xcf,
0x6a, 0xef, 0x89, 0x4d, 0xa7, 0xf6, 0x7e, 0x97,
0x14, 0xbd, 0xda, 0xdd, 0xb4, 0x84, 0x04, 0x24,
0xe0, 0x17, 0xe1, 0x0f, 0x1f, 0x8a, 0x6a, 0x71,
0x74, 0x41, 0xdc, 0x59, 0x5c, 0x8f, 0x01, 0x25,
0x92, 0xf0, 0x2e, 0x15, 0x62, 0x71, 0x9a, 0x9f,
0x87, 0xdf, 0x62, 0x49, 0x7f, 0x86, 0x62, 0xfc,
0x20, 0x84, 0xd7, 0xe3, 0x3a, 0xd9, 0x37, 0x85,
0xb7, 0x84, 0x5a, 0xf9, 0xed, 0x21, 0x32, 0x94,
0x3e, 0x04, 0xe7, 0x8c, 0x46, 0x76, 0x21, 0x67,
0xf6, 0x95, 0x64, 0x92, 0xb7, 0x15, 0xf6, 0xe3,
0x41, 0x27, 0x9d, 0xd7, 0xe3, 0x79, 0x75, 0x92,
0xd0, 0xc1, 0xf3, 0x40, 0x92, 0x08, 0xde, 0x90,
0x22, 0x82, 0xb2, 0x69, 0xae, 0x1a, 0x35, 0x11,
0x89, 0xc8, 0x06, 0x82, 0x95, 0x23, 0x44, 0x08,
0x22, 0xf2, 0x71, 0x73, 0x1b, 0x88, 0x11, 0xcf,
0x1c, 0x7e, 0x8a, 0x2e, 0xdc, 0x79, 0x57, 0xce,
0x1f, 0xe7, 0x6c, 0x07, 0xd8, 0x06, 0xbe, 0xec,
0xa3, 0xcf, 0xf9, 0x68, 0xa5, 0xb8, 0xf0, 0xe3,
0x3f, 0x01, 0x92, 0xda, 0xf1, 0xa0, 0x2d, 0x7b,
0xab, 0x57, 0x58, 0x2a, 0xaf, 0xab, 0xbd, 0xf2,
0xe5, 0xaf, 0x7e, 0x1f, 0x46, 0x24, 0x9e, 0x20,
0x22, 0x0f, 0x84, 0x4c, 0xb7, 0xd8, 0x03, 0xe8,
0x09, 0x73, 0x6c, 0xc6, 0x9b, 0x90, 0xe0, 0xdb,
0xf2, 0x71, 0xba, 0xad, 0xb3, 0xec, 0xda, 0x7a
};
static const uint8_t chacha20_output71[] = {
0x28, 0xc5, 0x9b, 0x92, 0xf9, 0x21, 0x4f, 0xbb,
0xef, 0x3b, 0xf0, 0xf5, 0x3a, 0x6d, 0x7f, 0xd6,
0x6a, 0x8d, 0xa1, 0x01, 0x5c, 0x62, 0x20, 0x8b,
0x5b, 0x39, 0xd5, 0xd3, 0xc2, 0xf6, 0x9d, 0x5e,
0xcc, 0xe1, 0xa2, 0x61, 0x16, 0xe2, 0xce, 0xe9,
0x86, 0xd0, 0xfc, 0xce, 0x9a, 0x28, 0x27, 0xc4,
0x0c, 0xb9, 0xaa, 0x8d, 0x48, 0xdb, 0xbf, 0x82,
0x7d, 0xd0, 0x35, 0xc4, 0x06, 0x34, 0xb4, 0x19,
0x51, 0x73, 0xf4, 0x7a, 0xf4, 0xfd, 0xe9, 0x1d,
0xdc, 0x0f, 0x7e, 0xf7, 0x96, 0x03, 0xe3, 0xb1,
0x2e, 0x22, 0x59, 0xb7, 0x6d, 0x1c, 0x97, 0x8c,
0xd7, 0x31, 0x08, 0x26, 0x4c, 0x6d, 0xc6, 0x14,
0xa5, 0xeb, 0x45, 0x6a, 0x88, 0xa3, 0xa2, 0x36,
0xc4, 0x35, 0xb1, 0x5a, 0xa0, 0xad, 0xf7, 0x06,
0x9b, 0x5d, 0xc1, 0x15, 0xc1, 0xce, 0x0a, 0xb0,
0x57, 0x2e, 0x3f, 0x6f, 0x0d, 0x10, 0xd9, 0x11,
0x2c, 0x9c, 0xad, 0x2d, 0xa5, 0x81, 0xfb, 0x4e,
0x8f, 0xd5, 0x32, 0x4e, 0xaf, 0x5c, 0xc1, 0x86,
0xde, 0x56, 0x5a, 0x33, 0x29, 0xf7, 0x67, 0xc6,
0x37, 0x6f, 0xb2, 0x37, 0x4e, 0xd4, 0x69, 0x79,
0xaf, 0xd5, 0x17, 0x79, 0xe0, 0xba, 0x62, 0xa3,
0x68, 0xa4, 0x87, 0x93, 0x8d, 0x7e, 0x8f, 0xa3,
0x9c, 0xef, 0xda, 0xe3, 0xa5, 0x1f, 0xcd, 0x30,
0xa6, 0x55, 0xac, 0x4c, 0x69, 0x74, 0x02, 0xc7,
0x5d, 0x95, 0x81, 0x4a, 0x68, 0x11, 0xd3, 0xa9,
0x98, 0xb1, 0x0b, 0x0d, 0xae, 0x40, 0x86, 0x65,
0xbf, 0xcc, 0x2d, 0xef, 0x57, 0xca, 0x1f, 0xe4,
0x34, 0x4e, 0xa6, 0x5e, 0x82, 0x6e, 0x61, 0xad,
0x0b, 0x3c, 0xf8, 0xeb, 0x01, 0x43, 0x7f, 0x87,
0xa2, 0xa7, 0x6a, 0xe9, 0x62, 0x23, 0x24, 0x61,
0xf1, 0xf7, 0x36, 0xdb, 0x10, 0xe5, 0x57, 0x72,
0x3a, 0xc2, 0xae, 0xcc, 0x75, 0xc7, 0x80, 0x05,
0x0a, 0x5c, 0x4c, 0x95, 0xda, 0x02, 0x01, 0x14,
0x06, 0x6b, 0x5c, 0x65, 0xc2, 0xb8, 0x4a, 0xd6,
0xd3, 0xb4, 0xd8, 0x12, 0x52, 0xb5, 0x60, 0xd3,
0x8e, 0x5f, 0x5c, 0x76, 0x33, 0x7a, 0x05, 0xe5,
0xcb, 0xef, 0x4f, 0x89, 0xf1, 0xba, 0x32, 0x6f,
0x33, 0xcd, 0x15, 0x8d, 0xa3, 0x0c, 0x3f, 0x63,
0x11, 0xe7, 0x0e, 0xe0, 0x00, 0x01, 0xe9, 0xe8,
0x8e, 0x36, 0x34, 0x8d, 0x96, 0xb5, 0x03, 0xcf,
0x55, 0x62, 0x49, 0x7a, 0x34, 0x44, 0xa5, 0xee,
0x8c, 0x46, 0x06, 0x22, 0xab, 0x1d, 0x53, 0x9c,
0xa1, 0xf9, 0x67, 0x18, 0x57, 0x89, 0xf9, 0xc2,
0xd1, 0x7e, 0xbe, 0x36, 0x40, 0xcb, 0xe9, 0x04,
0xde, 0xb1, 0x3b, 0x29, 0x52, 0xc5, 0x9a, 0xb5,
0xa2, 0x7c, 0x7b, 0xfe, 0xe5, 0x92, 0x73, 0xea,
0xea, 0x7b, 0xba, 0x0a, 0x8c, 0x88, 0x15, 0xe6,
0x53, 0xbf, 0x1c, 0x33, 0xf4, 0x9b, 0x9a, 0x5e,
0x8d, 0xae, 0x60, 0xdc, 0xcb, 0x5d, 0xfa, 0xbe,
0x06, 0xc3, 0x3f, 0x06, 0xe7, 0x00, 0x40, 0x7b,
0xaa, 0x94, 0xfa, 0x6d, 0x1f, 0xe4, 0xc5, 0xa9,
0x1b, 0x5f, 0x36, 0xea, 0x5a, 0xdd, 0xa5, 0x48,
0x6a, 0x55, 0xd2, 0x47, 0x28, 0xbf, 0x96, 0xf1,
0x9f, 0xb6, 0x11, 0x4b, 0xd3, 0x44, 0x7d, 0x48,
0x41, 0x61, 0xdb, 0x12, 0xd4, 0xc2, 0x59, 0x82,
0x4c, 0x47, 0x5c, 0x04, 0xf6, 0x7b, 0xd3, 0x92,
0x2e, 0xe8, 0x40, 0xef, 0x15, 0x32, 0x97, 0xdc,
0x35, 0x4c, 0x6e, 0xa4, 0x97, 0xe9, 0x24, 0xde,
0x63, 0x8b, 0xb1, 0x6b, 0x48, 0xbb, 0x46, 0x1f,
0x84, 0xd6, 0x17, 0xb0, 0x5a, 0x4a, 0x4e, 0xd5,
0x31, 0xd7, 0xcf, 0xa0, 0x39, 0xc6, 0x2e, 0xfc,
0xa6, 0xa3, 0xd3, 0x0f, 0xa4, 0x28, 0xac, 0xb2,
0xf4, 0x48, 0x8d, 0x50, 0xa5, 0x1c, 0x44, 0x5d,
0x6e, 0x38, 0xb7, 0x2b, 0x8a, 0x45, 0xa7, 0x3d
};
static const uint8_t chacha20_key71[] = {
0x8b, 0x68, 0xc4, 0xb7, 0x0d, 0x81, 0xef, 0x52,
0x1e, 0x05, 0x96, 0x72, 0x62, 0x89, 0x27, 0x83,
0xd0, 0xc7, 0x33, 0x6d, 0xf2, 0xcc, 0x69, 0xf9,
0x23, 0xae, 0x99, 0xb1, 0xd1, 0x05, 0x4e, 0x54
};
enum { chacha20_nonce71 = 0x983f03656d64b5f6ULL };
static const uint8_t chacha20_input72[] = {
0x6b, 0x09, 0xc9, 0x57, 0x3d, 0x79, 0x04, 0x8c,
0x65, 0xad, 0x4a, 0x0f, 0xa1, 0x31, 0x3a, 0xdd,
0x14, 0x8e, 0xe8, 0xfe, 0xbf, 0x42, 0x87, 0x98,
0x2e, 0x8d, 0x83, 0xa3, 0xf8, 0x55, 0x3d, 0x84,
0x1e, 0x0e, 0x05, 0x4a, 0x38, 0x9e, 0xe7, 0xfe,
0xd0, 0x4d, 0x79, 0x74, 0x3a, 0x0b, 0x9b, 0xe1,
0xfd, 0x51, 0x84, 0x4e, 0xb2, 0x25, 0xe4, 0x64,
0x4c, 0xda, 0xcf, 0x46, 0xec, 0xba, 0x12, 0xeb,
0x5a, 0x33, 0x09, 0x6e, 0x78, 0x77, 0x8f, 0x30,
0xb1, 0x7d, 0x3f, 0x60, 0x8c, 0xf2, 0x1d, 0x8e,
0xb4, 0x70, 0xa2, 0x90, 0x7c, 0x79, 0x1a, 0x2c,
0xf6, 0x28, 0x79, 0x7c, 0x53, 0xc5, 0xfa, 0xcc,
0x65, 0x9b, 0xe1, 0x51, 0xd1, 0x7f, 0x1d, 0xc4,
0xdb, 0xd4, 0xd9, 0x04, 0x61, 0x7d, 0xbe, 0x12,
0xfc, 0xcd, 0xaf, 0xe4, 0x0f, 0x9c, 0x20, 0xb5,
0x22, 0x40, 0x18, 0xda, 0xe4, 0xda, 0x8c, 0x2d,
0x84, 0xe3, 0x5f, 0x53, 0x17, 0xed, 0x78, 0xdc,
0x2f, 0xe8, 0x31, 0xc7, 0xe6, 0x39, 0x71, 0x40,
0xb4, 0x0f, 0xc9, 0xa9, 0x7e, 0x78, 0x87, 0xc1,
0x05, 0x78, 0xbb, 0x01, 0xf2, 0x8f, 0x33, 0xb0,
0x6e, 0x84, 0xcd, 0x36, 0x33, 0x5c, 0x5b, 0x8e,
0xf1, 0xac, 0x30, 0xfe, 0x33, 0xec, 0x08, 0xf3,
0x7e, 0xf2, 0xf0, 0x4c, 0xf2, 0xad, 0xd8, 0xc1,
0xd4, 0x4e, 0x87, 0x06, 0xd4, 0x75, 0xe7, 0xe3,
0x09, 0xd3, 0x4d, 0xe3, 0x21, 0x32, 0xba, 0xb4,
0x68, 0x68, 0xcb, 0x4c, 0xa3, 0x1e, 0xb3, 0x87,
0x7b, 0xd3, 0x0c, 0x63, 0x37, 0x71, 0x79, 0xfb,
0x58, 0x36, 0x57, 0x0f, 0x34, 0x1d, 0xc1, 0x42,
0x02, 0x17, 0xe7, 0xed, 0xe8, 0xe7, 0x76, 0xcb,
0x42, 0xc4, 0x4b, 0xe2, 0xb2, 0x5e, 0x42, 0xd5,
0xec, 0x9d, 0xc1, 0x32, 0x71, 0xe4, 0xeb, 0x10,
0x68, 0x1a, 0x6e, 0x99, 0x8e, 0x73, 0x12, 0x1f,
0x97, 0x0c, 0x9e, 0xcd, 0x02, 0x3e, 0x4c, 0xa0,
0xf2, 0x8d, 0xe5, 0x44, 0xca, 0x6d, 0xfe, 0x07,
0xe3, 0xe8, 0x9b, 0x76, 0xc1, 0x6d, 0xb7, 0x6e,
0x0d, 0x14, 0x00, 0x6f, 0x8a, 0xfd, 0x43, 0xc6,
0x43, 0xa5, 0x9c, 0x02, 0x47, 0x10, 0xd4, 0xb4,
0x9b, 0x55, 0x67, 0xc8, 0x7f, 0xc1, 0x8a, 0x1f,
0x1e, 0xd1, 0xbc, 0x99, 0x5d, 0x50, 0x4f, 0x89,
0xf1, 0xe6, 0x5d, 0x91, 0x40, 0xdc, 0x20, 0x67,
0x56, 0xc2, 0xef, 0xbd, 0x2c, 0xa2, 0x99, 0x38,
0xe0, 0x45, 0xec, 0x44, 0x05, 0x52, 0x65, 0x11,
0xfc, 0x3b, 0x19, 0xcb, 0x71, 0xc2, 0x8e, 0x0e,
0x03, 0x2a, 0x03, 0x3b, 0x63, 0x06, 0x31, 0x9a,
0xac, 0x53, 0x04, 0x14, 0xd4, 0x80, 0x9d, 0x6b,
0x42, 0x7e, 0x7e, 0x4e, 0xdc, 0xc7, 0x01, 0x49,
0x9f, 0xf5, 0x19, 0x86, 0x13, 0x28, 0x2b, 0xa6,
0xa6, 0xbe, 0xa1, 0x7e, 0x71, 0x05, 0x00, 0xff,
0x59, 0x2d, 0xb6, 0x63, 0xf0, 0x1e, 0x2e, 0x69,
0x9b, 0x85, 0xf1, 0x1e, 0x8a, 0x64, 0x39, 0xab,
0x00, 0x12, 0xe4, 0x33, 0x4b, 0xb5, 0xd8, 0xb3,
0x6b, 0x5b, 0x8b, 0x5c, 0xd7, 0x6f, 0x23, 0xcf,
0x3f, 0x2e, 0x5e, 0x47, 0xb9, 0xb8, 0x1f, 0xf0,
0x1d, 0xda, 0xe7, 0x4f, 0x6e, 0xab, 0xc3, 0x36,
0xb4, 0x74, 0x6b, 0xeb, 0xc7, 0x5d, 0x91, 0xe5,
0xda, 0xf2, 0xc2, 0x11, 0x17, 0x48, 0xf8, 0x9c,
0xc9, 0x8b, 0xc1, 0xa2, 0xf4, 0xcd, 0x16, 0xf8,
0x27, 0xd9, 0x6c, 0x6f, 0xb5, 0x8f, 0x77, 0xca,
0x1b, 0xd8, 0xef, 0x84, 0x68, 0x71, 0x53, 0xc1,
0x43, 0x0f, 0x9f, 0x98, 0xae, 0x7e, 0x31, 0xd2,
0x98, 0xfb, 0x20, 0xa2, 0xad, 0x00, 0x10, 0x83,
0x00, 0x8b, 0xeb, 0x56, 0xd2, 0xc4, 0xcc, 0x7f,
0x2f, 0x4e, 0xfa, 0x88, 0x13, 0xa4, 0x2c, 0xde,
0x6b, 0x77, 0x86, 0x10, 0x6a, 0xab, 0x43, 0x0a,
0x02
};
static const uint8_t chacha20_output72[] = {
0x42, 0x89, 0xa4, 0x80, 0xd2, 0xcb, 0x5f, 0x7f,
0x2a, 0x1a, 0x23, 0x00, 0xa5, 0x6a, 0x95, 0xa3,
0x9a, 0x41, 0xa1, 0xd0, 0x2d, 0x1e, 0xd6, 0x13,
0x34, 0x40, 0x4e, 0x7f, 0x1a, 0xbe, 0xa0, 0x3d,
0x33, 0x9c, 0x56, 0x2e, 0x89, 0x25, 0x45, 0xf9,
0xf0, 0xba, 0x9c, 0x6d, 0xd1, 0xd1, 0xde, 0x51,
0x47, 0x63, 0xc9, 0xbd, 0xfa, 0xa2, 0x9e, 0xad,
0x6a, 0x7b, 0x21, 0x1a, 0x6c, 0x3e, 0xff, 0x46,
0xbe, 0xf3, 0x35, 0x7a, 0x6e, 0xb3, 0xb9, 0xf7,
0xda, 0x5e, 0xf0, 0x14, 0xb5, 0x70, 0xa4, 0x2b,
0xdb, 0xbb, 0xc7, 0x31, 0x4b, 0x69, 0x5a, 0x83,
0x70, 0xd9, 0x58, 0xd4, 0x33, 0x84, 0x23, 0xf0,
0xae, 0xbb, 0x6d, 0x26, 0x7c, 0xc8, 0x30, 0xf7,
0x24, 0xad, 0xbd, 0xe4, 0x2c, 0x38, 0x38, 0xac,
0xe1, 0x4a, 0x9b, 0xac, 0x33, 0x0e, 0x4a, 0xf4,
0x93, 0xed, 0x07, 0x82, 0x81, 0x4f, 0x8f, 0xb1,
0xdd, 0x73, 0xd5, 0x50, 0x6d, 0x44, 0x1e, 0xbe,
0xa7, 0xcd, 0x17, 0x57, 0xd5, 0x3b, 0x62, 0x36,
0xcf, 0x7d, 0xc8, 0xd8, 0xd1, 0x78, 0xd7, 0x85,
0x46, 0x76, 0x5d, 0xcc, 0xfe, 0xe8, 0x94, 0xc5,
0xad, 0xbc, 0x5e, 0xbc, 0x8d, 0x1d, 0xdf, 0x03,
0xc9, 0x6b, 0x1b, 0x81, 0xd1, 0xb6, 0x5a, 0x24,
0xe3, 0xdc, 0x3f, 0x20, 0xc9, 0x07, 0x73, 0x4c,
0x43, 0x13, 0x87, 0x58, 0x34, 0x0d, 0x14, 0x63,
0x0f, 0x6f, 0xad, 0x8d, 0xac, 0x7c, 0x67, 0x68,
0xa3, 0x9d, 0x7f, 0x00, 0xdf, 0x28, 0xee, 0x67,
0xf4, 0x5c, 0x26, 0xcb, 0xef, 0x56, 0x71, 0xc8,
0xc6, 0x67, 0x5f, 0x38, 0xbb, 0xa0, 0xb1, 0x5c,
0x1f, 0xb3, 0x08, 0xd9, 0x38, 0xcf, 0x74, 0x54,
0xc6, 0xa4, 0xc4, 0xc0, 0x9f, 0xb3, 0xd0, 0xda,
0x62, 0x67, 0x8b, 0x81, 0x33, 0xf0, 0xa9, 0x73,
0xa4, 0xd1, 0x46, 0x88, 0x8d, 0x85, 0x12, 0x40,
0xba, 0x1a, 0xcd, 0x82, 0xd8, 0x8d, 0xc4, 0x52,
0xe7, 0x01, 0x94, 0x2e, 0x0e, 0xd0, 0xaf, 0xe7,
0x2d, 0x3f, 0x3c, 0xaa, 0xf4, 0xf5, 0xa7, 0x01,
0x4c, 0x14, 0xe2, 0xc2, 0x96, 0x76, 0xbe, 0x05,
0xaa, 0x19, 0xb1, 0xbd, 0x95, 0xbb, 0x5a, 0xf9,
0xa5, 0xa7, 0xe6, 0x16, 0x38, 0x34, 0xf7, 0x9d,
0x19, 0x66, 0x16, 0x8e, 0x7f, 0x2b, 0x5a, 0xfb,
0xb5, 0x29, 0x79, 0xbf, 0x52, 0xae, 0x30, 0x95,
0x3f, 0x31, 0x33, 0x28, 0xde, 0xc5, 0x0d, 0x55,
0x89, 0xec, 0x21, 0x11, 0x0f, 0x8b, 0xfe, 0x63,
0x3a, 0xf1, 0x95, 0x5c, 0xcd, 0x50, 0xe4, 0x5d,
0x8f, 0xa7, 0xc8, 0xca, 0x93, 0xa0, 0x67, 0x82,
0x63, 0x5c, 0xd0, 0xed, 0xe7, 0x08, 0xc5, 0x60,
0xf8, 0xb4, 0x47, 0xf0, 0x1a, 0x65, 0x4e, 0xa3,
0x51, 0x68, 0xc7, 0x14, 0xa1, 0xd9, 0x39, 0x72,
0xa8, 0x6f, 0x7c, 0x7e, 0xf6, 0x03, 0x0b, 0x25,
0x9b, 0xf2, 0xca, 0x49, 0xae, 0x5b, 0xf8, 0x0f,
0x71, 0x51, 0x01, 0xa6, 0x23, 0xa9, 0xdf, 0xd0,
0x7a, 0x39, 0x19, 0xf5, 0xc5, 0x26, 0x44, 0x7b,
0x0a, 0x4a, 0x41, 0xbf, 0xf2, 0x8e, 0x83, 0x50,
0x91, 0x96, 0x72, 0x02, 0xf6, 0x80, 0xbf, 0x95,
0x41, 0xac, 0xda, 0xb0, 0xba, 0xe3, 0x76, 0xb1,
0x9d, 0xff, 0x1f, 0x33, 0x02, 0x85, 0xfc, 0x2a,
0x29, 0xe6, 0xe3, 0x9d, 0xd0, 0xef, 0xc2, 0xd6,
0x9c, 0x4a, 0x62, 0xac, 0xcb, 0xea, 0x8b, 0xc3,
0x08, 0x6e, 0x49, 0x09, 0x26, 0x19, 0xc1, 0x30,
0xcc, 0x27, 0xaa, 0xc6, 0x45, 0x88, 0xbd, 0xae,
0xd6, 0x79, 0xff, 0x4e, 0xfc, 0x66, 0x4d, 0x02,
0xa5, 0xee, 0x8e, 0xa5, 0xb6, 0x15, 0x72, 0x24,
0xb1, 0xbf, 0xbf, 0x64, 0xcf, 0xcc, 0x93, 0xe9,
0xb6, 0xfd, 0xb4, 0xb6, 0x21, 0xb5, 0x48, 0x08,
0x0f, 0x11, 0x65, 0xe1, 0x47, 0xee, 0x93, 0x29,
0xad
};
static const uint8_t chacha20_key72[] = {
0xb9, 0xa2, 0xfc, 0x59, 0x06, 0x3f, 0x77, 0xa5,
0x66, 0xd0, 0x2b, 0x22, 0x74, 0x22, 0x4c, 0x1e,
0x6a, 0x39, 0xdf, 0xe1, 0x0d, 0x4c, 0x64, 0x99,
0x54, 0x8a, 0xba, 0x1d, 0x2c, 0x21, 0x5f, 0xc3
};
enum { chacha20_nonce72 = 0x3d069308fa3db04bULL };
static const uint8_t chacha20_input73[] = {
0xe4, 0xdd, 0x36, 0xd4, 0xf5, 0x70, 0x51, 0x73,
0x97, 0x1d, 0x45, 0x05, 0x92, 0xe7, 0xeb, 0xb7,
0x09, 0x82, 0x6e, 0x25, 0x6c, 0x50, 0xf5, 0x40,
0x19, 0xba, 0xbc, 0xf4, 0x39, 0x14, 0xc5, 0x15,
0x83, 0x40, 0xbd, 0x26, 0xe0, 0xff, 0x3b, 0x22,
0x7c, 0x7c, 0xd7, 0x0b, 0xe9, 0x25, 0x0c, 0x3d,
0x92, 0x38, 0xbe, 0xe4, 0x22, 0x75, 0x65, 0xf1,
0x03, 0x85, 0x34, 0x09, 0xb8, 0x77, 0xfb, 0x48,
0xb1, 0x2e, 0x21, 0x67, 0x9b, 0x9d, 0xad, 0x18,
0x82, 0x0d, 0x6b, 0xc3, 0xcf, 0x00, 0x61, 0x6e,
0xda, 0xdc, 0xa7, 0x0b, 0x5c, 0x02, 0x1d, 0xa6,
0x4e, 0x0d, 0x7f, 0x37, 0x01, 0x5a, 0x37, 0xf3,
0x2b, 0xbf, 0xba, 0xe2, 0x1c, 0xb3, 0xa3, 0xbc,
0x1c, 0x93, 0x1a, 0xb1, 0x71, 0xaf, 0xe2, 0xdd,
0x17, 0xee, 0x53, 0xfa, 0xfb, 0x02, 0x40, 0x3e,
0x03, 0xca, 0xe7, 0xc3, 0x51, 0x81, 0xcc, 0x8c,
0xca, 0xcf, 0x4e, 0xc5, 0x78, 0x99, 0xfd, 0xbf,
0xea, 0xab, 0x38, 0x81, 0xfc, 0xd1, 0x9e, 0x41,
0x0b, 0x84, 0x25, 0xf1, 0x6b, 0x3c, 0xf5, 0x40,
0x0d, 0xc4, 0x3e, 0xb3, 0x6a, 0xec, 0x6e, 0x75,
0xdc, 0x9b, 0xdf, 0x08, 0x21, 0x16, 0xfb, 0x7a,
0x8e, 0x19, 0x13, 0x02, 0xa7, 0xfc, 0x58, 0x21,
0xc3, 0xb3, 0x59, 0x5a, 0x9c, 0xef, 0x38, 0xbd,
0x87, 0x55, 0xd7, 0x0d, 0x1f, 0x84, 0xdc, 0x98,
0x22, 0xca, 0x87, 0x96, 0x71, 0x6d, 0x68, 0x00,
0xcb, 0x4f, 0x2f, 0xc4, 0x64, 0x0c, 0xc1, 0x53,
0x0c, 0x90, 0xe7, 0x3c, 0x88, 0xca, 0xc5, 0x85,
0xa3, 0x2a, 0x96, 0x7c, 0x82, 0x6d, 0x45, 0xf5,
0xb7, 0x8d, 0x17, 0x69, 0xd6, 0xcd, 0x3c, 0xd3,
0xe7, 0x1c, 0xce, 0x93, 0x50, 0xd4, 0x59, 0xa2,
0xd8, 0x8b, 0x72, 0x60, 0x5b, 0x25, 0x14, 0xcd,
0x5a, 0xe8, 0x8c, 0xdb, 0x23, 0x8d, 0x2b, 0x59,
0x12, 0x13, 0x10, 0x47, 0xa4, 0xc8, 0x3c, 0xc1,
0x81, 0x89, 0x6c, 0x98, 0xec, 0x8f, 0x7b, 0x32,
0xf2, 0x87, 0xd9, 0xa2, 0x0d, 0xc2, 0x08, 0xf9,
0xd5, 0xf3, 0x91, 0xe7, 0xb3, 0x87, 0xa7, 0x0b,
0x64, 0x8f, 0xb9, 0x55, 0x1c, 0x81, 0x96, 0x6c,
0xa1, 0xc9, 0x6e, 0x3b, 0xcd, 0x17, 0x1b, 0xfc,
0xa6, 0x05, 0xba, 0x4a, 0x7d, 0x03, 0x3c, 0x59,
0xc8, 0xee, 0x50, 0xb2, 0x5b, 0xe1, 0x4d, 0x6a,
0x1f, 0x09, 0xdc, 0xa2, 0x51, 0xd1, 0x93, 0x3a,
0x5f, 0x72, 0x1d, 0x26, 0x14, 0x62, 0xa2, 0x41,
0x3d, 0x08, 0x70, 0x7b, 0x27, 0x3d, 0xbc, 0xdf,
0x15, 0xfa, 0xb9, 0x5f, 0xb5, 0x38, 0x84, 0x0b,
0x58, 0x3d, 0xee, 0x3f, 0x32, 0x65, 0x6d, 0xd7,
0xce, 0x97, 0x3c, 0x8d, 0xfb, 0x63, 0xb9, 0xb0,
0xa8, 0x4a, 0x72, 0x99, 0x97, 0x58, 0xc8, 0xa7,
0xf9, 0x4c, 0xae, 0xc1, 0x63, 0xb9, 0x57, 0x18,
0x8a, 0xfa, 0xab, 0xe9, 0xf3, 0x67, 0xe6, 0xfd,
0xd2, 0x9d, 0x5c, 0xa9, 0x8e, 0x11, 0x0a, 0xf4,
0x4b, 0xf1, 0xec, 0x1a, 0xaf, 0x50, 0x5d, 0x16,
0x13, 0x69, 0x2e, 0xbd, 0x0d, 0xe6, 0xf0, 0xb2,
0xed, 0xb4, 0x4c, 0x59, 0x77, 0x37, 0x00, 0x0b,
0xc7, 0xa7, 0x9e, 0x37, 0xf3, 0x60, 0x70, 0xef,
0xf3, 0xc1, 0x74, 0x52, 0x87, 0xc6, 0xa1, 0x81,
0xbd, 0x0a, 0x2c, 0x5d, 0x2c, 0x0c, 0x6a, 0x81,
0xa1, 0xfe, 0x26, 0x78, 0x6c, 0x03, 0x06, 0x07,
0x34, 0xaa, 0xd1, 0x1b, 0x40, 0x03, 0x39, 0x56,
0xcf, 0x2a, 0x92, 0xc1, 0x4e, 0xdf, 0x29, 0x24,
0x83, 0x22, 0x7a, 0xea, 0x67, 0x1e, 0xe7, 0x54,
0x64, 0xd3, 0xbd, 0x3a, 0x5d, 0xae, 0xca, 0xf0,
0x9c, 0xd6, 0x5a, 0x9a, 0x62, 0xc8, 0xc7, 0x83,
0xf9, 0x89, 0xde, 0x2d, 0x53, 0x64, 0x61, 0xf7,
0xa3, 0xa7, 0x31, 0x38, 0xc6, 0x22, 0x9c, 0xb4,
0x87, 0xe0
};
static const uint8_t chacha20_output73[] = {
0x34, 0xed, 0x05, 0xb0, 0x14, 0xbc, 0x8c, 0xcc,
0x95, 0xbd, 0x99, 0x0f, 0xb1, 0x98, 0x17, 0x10,
0xae, 0xe0, 0x08, 0x53, 0xa3, 0x69, 0xd2, 0xed,
0x66, 0xdb, 0x2a, 0x34, 0x8d, 0x0c, 0x6e, 0xce,
0x63, 0x69, 0xc9, 0xe4, 0x57, 0xc3, 0x0c, 0x8b,
0xa6, 0x2c, 0xa7, 0xd2, 0x08, 0xff, 0x4f, 0xec,
0x61, 0x8c, 0xee, 0x0d, 0xfa, 0x6b, 0xe0, 0xe8,
0x71, 0xbc, 0x41, 0x46, 0xd7, 0x33, 0x1d, 0xc0,
0xfd, 0xad, 0xca, 0x8b, 0x34, 0x56, 0xa4, 0x86,
0x71, 0x62, 0xae, 0x5e, 0x3d, 0x2b, 0x66, 0x3e,
0xae, 0xd8, 0xc0, 0xe1, 0x21, 0x3b, 0xca, 0xd2,
0x6b, 0xa2, 0xb8, 0xc7, 0x98, 0x4a, 0xf3, 0xcf,
0xb8, 0x62, 0xd8, 0x33, 0xe6, 0x80, 0xdb, 0x2f,
0x0a, 0xaf, 0x90, 0x3c, 0xe1, 0xec, 0xe9, 0x21,
0x29, 0x42, 0x9e, 0xa5, 0x50, 0xe9, 0x93, 0xd3,
0x53, 0x1f, 0xac, 0x2a, 0x24, 0x07, 0xb8, 0xed,
0xed, 0x38, 0x2c, 0xc4, 0xa1, 0x2b, 0x31, 0x5d,
0x9c, 0x24, 0x7b, 0xbf, 0xd9, 0xbb, 0x4e, 0x87,
0x8f, 0x32, 0x30, 0xf1, 0x11, 0x29, 0x54, 0x94,
0x00, 0x95, 0x1d, 0x1d, 0x24, 0xc0, 0xd4, 0x34,
0x49, 0x1d, 0xd5, 0xe3, 0xa6, 0xde, 0x8b, 0xbf,
0x5a, 0x9f, 0x58, 0x5a, 0x9b, 0x70, 0xe5, 0x9b,
0xb3, 0xdb, 0xe8, 0xb8, 0xca, 0x1b, 0x43, 0xe3,
0xc6, 0x6f, 0x0a, 0xd6, 0x32, 0x11, 0xd4, 0x04,
0xef, 0xa3, 0xe4, 0x3f, 0x12, 0xd8, 0xc1, 0x73,
0x51, 0x87, 0x03, 0xbd, 0xba, 0x60, 0x79, 0xee,
0x08, 0xcc, 0xf7, 0xc0, 0xaa, 0x4c, 0x33, 0xc4,
0xc7, 0x09, 0xf5, 0x91, 0xcb, 0x74, 0x57, 0x08,
0x1b, 0x90, 0xa9, 0x1b, 0x60, 0x02, 0xd2, 0x3f,
0x7a, 0xbb, 0xfd, 0x78, 0xf0, 0x15, 0xf9, 0x29,
0x82, 0x8f, 0xc4, 0xb2, 0x88, 0x1f, 0xbc, 0xcc,
0x53, 0x27, 0x8b, 0x07, 0x5f, 0xfc, 0x91, 0x29,
0x82, 0x80, 0x59, 0x0a, 0x3c, 0xea, 0xc4, 0x7e,
0xad, 0xd2, 0x70, 0x46, 0xbd, 0x9e, 0x3b, 0x1c,
0x8a, 0x62, 0xea, 0x69, 0xbd, 0xf6, 0x96, 0x15,
0xb5, 0x57, 0xe8, 0x63, 0x5f, 0x65, 0x46, 0x84,
0x58, 0x50, 0x87, 0x4b, 0x0e, 0x5b, 0x52, 0x90,
0xb0, 0xae, 0x37, 0x0f, 0xdd, 0x7e, 0xa2, 0xa0,
0x8b, 0x78, 0xc8, 0x5a, 0x1f, 0x53, 0xdb, 0xc5,
0xbf, 0x73, 0x20, 0xa9, 0x44, 0xfb, 0x1e, 0xc7,
0x97, 0xb2, 0x3a, 0x5a, 0x17, 0xe6, 0x8b, 0x9b,
0xe8, 0xf8, 0x2a, 0x01, 0x27, 0xa3, 0x71, 0x28,
0xe3, 0x19, 0xc6, 0xaf, 0xf5, 0x3a, 0x26, 0xc0,
0x5c, 0x69, 0x30, 0x78, 0x75, 0x27, 0xf2, 0x0c,
0x22, 0x71, 0x65, 0xc6, 0x8e, 0x7b, 0x47, 0xe3,
0x31, 0xaf, 0x7b, 0xc6, 0xc2, 0x55, 0x68, 0x81,
0xaa, 0x1b, 0x21, 0x65, 0xfb, 0x18, 0x35, 0x45,
0x36, 0x9a, 0x44, 0xba, 0x5c, 0xff, 0x06, 0xde,
0x3a, 0xc8, 0x44, 0x0b, 0xaa, 0x8e, 0x34, 0xe2,
0x84, 0xac, 0x18, 0xfe, 0x9b, 0xe1, 0x4f, 0xaa,
0xb6, 0x90, 0x0b, 0x1c, 0x2c, 0xd9, 0x9a, 0x10,
0x18, 0xf9, 0x49, 0x41, 0x42, 0x1b, 0xb5, 0xe1,
0x26, 0xac, 0x2d, 0x38, 0x00, 0x00, 0xe4, 0xb4,
0x50, 0x6f, 0x14, 0x18, 0xd6, 0x3d, 0x00, 0x59,
0x3c, 0x45, 0xf3, 0x42, 0x13, 0x44, 0xb8, 0x57,
0xd4, 0x43, 0x5c, 0x8a, 0x2a, 0xb4, 0xfc, 0x0a,
0x25, 0x5a, 0xdc, 0x8f, 0x11, 0x0b, 0x11, 0x44,
0xc7, 0x0e, 0x54, 0x8b, 0x22, 0x01, 0x7e, 0x67,
0x2e, 0x15, 0x3a, 0xb9, 0xee, 0x84, 0x10, 0xd4,
0x80, 0x57, 0xd7, 0x75, 0xcf, 0x8b, 0xcb, 0x03,
0xc9, 0x92, 0x2b, 0x69, 0xd8, 0x5a, 0x9b, 0x06,
0x85, 0x47, 0xaa, 0x4c, 0x28, 0xde, 0x49, 0x58,
0xe6, 0x11, 0x1e, 0x5e, 0x64, 0x8e, 0x3b, 0xe0,
0x40, 0x2e, 0xac, 0x96, 0x97, 0x15, 0x37, 0x1e,
0x30, 0xdd
};
static const uint8_t chacha20_key73[] = {
0x96, 0x06, 0x1e, 0xc1, 0x6d, 0xba, 0x49, 0x5b,
0x65, 0x80, 0x79, 0xdd, 0xf3, 0x67, 0xa8, 0x6e,
0x2d, 0x9c, 0x54, 0x46, 0xd8, 0x4a, 0xeb, 0x7e,
0x23, 0x86, 0x51, 0xd8, 0x49, 0x49, 0x56, 0xe0
};
enum { chacha20_nonce73 = 0xbefb83cb67e11ffdULL };
static const uint8_t chacha20_input74[] = {
0x47, 0x22, 0x70, 0xe5, 0x2f, 0x41, 0x18, 0x45,
0x07, 0xd3, 0x6d, 0x32, 0x0d, 0x43, 0x92, 0x2b,
0x9b, 0x65, 0x73, 0x13, 0x1a, 0x4f, 0x49, 0x8f,
0xff, 0xf8, 0xcc, 0xae, 0x15, 0xab, 0x9d, 0x7d,
0xee, 0x22, 0x5d, 0x8b, 0xde, 0x81, 0x5b, 0x81,
0x83, 0x49, 0x35, 0x9b, 0xb4, 0xbc, 0x4e, 0x01,
0xc2, 0x29, 0xa7, 0xf1, 0xca, 0x3a, 0xce, 0x3f,
0xf5, 0x31, 0x93, 0xa8, 0xe2, 0xc9, 0x7d, 0x03,
0x26, 0xa4, 0xbc, 0xa8, 0x9c, 0xb9, 0x68, 0xf3,
0xb3, 0x91, 0xe8, 0xe6, 0xc7, 0x2b, 0x1a, 0xce,
0xd2, 0x41, 0x53, 0xbd, 0xa3, 0x2c, 0x54, 0x94,
0x21, 0xa1, 0x40, 0xae, 0xc9, 0x0c, 0x11, 0x92,
0xfd, 0x91, 0xa9, 0x40, 0xca, 0xde, 0x21, 0x4e,
0x1e, 0x3d, 0xcc, 0x2c, 0x87, 0x11, 0xef, 0x46,
0xed, 0x52, 0x03, 0x11, 0x19, 0x43, 0x25, 0xc7,
0x0d, 0xc3, 0x37, 0x5f, 0xd3, 0x6f, 0x0c, 0x6a,
0x45, 0x30, 0x88, 0xec, 0xf0, 0x21, 0xef, 0x1d,
0x7b, 0x38, 0x63, 0x4b, 0x49, 0x0c, 0x72, 0xf6,
0x4c, 0x40, 0xc3, 0xcc, 0x03, 0xa7, 0xae, 0xa8,
0x8c, 0x37, 0x03, 0x1c, 0x11, 0xae, 0x0d, 0x1b,
0x62, 0x97, 0x27, 0xfc, 0x56, 0x4b, 0xb7, 0xfd,
0xbc, 0xfb, 0x0e, 0xfc, 0x61, 0xad, 0xc6, 0xb5,
0x9c, 0x8c, 0xc6, 0x38, 0x27, 0x91, 0x29, 0x3d,
0x29, 0xc8, 0x37, 0xc9, 0x96, 0x69, 0xe3, 0xdc,
0x3e, 0x61, 0x35, 0x9b, 0x99, 0x4f, 0xb9, 0x4e,
0x5a, 0x29, 0x1c, 0x2e, 0xcf, 0x16, 0xcb, 0x69,
0x87, 0xe4, 0x1a, 0xc4, 0x6e, 0x78, 0x43, 0x00,
0x03, 0xb2, 0x8b, 0x03, 0xd0, 0xb4, 0xf1, 0xd2,
0x7d, 0x2d, 0x7e, 0xfc, 0x19, 0x66, 0x5b, 0xa3,
0x60, 0x3f, 0x9d, 0xbd, 0xfa, 0x3e, 0xca, 0x7b,
0x26, 0x08, 0x19, 0x16, 0x93, 0x5d, 0x83, 0xfd,
0xf9, 0x21, 0xc6, 0x31, 0x34, 0x6f, 0x0c, 0xaa,
0x28, 0xf9, 0x18, 0xa2, 0xc4, 0x78, 0x3b, 0x56,
0xc0, 0x88, 0x16, 0xba, 0x22, 0x2c, 0x07, 0x2f,
0x70, 0xd0, 0xb0, 0x46, 0x35, 0xc7, 0x14, 0xdc,
0xbb, 0x56, 0x23, 0x1e, 0x36, 0x36, 0x2d, 0x73,
0x78, 0xc7, 0xce, 0xf3, 0x58, 0xf7, 0x58, 0xb5,
0x51, 0xff, 0x33, 0x86, 0x0e, 0x3b, 0x39, 0xfb,
0x1a, 0xfd, 0xf8, 0x8b, 0x09, 0x33, 0x1b, 0x83,
0xf2, 0xe6, 0x38, 0x37, 0xef, 0x47, 0x84, 0xd9,
0x82, 0x77, 0x2b, 0x82, 0xcc, 0xf9, 0xee, 0x94,
0x71, 0x78, 0x81, 0xc8, 0x4d, 0x91, 0xd7, 0x35,
0x29, 0x31, 0x30, 0x5c, 0x4a, 0x23, 0x23, 0xb1,
0x38, 0x6b, 0xac, 0x22, 0x3f, 0x80, 0xc7, 0xe0,
0x7d, 0xfa, 0x76, 0x47, 0xd4, 0x6f, 0x93, 0xa0,
0xa0, 0x93, 0x5d, 0x68, 0xf7, 0x43, 0x25, 0x8f,
0x1b, 0xc7, 0x87, 0xea, 0x59, 0x0c, 0xa2, 0xfa,
0xdb, 0x2f, 0x72, 0x43, 0xcf, 0x90, 0xf1, 0xd6,
0x58, 0xf3, 0x17, 0x6a, 0xdf, 0xb3, 0x4e, 0x0e,
0x38, 0x24, 0x48, 0x1f, 0xb7, 0x01, 0xec, 0x81,
0xb1, 0x87, 0x5b, 0xec, 0x9c, 0x11, 0x1a, 0xff,
0xa5, 0xca, 0x5a, 0x63, 0x31, 0xb2, 0xe4, 0xc6,
0x3c, 0x1d, 0xaf, 0x27, 0xb2, 0xd4, 0x19, 0xa2,
0xcc, 0x04, 0x92, 0x42, 0xd2, 0xc1, 0x8c, 0x3b,
0xce, 0xf5, 0x74, 0xc1, 0x81, 0xf8, 0x20, 0x23,
0x6f, 0x20, 0x6d, 0x78, 0x36, 0x72, 0x2c, 0x52,
0xdf, 0x5e, 0xe8, 0x75, 0xce, 0x1c, 0x49, 0x9d,
0x93, 0x6f, 0x65, 0xeb, 0xb1, 0xbd, 0x8e, 0x5e,
0xe5, 0x89, 0xc4, 0x8a, 0x81, 0x3d, 0x9a, 0xa7,
0x11, 0x82, 0x8e, 0x38, 0x5b, 0x5b, 0xca, 0x7d,
0x4b, 0x72, 0xc2, 0x9c, 0x30, 0x5e, 0x7f, 0xc0,
0x6f, 0x91, 0xd5, 0x67, 0x8c, 0x3e, 0xae, 0xda,
0x2b, 0x3c, 0x53, 0xcc, 0x50, 0x97, 0x36, 0x0b,
0x79, 0xd6, 0x73, 0x6e, 0x7d, 0x42, 0x56, 0xe1,
0xaa, 0xfc, 0xb3, 0xa7, 0xc8, 0x01, 0xaa, 0xc1,
0xfc, 0x5c, 0x72, 0x8e, 0x63, 0xa8, 0x46, 0x18,
0xee, 0x11, 0xe7, 0x30, 0x09, 0x83, 0x6c, 0xd9,
0xf4, 0x7a, 0x7b, 0xb5, 0x1f, 0x6d, 0xc7, 0xbc,
0xcb, 0x55, 0xea, 0x40, 0x58, 0x7a, 0x00, 0x00,
0x90, 0x60, 0xc5, 0x64, 0x69, 0x05, 0x99, 0xd2,
0x49, 0x62, 0x4f, 0xcb, 0x97, 0xdf, 0xdd, 0x6b,
0x60, 0x75, 0xe2, 0xe0, 0x6f, 0x76, 0xd0, 0x37,
0x67, 0x0a, 0xcf, 0xff, 0xc8, 0x61, 0x84, 0x14,
0x80, 0x7c, 0x1d, 0x31, 0x8d, 0x90, 0xde, 0x0b,
0x1c, 0x74, 0x9f, 0x82, 0x96, 0x80, 0xda, 0xaf,
0x8d, 0x99, 0x86, 0x9f, 0x24, 0x99, 0x28, 0x3e,
0xe0, 0xa3, 0xc3, 0x90, 0x2d, 0x14, 0x65, 0x1e,
0x3b, 0xb9, 0xba, 0x13, 0xa5, 0x77, 0x73, 0x63,
0x9a, 0x06, 0x3d, 0xa9, 0x28, 0x9b, 0xba, 0x25,
0x61, 0xc9, 0xcd, 0xcf, 0x7a, 0x4d, 0x96, 0x09,
0xcb, 0xca, 0x03, 0x9c, 0x54, 0x34, 0x31, 0x85,
0xa0, 0x3d, 0xe5, 0xbc, 0xa5, 0x5f, 0x1b, 0xd3,
0x10, 0x63, 0x74, 0x9d, 0x01, 0x92, 0x88, 0xf0,
0x27, 0x9c, 0x28, 0xd9, 0xfd, 0xe2, 0x4e, 0x01,
0x8d, 0x61, 0x79, 0x60, 0x61, 0x5b, 0x76, 0xab,
0x06, 0xd3, 0x44, 0x87, 0x43, 0x52, 0xcd, 0x06,
0x68, 0x1e, 0x2d, 0xc5, 0xb0, 0x07, 0x25, 0xdf,
0x0a, 0x50, 0xd7, 0xd9, 0x08, 0x53, 0x65, 0xf1,
0x0c, 0x2c, 0xde, 0x3f, 0x9d, 0x03, 0x1f, 0xe1,
0x49, 0x43, 0x3c, 0x83, 0x81, 0x37, 0xf8, 0xa2,
0x0b, 0xf9, 0x61, 0x1c, 0xc1, 0xdb, 0x79, 0xbc,
0x64, 0xce, 0x06, 0x4e, 0x87, 0x89, 0x62, 0x73,
0x51, 0xbc, 0xa4, 0x32, 0xd4, 0x18, 0x62, 0xab,
0x65, 0x7e, 0xad, 0x1e, 0x91, 0xa3, 0xfa, 0x2d,
0x58, 0x9e, 0x2a, 0xe9, 0x74, 0x44, 0x64, 0x11,
0xe6, 0xb6, 0xb3, 0x00, 0x7e, 0xa3, 0x16, 0xef,
0x72
};
static const uint8_t chacha20_output74[] = {
0xf5, 0xca, 0x45, 0x65, 0x50, 0x35, 0x47, 0x67,
0x6f, 0x4f, 0x67, 0xff, 0x34, 0xd9, 0xc3, 0x37,
0x2a, 0x26, 0xb0, 0x4f, 0x08, 0x1e, 0x45, 0x13,
0xc7, 0x2c, 0x14, 0x75, 0x33, 0xd8, 0x8e, 0x1e,
0x1b, 0x11, 0x0d, 0x97, 0x04, 0x33, 0x8a, 0xe4,
0xd8, 0x8d, 0x0e, 0x12, 0x8d, 0xdb, 0x6e, 0x02,
0xfa, 0xe5, 0xbd, 0x3a, 0xb5, 0x28, 0x07, 0x7d,
0x20, 0xf0, 0x12, 0x64, 0x83, 0x2f, 0x59, 0x79,
0x17, 0x88, 0x3c, 0x2d, 0x08, 0x2f, 0x55, 0xda,
0xcc, 0x02, 0x3a, 0x82, 0xcd, 0x03, 0x94, 0xdf,
0xdf, 0xab, 0x8a, 0x13, 0xf5, 0xe6, 0x74, 0xdf,
0x7b, 0xe2, 0xab, 0x34, 0xbc, 0x00, 0x85, 0xbf,
0x5a, 0x48, 0xc8, 0xff, 0x8d, 0x6c, 0x27, 0x48,
0x19, 0x2d, 0x08, 0xfa, 0x82, 0x62, 0x39, 0x55,
0x32, 0x11, 0xa8, 0xd7, 0xb9, 0x08, 0x2c, 0xd6,
0x7a, 0xd9, 0x83, 0x9f, 0x9b, 0xfb, 0xec, 0x3a,
0xd1, 0x08, 0xc7, 0xad, 0xdc, 0x98, 0x4c, 0xbc,
0x98, 0xeb, 0x36, 0xb0, 0x39, 0xf4, 0x3a, 0xd6,
0x53, 0x02, 0xa0, 0xa9, 0x73, 0xa1, 0xca, 0xef,
0xd8, 0xd2, 0xec, 0x0e, 0xf8, 0xf5, 0xac, 0x8d,
0x34, 0x41, 0x06, 0xa8, 0xc6, 0xc3, 0x31, 0xbc,
0xe5, 0xcc, 0x7e, 0x72, 0x63, 0x59, 0x3e, 0x63,
0xc2, 0x8d, 0x2b, 0xd5, 0xb9, 0xfd, 0x1e, 0x31,
0x69, 0x32, 0x05, 0xd6, 0xde, 0xc9, 0xe6, 0x4c,
0xac, 0x68, 0xf7, 0x1f, 0x9d, 0xcd, 0x0e, 0xa2,
0x15, 0x3d, 0xd6, 0x47, 0x99, 0xab, 0x08, 0x5f,
0x28, 0xc3, 0x4c, 0xc2, 0xd5, 0xdd, 0x10, 0xb7,
0xbd, 0xdb, 0x9b, 0xcf, 0x85, 0x27, 0x29, 0x76,
0x98, 0xeb, 0xad, 0x31, 0x64, 0xe7, 0xfb, 0x61,
0xe0, 0xd8, 0x1a, 0xa6, 0xe2, 0xe7, 0x43, 0x42,
0x77, 0xc9, 0x82, 0x00, 0xac, 0x85, 0xe0, 0xa2,
0xd4, 0x62, 0xe3, 0xb7, 0x17, 0x6e, 0xb2, 0x9e,
0x21, 0x58, 0x73, 0xa9, 0x53, 0x2d, 0x3c, 0xe1,
0xdd, 0xd6, 0x6e, 0x92, 0xf2, 0x1d, 0xc2, 0x22,
0x5f, 0x9a, 0x7e, 0xd0, 0x52, 0xbf, 0x54, 0x19,
0xd7, 0x80, 0x63, 0x3e, 0xd0, 0x08, 0x2d, 0x37,
0x0c, 0x15, 0xf7, 0xde, 0xab, 0x2b, 0xe3, 0x16,
0x21, 0x3a, 0xee, 0xa5, 0xdc, 0xdf, 0xde, 0xa3,
0x69, 0xcb, 0xfd, 0x92, 0x89, 0x75, 0xcf, 0xc9,
0x8a, 0xa4, 0xc8, 0xdd, 0xcc, 0x21, 0xe6, 0xfe,
0x9e, 0x43, 0x76, 0xb2, 0x45, 0x22, 0xb9, 0xb5,
0xac, 0x7e, 0x3d, 0x26, 0xb0, 0x53, 0xc8, 0xab,
0xfd, 0xea, 0x2c, 0xd1, 0x44, 0xc5, 0x60, 0x1b,
0x8a, 0x99, 0x0d, 0xa5, 0x0e, 0x67, 0x6e, 0x3a,
0x96, 0x55, 0xec, 0xe8, 0xcc, 0xbe, 0x49, 0xd9,
0xf2, 0x72, 0x9f, 0x30, 0x21, 0x97, 0x57, 0x19,
0xbe, 0x5e, 0x33, 0x0c, 0xee, 0xc0, 0x72, 0x0d,
0x2e, 0xd1, 0xe1, 0x52, 0xc2, 0xea, 0x41, 0xbb,
0xe1, 0x6d, 0xd4, 0x17, 0xa9, 0x8d, 0x89, 0xa9,
0xd6, 0x4b, 0xc6, 0x4c, 0xf2, 0x88, 0x97, 0x54,
0x3f, 0x4f, 0x57, 0xb7, 0x37, 0xf0, 0x2c, 0x11,
0x15, 0x56, 0xdb, 0x28, 0xb5, 0x16, 0x84, 0x66,
0xce, 0x45, 0x3f, 0x61, 0x75, 0xb6, 0xbe, 0x00,
0xd1, 0xe4, 0xf5, 0x27, 0x54, 0x7f, 0xc2, 0xf1,
0xb3, 0x32, 0x9a, 0xe8, 0x07, 0x02, 0xf3, 0xdb,
0xa9, 0xd1, 0xc2, 0xdf, 0xee, 0xad, 0xe5, 0x8a,
0x3c, 0xfa, 0x67, 0xec, 0x6b, 0xa4, 0x08, 0xfe,
0xba, 0x5a, 0x58, 0x0b, 0x78, 0x11, 0x91, 0x76,
0xe3, 0x1a, 0x28, 0x54, 0x5e, 0xbd, 0x71, 0x1b,
0x8b, 0xdc, 0x6c, 0xf4, 0x6f, 0xd7, 0xf4, 0xf3,
0xe1, 0x03, 0xa4, 0x3c, 0x8d, 0x91, 0x2e, 0xba,
0x5f, 0x7f, 0x8c, 0xaf, 0x69, 0x89, 0x29, 0x0a,
0x5b, 0x25, 0x13, 0xc4, 0x2e, 0x16, 0xc2, 0x15,
0x07, 0x5d, 0x58, 0x33, 0x7c, 0xe0, 0xf0, 0x55,
0x5f, 0xbf, 0x5e, 0xf0, 0x71, 0x48, 0x8f, 0xf7,
0x48, 0xb3, 0xf7, 0x0d, 0xa1, 0xd0, 0x63, 0xb1,
0xad, 0xae, 0xb5, 0xb0, 0x5f, 0x71, 0xaf, 0x24,
0x8b, 0xb9, 0x1c, 0x44, 0xd2, 0x1a, 0x53, 0xd1,
0xd5, 0xb4, 0xa9, 0xff, 0x88, 0x73, 0xb5, 0xaa,
0x15, 0x32, 0x5f, 0x59, 0x9d, 0x2e, 0xb5, 0xcb,
0xde, 0x21, 0x2e, 0xe9, 0x35, 0xed, 0xfd, 0x0f,
0xb6, 0xbb, 0xe6, 0x4b, 0x16, 0xf1, 0x45, 0x1e,
0xb4, 0x84, 0xe9, 0x58, 0x1c, 0x0c, 0x95, 0xc0,
0xcf, 0x49, 0x8b, 0x59, 0xa1, 0x78, 0xe6, 0x80,
0x12, 0x49, 0x7a, 0xd4, 0x66, 0x62, 0xdf, 0x9c,
0x18, 0xc8, 0x8c, 0xda, 0xc1, 0xa6, 0xbc, 0x65,
0x28, 0xd2, 0xa4, 0xe8, 0xf1, 0x35, 0xdb, 0x5a,
0x75, 0x1f, 0x73, 0x60, 0xec, 0xa8, 0xda, 0x5a,
0x43, 0x15, 0x83, 0x9b, 0xe7, 0xb1, 0xa6, 0x81,
0xbb, 0xef, 0xf3, 0x8f, 0x0f, 0xd3, 0x79, 0xa2,
0xe5, 0xaa, 0x42, 0xef, 0xa0, 0x13, 0x4e, 0x91,
0x2d, 0xcb, 0x61, 0x7a, 0x9a, 0x33, 0x14, 0x50,
0x77, 0x4a, 0xd0, 0x91, 0x48, 0xe0, 0x0c, 0xe0,
0x11, 0xcb, 0xdf, 0xb0, 0xce, 0x06, 0xd2, 0x79,
0x4d, 0x69, 0xb9, 0xc9, 0x36, 0x74, 0x8f, 0x81,
0x72, 0x73, 0xf3, 0x17, 0xb7, 0x13, 0xcb, 0x5b,
0xd2, 0x5c, 0x33, 0x61, 0xb7, 0x61, 0x79, 0xb0,
0xc0, 0x4d, 0xa1, 0xc7, 0x5d, 0x98, 0xc9, 0xe1,
0x98, 0xbd, 0x78, 0x5a, 0x2c, 0x64, 0x53, 0xaf,
0xaf, 0x66, 0x51, 0x47, 0xe4, 0x48, 0x66, 0x8b,
0x07, 0x52, 0xa3, 0x03, 0x93, 0x28, 0xad, 0xcc,
0xa3, 0x86, 0xad, 0x63, 0x04, 0x35, 0x6c, 0x49,
0xd5, 0x28, 0x0e, 0x00, 0x47, 0xf4, 0xd4, 0x32,
0x27, 0x19, 0xb3, 0x29, 0xe7, 0xbc, 0xbb, 0xce,
0x3e, 0x3e, 0xd5, 0x67, 0x20, 0xe4, 0x0b, 0x75,
0x95, 0x24, 0xe0, 0x6c, 0xb6, 0x29, 0x0c, 0x14,
0xfd
};
static const uint8_t chacha20_key74[] = {
0xf0, 0x41, 0x5b, 0x00, 0x56, 0xc4, 0xac, 0xf6,
0xa2, 0x4c, 0x33, 0x41, 0x16, 0x09, 0x1b, 0x8e,
0x4d, 0xe8, 0x8c, 0xd9, 0x48, 0xab, 0x3e, 0x60,
0xcb, 0x49, 0x3e, 0xaf, 0x2b, 0x8b, 0xc8, 0xf0
};
enum { chacha20_nonce74 = 0xcbdb0ffd0e923384ULL };
static const struct chacha20_testvec chacha20_testvecs[] = {
{ chacha20_input01, chacha20_output01, chacha20_key01, chacha20_nonce01, sizeof(chacha20_input01) },
{ chacha20_input02, chacha20_output02, chacha20_key02, chacha20_nonce02, sizeof(chacha20_input02) },
{ chacha20_input03, chacha20_output03, chacha20_key03, chacha20_nonce03, sizeof(chacha20_input03) },
{ chacha20_input04, chacha20_output04, chacha20_key04, chacha20_nonce04, sizeof(chacha20_input04) },
{ chacha20_input05, chacha20_output05, chacha20_key05, chacha20_nonce05, sizeof(chacha20_input05) },
{ chacha20_input06, chacha20_output06, chacha20_key06, chacha20_nonce06, sizeof(chacha20_input06) },
{ chacha20_input07, chacha20_output07, chacha20_key07, chacha20_nonce07, sizeof(chacha20_input07) },
{ chacha20_input08, chacha20_output08, chacha20_key08, chacha20_nonce08, sizeof(chacha20_input08) },
{ chacha20_input09, chacha20_output09, chacha20_key09, chacha20_nonce09, sizeof(chacha20_input09) },
{ chacha20_input10, chacha20_output10, chacha20_key10, chacha20_nonce10, sizeof(chacha20_input10) },
{ chacha20_input11, chacha20_output11, chacha20_key11, chacha20_nonce11, sizeof(chacha20_input11) },
{ chacha20_input12, chacha20_output12, chacha20_key12, chacha20_nonce12, sizeof(chacha20_input12) },
{ chacha20_input13, chacha20_output13, chacha20_key13, chacha20_nonce13, sizeof(chacha20_input13) },
{ chacha20_input14, chacha20_output14, chacha20_key14, chacha20_nonce14, sizeof(chacha20_input14) },
{ chacha20_input15, chacha20_output15, chacha20_key15, chacha20_nonce15, sizeof(chacha20_input15) },
{ chacha20_input16, chacha20_output16, chacha20_key16, chacha20_nonce16, sizeof(chacha20_input16) },
{ chacha20_input17, chacha20_output17, chacha20_key17, chacha20_nonce17, sizeof(chacha20_input17) },
{ chacha20_input18, chacha20_output18, chacha20_key18, chacha20_nonce18, sizeof(chacha20_input18) },
{ chacha20_input19, chacha20_output19, chacha20_key19, chacha20_nonce19, sizeof(chacha20_input19) },
{ chacha20_input20, chacha20_output20, chacha20_key20, chacha20_nonce20, sizeof(chacha20_input20) },
{ chacha20_input21, chacha20_output21, chacha20_key21, chacha20_nonce21, sizeof(chacha20_input21) },
{ chacha20_input22, chacha20_output22, chacha20_key22, chacha20_nonce22, sizeof(chacha20_input22) },
{ chacha20_input23, chacha20_output23, chacha20_key23, chacha20_nonce23, sizeof(chacha20_input23) },
{ chacha20_input24, chacha20_output24, chacha20_key24, chacha20_nonce24, sizeof(chacha20_input24) },
{ chacha20_input25, chacha20_output25, chacha20_key25, chacha20_nonce25, sizeof(chacha20_input25) },
{ chacha20_input26, chacha20_output26, chacha20_key26, chacha20_nonce26, sizeof(chacha20_input26) },
{ chacha20_input27, chacha20_output27, chacha20_key27, chacha20_nonce27, sizeof(chacha20_input27) },
{ chacha20_input28, chacha20_output28, chacha20_key28, chacha20_nonce28, sizeof(chacha20_input28) },
{ chacha20_input29, chacha20_output29, chacha20_key29, chacha20_nonce29, sizeof(chacha20_input29) },
{ chacha20_input30, chacha20_output30, chacha20_key30, chacha20_nonce30, sizeof(chacha20_input30) },
{ chacha20_input31, chacha20_output31, chacha20_key31, chacha20_nonce31, sizeof(chacha20_input31) },
{ chacha20_input32, chacha20_output32, chacha20_key32, chacha20_nonce32, sizeof(chacha20_input32) },
{ chacha20_input33, chacha20_output33, chacha20_key33, chacha20_nonce33, sizeof(chacha20_input33) },
{ chacha20_input34, chacha20_output34, chacha20_key34, chacha20_nonce34, sizeof(chacha20_input34) },
{ chacha20_input35, chacha20_output35, chacha20_key35, chacha20_nonce35, sizeof(chacha20_input35) },
{ chacha20_input36, chacha20_output36, chacha20_key36, chacha20_nonce36, sizeof(chacha20_input36) },
{ chacha20_input37, chacha20_output37, chacha20_key37, chacha20_nonce37, sizeof(chacha20_input37) },
{ chacha20_input38, chacha20_output38, chacha20_key38, chacha20_nonce38, sizeof(chacha20_input38) },
{ chacha20_input39, chacha20_output39, chacha20_key39, chacha20_nonce39, sizeof(chacha20_input39) },
{ chacha20_input40, chacha20_output40, chacha20_key40, chacha20_nonce40, sizeof(chacha20_input40) },
{ chacha20_input41, chacha20_output41, chacha20_key41, chacha20_nonce41, sizeof(chacha20_input41) },
{ chacha20_input42, chacha20_output42, chacha20_key42, chacha20_nonce42, sizeof(chacha20_input42) },
{ chacha20_input43, chacha20_output43, chacha20_key43, chacha20_nonce43, sizeof(chacha20_input43) },
{ chacha20_input44, chacha20_output44, chacha20_key44, chacha20_nonce44, sizeof(chacha20_input44) },
{ chacha20_input45, chacha20_output45, chacha20_key45, chacha20_nonce45, sizeof(chacha20_input45) },
{ chacha20_input46, chacha20_output46, chacha20_key46, chacha20_nonce46, sizeof(chacha20_input46) },
{ chacha20_input47, chacha20_output47, chacha20_key47, chacha20_nonce47, sizeof(chacha20_input47) },
{ chacha20_input48, chacha20_output48, chacha20_key48, chacha20_nonce48, sizeof(chacha20_input48) },
{ chacha20_input49, chacha20_output49, chacha20_key49, chacha20_nonce49, sizeof(chacha20_input49) },
{ chacha20_input50, chacha20_output50, chacha20_key50, chacha20_nonce50, sizeof(chacha20_input50) },
{ chacha20_input51, chacha20_output51, chacha20_key51, chacha20_nonce51, sizeof(chacha20_input51) },
{ chacha20_input52, chacha20_output52, chacha20_key52, chacha20_nonce52, sizeof(chacha20_input52) },
{ chacha20_input53, chacha20_output53, chacha20_key53, chacha20_nonce53, sizeof(chacha20_input53) },
{ chacha20_input54, chacha20_output54, chacha20_key54, chacha20_nonce54, sizeof(chacha20_input54) },
{ chacha20_input55, chacha20_output55, chacha20_key55, chacha20_nonce55, sizeof(chacha20_input55) },
{ chacha20_input56, chacha20_output56, chacha20_key56, chacha20_nonce56, sizeof(chacha20_input56) },
{ chacha20_input57, chacha20_output57, chacha20_key57, chacha20_nonce57, sizeof(chacha20_input57) },
{ chacha20_input58, chacha20_output58, chacha20_key58, chacha20_nonce58, sizeof(chacha20_input58) },
{ chacha20_input59, chacha20_output59, chacha20_key59, chacha20_nonce59, sizeof(chacha20_input59) },
{ chacha20_input60, chacha20_output60, chacha20_key60, chacha20_nonce60, sizeof(chacha20_input60) },
{ chacha20_input61, chacha20_output61, chacha20_key61, chacha20_nonce61, sizeof(chacha20_input61) },
{ chacha20_input62, chacha20_output62, chacha20_key62, chacha20_nonce62, sizeof(chacha20_input62) },
{ chacha20_input63, chacha20_output63, chacha20_key63, chacha20_nonce63, sizeof(chacha20_input63) },
{ chacha20_input64, chacha20_output64, chacha20_key64, chacha20_nonce64, sizeof(chacha20_input64) },
{ chacha20_input65, chacha20_output65, chacha20_key65, chacha20_nonce65, sizeof(chacha20_input65) },
{ chacha20_input66, chacha20_output66, chacha20_key66, chacha20_nonce66, sizeof(chacha20_input66) },
{ chacha20_input67, chacha20_output67, chacha20_key67, chacha20_nonce67, sizeof(chacha20_input67) },
{ chacha20_input68, chacha20_output68, chacha20_key68, chacha20_nonce68, sizeof(chacha20_input68) },
{ chacha20_input69, chacha20_output69, chacha20_key69, chacha20_nonce69, sizeof(chacha20_input69) },
{ chacha20_input70, chacha20_output70, chacha20_key70, chacha20_nonce70, sizeof(chacha20_input70) },
{ chacha20_input71, chacha20_output71, chacha20_key71, chacha20_nonce71, sizeof(chacha20_input71) },
{ chacha20_input72, chacha20_output72, chacha20_key72, chacha20_nonce72, sizeof(chacha20_input72) },
{ chacha20_input73, chacha20_output73, chacha20_key73, chacha20_nonce73, sizeof(chacha20_input73) },
{ chacha20_input74, chacha20_output74, chacha20_key74, chacha20_nonce74, sizeof(chacha20_input74) }
};
static const struct hchacha20_testvec hchacha20_testvecs[] = {{
.key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f },
.nonce = { 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4a,
0x00, 0x00, 0x00, 0x00, 0x31, 0x41, 0x59, 0x27 },
.output = { 0x82, 0x41, 0x3b, 0x42, 0x27, 0xb2, 0x7b, 0xfe,
0xd3, 0x0e, 0x42, 0x50, 0x8a, 0x87, 0x7d, 0x73,
0xa0, 0xf9, 0xe4, 0xd5, 0x8a, 0x74, 0xa8, 0x53,
0xc1, 0x2e, 0xc4, 0x13, 0x26, 0xd3, 0xec, 0xdc }
}};
struct poly1305_testvec {
const uint8_t *input, *output, *key;
size_t ilen;
};
/* RFC7539 */
static const uint8_t poly1305_input01[] = {
0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x67, 0x72,
0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x46, 0x6f,
0x72, 0x75, 0x6d, 0x20, 0x52, 0x65, 0x73, 0x65,
0x61, 0x72, 0x63, 0x68, 0x20, 0x47, 0x72, 0x6f,
0x75, 0x70
};
static const uint8_t poly1305_output01[] = {
0xa8, 0x06, 0x1d, 0xc1, 0x30, 0x51, 0x36, 0xc6,
0xc2, 0x2b, 0x8b, 0xaf, 0x0c, 0x01, 0x27, 0xa9
};
static const uint8_t poly1305_key01[] = {
0x85, 0xd6, 0xbe, 0x78, 0x57, 0x55, 0x6d, 0x33,
0x7f, 0x44, 0x52, 0xfe, 0x42, 0xd5, 0x06, 0xa8,
0x01, 0x03, 0x80, 0x8a, 0xfb, 0x0d, 0xb2, 0xfd,
0x4a, 0xbf, 0xf6, 0xaf, 0x41, 0x49, 0xf5, 0x1b
};
/* "The Poly1305-AES message-authentication code" */
static const uint8_t poly1305_input02[] = {
0xf3, 0xf6
};
static const uint8_t poly1305_output02[] = {
0xf4, 0xc6, 0x33, 0xc3, 0x04, 0x4f, 0xc1, 0x45,
0xf8, 0x4f, 0x33, 0x5c, 0xb8, 0x19, 0x53, 0xde
};
static const uint8_t poly1305_key02[] = {
0x85, 0x1f, 0xc4, 0x0c, 0x34, 0x67, 0xac, 0x0b,
0xe0, 0x5c, 0xc2, 0x04, 0x04, 0xf3, 0xf7, 0x00,
0x58, 0x0b, 0x3b, 0x0f, 0x94, 0x47, 0xbb, 0x1e,
0x69, 0xd0, 0x95, 0xb5, 0x92, 0x8b, 0x6d, 0xbc
};
static const uint8_t poly1305_input03[] = { };
static const uint8_t poly1305_output03[] = {
0xdd, 0x3f, 0xab, 0x22, 0x51, 0xf1, 0x1a, 0xc7,
0x59, 0xf0, 0x88, 0x71, 0x29, 0xcc, 0x2e, 0xe7
};
static const uint8_t poly1305_key03[] = {
0xa0, 0xf3, 0x08, 0x00, 0x00, 0xf4, 0x64, 0x00,
0xd0, 0xc7, 0xe9, 0x07, 0x6c, 0x83, 0x44, 0x03,
0xdd, 0x3f, 0xab, 0x22, 0x51, 0xf1, 0x1a, 0xc7,
0x59, 0xf0, 0x88, 0x71, 0x29, 0xcc, 0x2e, 0xe7
};
static const uint8_t poly1305_input04[] = {
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
};
static const uint8_t poly1305_output04[] = {
0x0e, 0xe1, 0xc1, 0x6b, 0xb7, 0x3f, 0x0f, 0x4f,
0xd1, 0x98, 0x81, 0x75, 0x3c, 0x01, 0xcd, 0xbe
};
static const uint8_t poly1305_key04[] = {
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef
};
static const uint8_t poly1305_input05[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9
};
static const uint8_t poly1305_output05[] = {
0x51, 0x54, 0xad, 0x0d, 0x2c, 0xb2, 0x6e, 0x01,
0x27, 0x4f, 0xc5, 0x11, 0x48, 0x49, 0x1f, 0x1b
};
static const uint8_t poly1305_key05[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
/* self-generated vectors exercise "significant" lengths, such that they
* are handled by different code paths */
static const uint8_t poly1305_input06[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf
};
static const uint8_t poly1305_output06[] = {
0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66
};
static const uint8_t poly1305_key06[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input07[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67
};
static const uint8_t poly1305_output07[] = {
0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61
};
static const uint8_t poly1305_key07[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input08[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
};
static const uint8_t poly1305_output08[] = {
0xbb, 0xb6, 0x13, 0xb2, 0xb6, 0xd7, 0x53, 0xba,
0x07, 0x39, 0x5b, 0x91, 0x6a, 0xae, 0xce, 0x15
};
static const uint8_t poly1305_key08[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input09[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24
};
static const uint8_t poly1305_output09[] = {
0xc7, 0x94, 0xd7, 0x05, 0x7d, 0x17, 0x78, 0xc4,
0xbb, 0xee, 0x0a, 0x39, 0xb3, 0xd9, 0x73, 0x42
};
static const uint8_t poly1305_key09[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input10[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
};
static const uint8_t poly1305_output10[] = {
0xff, 0xbc, 0xb9, 0xb3, 0x71, 0x42, 0x31, 0x52,
0xd7, 0xfc, 0xa5, 0xad, 0x04, 0x2f, 0xba, 0xa9
};
static const uint8_t poly1305_key10[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input11[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66
};
static const uint8_t poly1305_output11[] = {
0x06, 0x9e, 0xd6, 0xb8, 0xef, 0x0f, 0x20, 0x7b,
0x3e, 0x24, 0x3b, 0xb1, 0x01, 0x9f, 0xe6, 0x32
};
static const uint8_t poly1305_key11[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input12[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61
};
static const uint8_t poly1305_output12[] = {
0xcc, 0xa3, 0x39, 0xd9, 0xa4, 0x5f, 0xa2, 0x36,
0x8c, 0x2c, 0x68, 0xb3, 0xa4, 0x17, 0x91, 0x33
};
static const uint8_t poly1305_key12[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input13[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61,
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
};
static const uint8_t poly1305_output13[] = {
0x53, 0xf6, 0xe8, 0x28, 0xa2, 0xf0, 0xfe, 0x0e,
0xe8, 0x15, 0xbf, 0x0b, 0xd5, 0x84, 0x1a, 0x34
};
static const uint8_t poly1305_key13[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
static const uint8_t poly1305_input14[] = {
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61,
0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61
};
static const uint8_t poly1305_output14[] = {
0xb8, 0x46, 0xd4, 0x4e, 0x9b, 0xbd, 0x53, 0xce,
0xdf, 0xfb, 0xfb, 0xb6, 0xb7, 0xfa, 0x49, 0x33
};
static const uint8_t poly1305_key14[] = {
0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
};
/* 4th power of the poly1305_key spills to 131th bit in SIMD poly1305_key setup */
static const uint8_t poly1305_input15[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t poly1305_output15[] = {
0x07, 0x14, 0x5a, 0x4c, 0x02, 0xfe, 0x5f, 0xa3,
0x20, 0x36, 0xde, 0x68, 0xfa, 0xbe, 0x90, 0x66
};
static const uint8_t poly1305_key15[] = {
0xad, 0x62, 0x81, 0x07, 0xe8, 0x35, 0x1d, 0x0f,
0x2c, 0x23, 0x1a, 0x05, 0xdc, 0x4a, 0x41, 0x06,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* OpenSSL's poly1305_ieee754.c failed this in final stage */
static const uint8_t poly1305_input16[] = {
0x84, 0x23, 0x64, 0xe1, 0x56, 0x33, 0x6c, 0x09,
0x98, 0xb9, 0x33, 0xa6, 0x23, 0x77, 0x26, 0x18,
0x0d, 0x9e, 0x3f, 0xdc, 0xbd, 0xe4, 0xcd, 0x5d,
0x17, 0x08, 0x0f, 0xc3, 0xbe, 0xb4, 0x96, 0x14,
0xd7, 0x12, 0x2c, 0x03, 0x74, 0x63, 0xff, 0x10,
0x4d, 0x73, 0xf1, 0x9c, 0x12, 0x70, 0x46, 0x28,
0xd4, 0x17, 0xc4, 0xc5, 0x4a, 0x3f, 0xe3, 0x0d,
0x3c, 0x3d, 0x77, 0x14, 0x38, 0x2d, 0x43, 0xb0,
0x38, 0x2a, 0x50, 0xa5, 0xde, 0xe5, 0x4b, 0xe8,
0x44, 0xb0, 0x76, 0xe8, 0xdf, 0x88, 0x20, 0x1a,
0x1c, 0xd4, 0x3b, 0x90, 0xeb, 0x21, 0x64, 0x3f,
0xa9, 0x6f, 0x39, 0xb5, 0x18, 0xaa, 0x83, 0x40,
0xc9, 0x42, 0xff, 0x3c, 0x31, 0xba, 0xf7, 0xc9,
0xbd, 0xbf, 0x0f, 0x31, 0xae, 0x3f, 0xa0, 0x96,
0xbf, 0x8c, 0x63, 0x03, 0x06, 0x09, 0x82, 0x9f,
0xe7, 0x2e, 0x17, 0x98, 0x24, 0x89, 0x0b, 0xc8,
0xe0, 0x8c, 0x31, 0x5c, 0x1c, 0xce, 0x2a, 0x83,
0x14, 0x4d, 0xbb, 0xff, 0x09, 0xf7, 0x4e, 0x3e,
0xfc, 0x77, 0x0b, 0x54, 0xd0, 0x98, 0x4a, 0x8f,
0x19, 0xb1, 0x47, 0x19, 0xe6, 0x36, 0x35, 0x64,
0x1d, 0x6b, 0x1e, 0xed, 0xf6, 0x3e, 0xfb, 0xf0,
0x80, 0xe1, 0x78, 0x3d, 0x32, 0x44, 0x54, 0x12,
0x11, 0x4c, 0x20, 0xde, 0x0b, 0x83, 0x7a, 0x0d,
0xfa, 0x33, 0xd6, 0xb8, 0x28, 0x25, 0xff, 0xf4,
0x4c, 0x9a, 0x70, 0xea, 0x54, 0xce, 0x47, 0xf0,
0x7d, 0xf6, 0x98, 0xe6, 0xb0, 0x33, 0x23, 0xb5,
0x30, 0x79, 0x36, 0x4a, 0x5f, 0xc3, 0xe9, 0xdd,
0x03, 0x43, 0x92, 0xbd, 0xde, 0x86, 0xdc, 0xcd,
0xda, 0x94, 0x32, 0x1c, 0x5e, 0x44, 0x06, 0x04,
0x89, 0x33, 0x6c, 0xb6, 0x5b, 0xf3, 0x98, 0x9c,
0x36, 0xf7, 0x28, 0x2c, 0x2f, 0x5d, 0x2b, 0x88,
0x2c, 0x17, 0x1e, 0x74
};
static const uint8_t poly1305_output16[] = {
0xf2, 0x48, 0x31, 0x2e, 0x57, 0x8d, 0x9d, 0x58,
0xf8, 0xb7, 0xbb, 0x4d, 0x19, 0x10, 0x54, 0x31
};
static const uint8_t poly1305_key16[] = {
0x95, 0xd5, 0xc0, 0x05, 0x50, 0x3e, 0x51, 0x0d,
0x8c, 0xd0, 0xaa, 0x07, 0x2c, 0x4a, 0x4d, 0x06,
0x6e, 0xab, 0xc5, 0x2d, 0x11, 0x65, 0x3d, 0xf4,
0x7f, 0xbf, 0x63, 0xab, 0x19, 0x8b, 0xcc, 0x26
};
/* AVX2 in OpenSSL's poly1305-x86.pl failed this with 176+32 split */
static const uint8_t poly1305_input17[] = {
0x24, 0x8a, 0xc3, 0x10, 0x85, 0xb6, 0xc2, 0xad,
0xaa, 0xa3, 0x82, 0x59, 0xa0, 0xd7, 0x19, 0x2c,
0x5c, 0x35, 0xd1, 0xbb, 0x4e, 0xf3, 0x9a, 0xd9,
0x4c, 0x38, 0xd1, 0xc8, 0x24, 0x79, 0xe2, 0xdd,
0x21, 0x59, 0xa0, 0x77, 0x02, 0x4b, 0x05, 0x89,
0xbc, 0x8a, 0x20, 0x10, 0x1b, 0x50, 0x6f, 0x0a,
0x1a, 0xd0, 0xbb, 0xab, 0x76, 0xe8, 0x3a, 0x83,
0xf1, 0xb9, 0x4b, 0xe6, 0xbe, 0xae, 0x74, 0xe8,
0x74, 0xca, 0xb6, 0x92, 0xc5, 0x96, 0x3a, 0x75,
0x43, 0x6b, 0x77, 0x61, 0x21, 0xec, 0x9f, 0x62,
0x39, 0x9a, 0x3e, 0x66, 0xb2, 0xd2, 0x27, 0x07,
0xda, 0xe8, 0x19, 0x33, 0xb6, 0x27, 0x7f, 0x3c,
0x85, 0x16, 0xbc, 0xbe, 0x26, 0xdb, 0xbd, 0x86,
0xf3, 0x73, 0x10, 0x3d, 0x7c, 0xf4, 0xca, 0xd1,
0x88, 0x8c, 0x95, 0x21, 0x18, 0xfb, 0xfb, 0xd0,
0xd7, 0xb4, 0xbe, 0xdc, 0x4a, 0xe4, 0x93, 0x6a,
0xff, 0x91, 0x15, 0x7e, 0x7a, 0xa4, 0x7c, 0x54,
0x44, 0x2e, 0xa7, 0x8d, 0x6a, 0xc2, 0x51, 0xd3,
0x24, 0xa0, 0xfb, 0xe4, 0x9d, 0x89, 0xcc, 0x35,
0x21, 0xb6, 0x6d, 0x16, 0xe9, 0xc6, 0x6a, 0x37,
0x09, 0x89, 0x4e, 0x4e, 0xb0, 0xa4, 0xee, 0xdc,
0x4a, 0xe1, 0x94, 0x68, 0xe6, 0x6b, 0x81, 0xf2,
0x71, 0x35, 0x1b, 0x1d, 0x92, 0x1e, 0xa5, 0x51,
0x04, 0x7a, 0xbc, 0xc6, 0xb8, 0x7a, 0x90, 0x1f,
0xde, 0x7d, 0xb7, 0x9f, 0xa1, 0x81, 0x8c, 0x11,
0x33, 0x6d, 0xbc, 0x07, 0x24, 0x4a, 0x40, 0xeb
};
static const uint8_t poly1305_output17[] = {
0xbc, 0x93, 0x9b, 0xc5, 0x28, 0x14, 0x80, 0xfa,
0x99, 0xc6, 0xd6, 0x8c, 0x25, 0x8e, 0xc4, 0x2f
};
static const uint8_t poly1305_key17[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* test vectors from Google */
static const uint8_t poly1305_input18[] = { };
static const uint8_t poly1305_output18[] = {
0x47, 0x10, 0x13, 0x0e, 0x9f, 0x6f, 0xea, 0x8d,
0x72, 0x29, 0x38, 0x50, 0xa6, 0x67, 0xd8, 0x6c
};
static const uint8_t poly1305_key18[] = {
0xc8, 0xaf, 0xaa, 0xc3, 0x31, 0xee, 0x37, 0x2c,
0xd6, 0x08, 0x2d, 0xe1, 0x34, 0x94, 0x3b, 0x17,
0x47, 0x10, 0x13, 0x0e, 0x9f, 0x6f, 0xea, 0x8d,
0x72, 0x29, 0x38, 0x50, 0xa6, 0x67, 0xd8, 0x6c
};
static const uint8_t poly1305_input19[] = {
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f,
0x72, 0x6c, 0x64, 0x21
};
static const uint8_t poly1305_output19[] = {
0xa6, 0xf7, 0x45, 0x00, 0x8f, 0x81, 0xc9, 0x16,
0xa2, 0x0d, 0xcc, 0x74, 0xee, 0xf2, 0xb2, 0xf0
};
static const uint8_t poly1305_key19[] = {
0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20,
0x33, 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20,
0x6b, 0x65, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20,
0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35
};
static const uint8_t poly1305_input20[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_output20[] = {
0x49, 0xec, 0x78, 0x09, 0x0e, 0x48, 0x1e, 0xc6,
0xc2, 0x6b, 0x33, 0xb9, 0x1c, 0xcc, 0x03, 0x07
};
static const uint8_t poly1305_key20[] = {
0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20,
0x33, 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20,
0x6b, 0x65, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20,
0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35
};
static const uint8_t poly1305_input21[] = {
0x89, 0xda, 0xb8, 0x0b, 0x77, 0x17, 0xc1, 0xdb,
0x5d, 0xb4, 0x37, 0x86, 0x0a, 0x3f, 0x70, 0x21,
0x8e, 0x93, 0xe1, 0xb8, 0xf4, 0x61, 0xfb, 0x67,
0x7f, 0x16, 0xf3, 0x5f, 0x6f, 0x87, 0xe2, 0xa9,
0x1c, 0x99, 0xbc, 0x3a, 0x47, 0xac, 0xe4, 0x76,
0x40, 0xcc, 0x95, 0xc3, 0x45, 0xbe, 0x5e, 0xcc,
0xa5, 0xa3, 0x52, 0x3c, 0x35, 0xcc, 0x01, 0x89,
0x3a, 0xf0, 0xb6, 0x4a, 0x62, 0x03, 0x34, 0x27,
0x03, 0x72, 0xec, 0x12, 0x48, 0x2d, 0x1b, 0x1e,
0x36, 0x35, 0x61, 0x69, 0x8a, 0x57, 0x8b, 0x35,
0x98, 0x03, 0x49, 0x5b, 0xb4, 0xe2, 0xef, 0x19,
0x30, 0xb1, 0x7a, 0x51, 0x90, 0xb5, 0x80, 0xf1,
0x41, 0x30, 0x0d, 0xf3, 0x0a, 0xdb, 0xec, 0xa2,
0x8f, 0x64, 0x27, 0xa8, 0xbc, 0x1a, 0x99, 0x9f,
0xd5, 0x1c, 0x55, 0x4a, 0x01, 0x7d, 0x09, 0x5d,
0x8c, 0x3e, 0x31, 0x27, 0xda, 0xf9, 0xf5, 0x95
};
static const uint8_t poly1305_output21[] = {
0xc8, 0x5d, 0x15, 0xed, 0x44, 0xc3, 0x78, 0xd6,
0xb0, 0x0e, 0x23, 0x06, 0x4c, 0x7b, 0xcd, 0x51
};
static const uint8_t poly1305_key21[] = {
0x2d, 0x77, 0x3b, 0xe3, 0x7a, 0xdb, 0x1e, 0x4d,
0x68, 0x3b, 0xf0, 0x07, 0x5e, 0x79, 0xc4, 0xee,
0x03, 0x79, 0x18, 0x53, 0x5a, 0x7f, 0x99, 0xcc,
0xb7, 0x04, 0x0f, 0xb5, 0xf5, 0xf4, 0x3a, 0xea
};
static const uint8_t poly1305_input22[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
0x17, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00,
0x06, 0xdb, 0x1f, 0x1f, 0x36, 0x8d, 0x69, 0x6a,
0x81, 0x0a, 0x34, 0x9c, 0x0c, 0x71, 0x4c, 0x9a,
0x5e, 0x78, 0x50, 0xc2, 0x40, 0x7d, 0x72, 0x1a,
0xcd, 0xed, 0x95, 0xe0, 0x18, 0xd7, 0xa8, 0x52,
0x66, 0xa6, 0xe1, 0x28, 0x9c, 0xdb, 0x4a, 0xeb,
0x18, 0xda, 0x5a, 0xc8, 0xa2, 0xb0, 0x02, 0x6d,
0x24, 0xa5, 0x9a, 0xd4, 0x85, 0x22, 0x7f, 0x3e,
0xae, 0xdb, 0xb2, 0xe7, 0xe3, 0x5e, 0x1c, 0x66,
0xcd, 0x60, 0xf9, 0xab, 0xf7, 0x16, 0xdc, 0xc9,
0xac, 0x42, 0x68, 0x2d, 0xd7, 0xda, 0xb2, 0x87,
0xa7, 0x02, 0x4c, 0x4e, 0xef, 0xc3, 0x21, 0xcc,
0x05, 0x74, 0xe1, 0x67, 0x93, 0xe3, 0x7c, 0xec,
0x03, 0xc5, 0xbd, 0xa4, 0x2b, 0x54, 0xc1, 0x14,
0xa8, 0x0b, 0x57, 0xaf, 0x26, 0x41, 0x6c, 0x7b,
0xe7, 0x42, 0x00, 0x5e, 0x20, 0x85, 0x5c, 0x73,
0xe2, 0x1d, 0xc8, 0xe2, 0xed, 0xc9, 0xd4, 0x35,
0xcb, 0x6f, 0x60, 0x59, 0x28, 0x00, 0x11, 0xc2,
0x70, 0xb7, 0x15, 0x70, 0x05, 0x1c, 0x1c, 0x9b,
0x30, 0x52, 0x12, 0x66, 0x20, 0xbc, 0x1e, 0x27,
0x30, 0xfa, 0x06, 0x6c, 0x7a, 0x50, 0x9d, 0x53,
0xc6, 0x0e, 0x5a, 0xe1, 0xb4, 0x0a, 0xa6, 0xe3,
0x9e, 0x49, 0x66, 0x92, 0x28, 0xc9, 0x0e, 0xec,
0xb4, 0xa5, 0x0d, 0xb3, 0x2a, 0x50, 0xbc, 0x49,
0xe9, 0x0b, 0x4f, 0x4b, 0x35, 0x9a, 0x1d, 0xfd,
0x11, 0x74, 0x9c, 0xd3, 0x86, 0x7f, 0xcf, 0x2f,
0xb7, 0xbb, 0x6c, 0xd4, 0x73, 0x8f, 0x6a, 0x4a,
0xd6, 0xf7, 0xca, 0x50, 0x58, 0xf7, 0x61, 0x88,
0x45, 0xaf, 0x9f, 0x02, 0x0f, 0x6c, 0x3b, 0x96,
0x7b, 0x8f, 0x4c, 0xd4, 0xa9, 0x1e, 0x28, 0x13,
0xb5, 0x07, 0xae, 0x66, 0xf2, 0xd3, 0x5c, 0x18,
0x28, 0x4f, 0x72, 0x92, 0x18, 0x60, 0x62, 0xe1,
0x0f, 0xd5, 0x51, 0x0d, 0x18, 0x77, 0x53, 0x51,
0xef, 0x33, 0x4e, 0x76, 0x34, 0xab, 0x47, 0x43,
0xf5, 0xb6, 0x8f, 0x49, 0xad, 0xca, 0xb3, 0x84,
0xd3, 0xfd, 0x75, 0xf7, 0x39, 0x0f, 0x40, 0x06,
0xef, 0x2a, 0x29, 0x5c, 0x8c, 0x7a, 0x07, 0x6a,
0xd5, 0x45, 0x46, 0xcd, 0x25, 0xd2, 0x10, 0x7f,
0xbe, 0x14, 0x36, 0xc8, 0x40, 0x92, 0x4a, 0xae,
0xbe, 0x5b, 0x37, 0x08, 0x93, 0xcd, 0x63, 0xd1,
0x32, 0x5b, 0x86, 0x16, 0xfc, 0x48, 0x10, 0x88,
0x6b, 0xc1, 0x52, 0xc5, 0x32, 0x21, 0xb6, 0xdf,
0x37, 0x31, 0x19, 0x39, 0x32, 0x55, 0xee, 0x72,
0xbc, 0xaa, 0x88, 0x01, 0x74, 0xf1, 0x71, 0x7f,
0x91, 0x84, 0xfa, 0x91, 0x64, 0x6f, 0x17, 0xa2,
0x4a, 0xc5, 0x5d, 0x16, 0xbf, 0xdd, 0xca, 0x95,
0x81, 0xa9, 0x2e, 0xda, 0x47, 0x92, 0x01, 0xf0,
0xed, 0xbf, 0x63, 0x36, 0x00, 0xd6, 0x06, 0x6d,
0x1a, 0xb3, 0x6d, 0x5d, 0x24, 0x15, 0xd7, 0x13,
0x51, 0xbb, 0xcd, 0x60, 0x8a, 0x25, 0x10, 0x8d,
0x25, 0x64, 0x19, 0x92, 0xc1, 0xf2, 0x6c, 0x53,
0x1c, 0xf9, 0xf9, 0x02, 0x03, 0xbc, 0x4c, 0xc1,
0x9f, 0x59, 0x27, 0xd8, 0x34, 0xb0, 0xa4, 0x71,
0x16, 0xd3, 0x88, 0x4b, 0xbb, 0x16, 0x4b, 0x8e,
0xc8, 0x83, 0xd1, 0xac, 0x83, 0x2e, 0x56, 0xb3,
0x91, 0x8a, 0x98, 0x60, 0x1a, 0x08, 0xd1, 0x71,
0x88, 0x15, 0x41, 0xd5, 0x94, 0xdb, 0x39, 0x9c,
0x6a, 0xe6, 0x15, 0x12, 0x21, 0x74, 0x5a, 0xec,
0x81, 0x4c, 0x45, 0xb0, 0xb0, 0x5b, 0x56, 0x54,
0x36, 0xfd, 0x6f, 0x13, 0x7a, 0xa1, 0x0a, 0x0c,
0x0b, 0x64, 0x37, 0x61, 0xdb, 0xd6, 0xf9, 0xa9,
0xdc, 0xb9, 0x9b, 0x1a, 0x6e, 0x69, 0x08, 0x54,
0xce, 0x07, 0x69, 0xcd, 0xe3, 0x97, 0x61, 0xd8,
0x2f, 0xcd, 0xec, 0x15, 0xf0, 0xd9, 0x2d, 0x7d,
0x8e, 0x94, 0xad, 0xe8, 0xeb, 0x83, 0xfb, 0xe0
};
static const uint8_t poly1305_output22[] = {
0x26, 0x37, 0x40, 0x8f, 0xe1, 0x30, 0x86, 0xea,
0x73, 0xf9, 0x71, 0xe3, 0x42, 0x5e, 0x28, 0x20
};
static const uint8_t poly1305_key22[] = {
0x99, 0xe5, 0x82, 0x2d, 0xd4, 0x17, 0x3c, 0x99,
0x5e, 0x3d, 0xae, 0x0d, 0xde, 0xfb, 0x97, 0x74,
0x3f, 0xde, 0x3b, 0x08, 0x01, 0x34, 0xb3, 0x9f,
0x76, 0xe9, 0xbf, 0x8d, 0x0e, 0x88, 0xd5, 0x46
};
/* test vectors from Hanno Böck */
static const uint8_t poly1305_input23[] = {
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0x80, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc5,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe3, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xac, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe6,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x00,
0xaf, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
0xcc, 0xcc, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x71, 0x92, 0x05, 0xa8, 0x52, 0x1d,
0xfc
};
static const uint8_t poly1305_output23[] = {
0x85, 0x59, 0xb8, 0x76, 0xec, 0xee, 0xd6, 0x6e,
0xb3, 0x77, 0x98, 0xc0, 0x45, 0x7b, 0xaf, 0xf9
};
static const uint8_t poly1305_key23[] = {
0x7f, 0x1b, 0x02, 0x64, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc
};
static const uint8_t poly1305_input24[] = {
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x64
};
static const uint8_t poly1305_output24[] = {
0x00, 0xbd, 0x12, 0x58, 0x97, 0x8e, 0x20, 0x54,
0x44, 0xc9, 0xaa, 0xaa, 0x82, 0x00, 0x6f, 0xed
};
static const uint8_t poly1305_key24[] = {
0xe0, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
};
static const uint8_t poly1305_input25[] = {
0x02, 0xfc
};
static const uint8_t poly1305_output25[] = {
0x06, 0x12, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c
};
static const uint8_t poly1305_key25[] = {
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c
};
static const uint8_t poly1305_input26[] = {
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7a, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x5c, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x6e, 0x7b, 0x00, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7a, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x5c,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
0x7b, 0x6e, 0x7b, 0x00, 0x13, 0x00, 0x00, 0x00,
0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x20, 0x00, 0xef, 0xff, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x64, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x20, 0x00, 0xef, 0xff, 0x00, 0x09,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7a, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x09, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc
};
static const uint8_t poly1305_output26[] = {
0x33, 0x20, 0x5b, 0xbf, 0x9e, 0x9f, 0x8f, 0x72,
0x12, 0xab, 0x9e, 0x2a, 0xb9, 0xb7, 0xe4, 0xa5
};
static const uint8_t poly1305_key26[] = {
0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0x7b
};
static const uint8_t poly1305_input27[] = {
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0xff, 0xff, 0xff, 0xe9,
0xe9, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
0xac, 0xac, 0xac, 0xac, 0x00, 0x00, 0xac, 0xac,
0xec, 0x01, 0x00, 0xac, 0xac, 0xac, 0x2c, 0xac,
0xa2, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
0xac, 0xac, 0xac, 0xac, 0x64, 0xf2
};
static const uint8_t poly1305_output27[] = {
0x02, 0xee, 0x7c, 0x8c, 0x54, 0x6d, 0xde, 0xb1,
0xa4, 0x67, 0xe4, 0xc3, 0x98, 0x11, 0x58, 0xb9
};
static const uint8_t poly1305_key27[] = {
0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x7f,
0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xcf, 0x77, 0x77, 0x77, 0x77, 0x77,
0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77
};
/* nacl */
static const uint8_t poly1305_input28[] = {
0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73,
0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce,
0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4,
0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a,
0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b,
0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72,
0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2,
0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38,
0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a,
0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae,
0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea,
0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda,
0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde,
0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3,
0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6,
0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74,
0xe3, 0x55, 0xa5
};
static const uint8_t poly1305_output28[] = {
0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5,
0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9
};
static const uint8_t poly1305_key28[] = {
0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91,
0x6d, 0x11, 0xc2, 0xcb, 0x21, 0x4d, 0x3c, 0x25,
0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23, 0x4e, 0x65,
0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80
};
/* wrap 2^130-5 */
static const uint8_t poly1305_input29[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t poly1305_output29[] = {
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_key29[] = {
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* wrap 2^128 */
static const uint8_t poly1305_input30[] = {
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_output30[] = {
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_key30[] = {
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
/* limb carry */
static const uint8_t poly1305_input31[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_output31[] = {
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_key31[] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* 2^130-5 */
static const uint8_t poly1305_input32[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfb, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
};
static const uint8_t poly1305_output32[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_key32[] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* 2^130-6 */
static const uint8_t poly1305_input33[] = {
0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t poly1305_output33[] = {
0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t poly1305_key33[] = {
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* 5*H+L reduction intermediate */
static const uint8_t poly1305_input34[] = {
0xe3, 0x35, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0xb9,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x33, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0x79, 0xcd,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_output34[] = {
0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_key34[] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
/* 5*H+L reduction final */
static const uint8_t poly1305_input35[] = {
0xe3, 0x35, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0xb9,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x33, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0x79, 0xcd,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_output35[] = {
0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t poly1305_key35[] = {
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const struct poly1305_testvec poly1305_testvecs[] = {
{ poly1305_input01, poly1305_output01, poly1305_key01, sizeof(poly1305_input01) },
{ poly1305_input02, poly1305_output02, poly1305_key02, sizeof(poly1305_input02) },
{ poly1305_input03, poly1305_output03, poly1305_key03, sizeof(poly1305_input03) },
{ poly1305_input04, poly1305_output04, poly1305_key04, sizeof(poly1305_input04) },
{ poly1305_input05, poly1305_output05, poly1305_key05, sizeof(poly1305_input05) },
{ poly1305_input06, poly1305_output06, poly1305_key06, sizeof(poly1305_input06) },
{ poly1305_input07, poly1305_output07, poly1305_key07, sizeof(poly1305_input07) },
{ poly1305_input08, poly1305_output08, poly1305_key08, sizeof(poly1305_input08) },
{ poly1305_input09, poly1305_output09, poly1305_key09, sizeof(poly1305_input09) },
{ poly1305_input10, poly1305_output10, poly1305_key10, sizeof(poly1305_input10) },
{ poly1305_input11, poly1305_output11, poly1305_key11, sizeof(poly1305_input11) },
{ poly1305_input12, poly1305_output12, poly1305_key12, sizeof(poly1305_input12) },
{ poly1305_input13, poly1305_output13, poly1305_key13, sizeof(poly1305_input13) },
{ poly1305_input14, poly1305_output14, poly1305_key14, sizeof(poly1305_input14) },
{ poly1305_input15, poly1305_output15, poly1305_key15, sizeof(poly1305_input15) },
{ poly1305_input16, poly1305_output16, poly1305_key16, sizeof(poly1305_input16) },
{ poly1305_input17, poly1305_output17, poly1305_key17, sizeof(poly1305_input17) },
{ poly1305_input18, poly1305_output18, poly1305_key18, sizeof(poly1305_input18) },
{ poly1305_input19, poly1305_output19, poly1305_key19, sizeof(poly1305_input19) },
{ poly1305_input20, poly1305_output20, poly1305_key20, sizeof(poly1305_input20) },
{ poly1305_input21, poly1305_output21, poly1305_key21, sizeof(poly1305_input21) },
{ poly1305_input22, poly1305_output22, poly1305_key22, sizeof(poly1305_input22) },
{ poly1305_input23, poly1305_output23, poly1305_key23, sizeof(poly1305_input23) },
{ poly1305_input24, poly1305_output24, poly1305_key24, sizeof(poly1305_input24) },
{ poly1305_input25, poly1305_output25, poly1305_key25, sizeof(poly1305_input25) },
{ poly1305_input26, poly1305_output26, poly1305_key26, sizeof(poly1305_input26) },
{ poly1305_input27, poly1305_output27, poly1305_key27, sizeof(poly1305_input27) },
{ poly1305_input28, poly1305_output28, poly1305_key28, sizeof(poly1305_input28) },
{ poly1305_input29, poly1305_output29, poly1305_key29, sizeof(poly1305_input29) },
{ poly1305_input30, poly1305_output30, poly1305_key30, sizeof(poly1305_input30) },
{ poly1305_input31, poly1305_output31, poly1305_key31, sizeof(poly1305_input31) },
{ poly1305_input32, poly1305_output32, poly1305_key32, sizeof(poly1305_input32) },
{ poly1305_input33, poly1305_output33, poly1305_key33, sizeof(poly1305_input33) },
{ poly1305_input34, poly1305_output34, poly1305_key34, sizeof(poly1305_input34) },
{ poly1305_input35, poly1305_output35, poly1305_key35, sizeof(poly1305_input35) }
};
struct chacha20poly1305_testvec {
const uint8_t *input, *output, *assoc, *nonce, *key;
size_t ilen, alen, nlen;
bool failure;
};
/* The first of these are the ChaCha20-Poly1305 AEAD test vectors from RFC7539
* 2.8.2. After they are generated by reference implementations. And the final
* marked ones are taken from wycheproof, but we only do these for the encrypt
* side, because mostly we're stressing the primitives rather than the actual
* chapoly construction. This also requires adding a 96-bit nonce construction,
* just for the purpose of the tests.
*/
static const uint8_t chacha20poly1305_enc_input001[] = {
0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,
0x2d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x73, 0x20,
0x61, 0x72, 0x65, 0x20, 0x64, 0x72, 0x61, 0x66,
0x74, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20,
0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
0x6f, 0x66, 0x20, 0x73, 0x69, 0x78, 0x20, 0x6d,
0x6f, 0x6e, 0x74, 0x68, 0x73, 0x20, 0x61, 0x6e,
0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65,
0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x2c, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,
0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6f,
0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x20, 0x62, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x61, 0x74, 0x20, 0x61,
0x6e, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69,
0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72,
0x69, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20,
0x75, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x2d, 0x44, 0x72, 0x61,
0x66, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
0x6c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x20,
0x63, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65,
0x6d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x20,
0x2f, 0xe2, 0x80, 0x9c, 0x77, 0x6f, 0x72, 0x6b,
0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x67,
0x72, 0x65, 0x73, 0x73, 0x2e, 0x2f, 0xe2, 0x80,
0x9d
};
static const uint8_t chacha20poly1305_enc_output001[] = {
0x64, 0xa0, 0x86, 0x15, 0x75, 0x86, 0x1a, 0xf4,
0x60, 0xf0, 0x62, 0xc7, 0x9b, 0xe6, 0x43, 0xbd,
0x5e, 0x80, 0x5c, 0xfd, 0x34, 0x5c, 0xf3, 0x89,
0xf1, 0x08, 0x67, 0x0a, 0xc7, 0x6c, 0x8c, 0xb2,
0x4c, 0x6c, 0xfc, 0x18, 0x75, 0x5d, 0x43, 0xee,
0xa0, 0x9e, 0xe9, 0x4e, 0x38, 0x2d, 0x26, 0xb0,
0xbd, 0xb7, 0xb7, 0x3c, 0x32, 0x1b, 0x01, 0x00,
0xd4, 0xf0, 0x3b, 0x7f, 0x35, 0x58, 0x94, 0xcf,
0x33, 0x2f, 0x83, 0x0e, 0x71, 0x0b, 0x97, 0xce,
0x98, 0xc8, 0xa8, 0x4a, 0xbd, 0x0b, 0x94, 0x81,
0x14, 0xad, 0x17, 0x6e, 0x00, 0x8d, 0x33, 0xbd,
0x60, 0xf9, 0x82, 0xb1, 0xff, 0x37, 0xc8, 0x55,
0x97, 0x97, 0xa0, 0x6e, 0xf4, 0xf0, 0xef, 0x61,
0xc1, 0x86, 0x32, 0x4e, 0x2b, 0x35, 0x06, 0x38,
0x36, 0x06, 0x90, 0x7b, 0x6a, 0x7c, 0x02, 0xb0,
0xf9, 0xf6, 0x15, 0x7b, 0x53, 0xc8, 0x67, 0xe4,
0xb9, 0x16, 0x6c, 0x76, 0x7b, 0x80, 0x4d, 0x46,
0xa5, 0x9b, 0x52, 0x16, 0xcd, 0xe7, 0xa4, 0xe9,
0x90, 0x40, 0xc5, 0xa4, 0x04, 0x33, 0x22, 0x5e,
0xe2, 0x82, 0xa1, 0xb0, 0xa0, 0x6c, 0x52, 0x3e,
0xaf, 0x45, 0x34, 0xd7, 0xf8, 0x3f, 0xa1, 0x15,
0x5b, 0x00, 0x47, 0x71, 0x8c, 0xbc, 0x54, 0x6a,
0x0d, 0x07, 0x2b, 0x04, 0xb3, 0x56, 0x4e, 0xea,
0x1b, 0x42, 0x22, 0x73, 0xf5, 0x48, 0x27, 0x1a,
0x0b, 0xb2, 0x31, 0x60, 0x53, 0xfa, 0x76, 0x99,
0x19, 0x55, 0xeb, 0xd6, 0x31, 0x59, 0x43, 0x4e,
0xce, 0xbb, 0x4e, 0x46, 0x6d, 0xae, 0x5a, 0x10,
0x73, 0xa6, 0x72, 0x76, 0x27, 0x09, 0x7a, 0x10,
0x49, 0xe6, 0x17, 0xd9, 0x1d, 0x36, 0x10, 0x94,
0xfa, 0x68, 0xf0, 0xff, 0x77, 0x98, 0x71, 0x30,
0x30, 0x5b, 0xea, 0xba, 0x2e, 0xda, 0x04, 0xdf,
0x99, 0x7b, 0x71, 0x4d, 0x6c, 0x6f, 0x2c, 0x29,
0xa6, 0xad, 0x5c, 0xb4, 0x02, 0x2b, 0x02, 0x70,
0x9b, 0xee, 0xad, 0x9d, 0x67, 0x89, 0x0c, 0xbb,
0x22, 0x39, 0x23, 0x36, 0xfe, 0xa1, 0x85, 0x1f,
0x38
};
static const uint8_t chacha20poly1305_enc_assoc001[] = {
0xf3, 0x33, 0x88, 0x86, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4e, 0x91
};
static const uint8_t chacha20poly1305_enc_nonce001[] = {
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
};
static const uint8_t chacha20poly1305_enc_key001[] = {
0x1c, 0x92, 0x40, 0xa5, 0xeb, 0x55, 0xd3, 0x8a,
0xf3, 0x33, 0x88, 0x86, 0x04, 0xf6, 0xb5, 0xf0,
0x47, 0x39, 0x17, 0xc1, 0x40, 0x2b, 0x80, 0x09,
0x9d, 0xca, 0x5c, 0xbc, 0x20, 0x70, 0x75, 0xc0
};
static const uint8_t chacha20poly1305_enc_input002[] = { };
static const uint8_t chacha20poly1305_enc_output002[] = {
0xea, 0xe0, 0x1e, 0x9e, 0x2c, 0x91, 0xaa, 0xe1,
0xdb, 0x5d, 0x99, 0x3f, 0x8a, 0xf7, 0x69, 0x92
};
static const uint8_t chacha20poly1305_enc_assoc002[] = { };
static const uint8_t chacha20poly1305_enc_nonce002[] = {
0xca, 0xbf, 0x33, 0x71, 0x32, 0x45, 0x77, 0x8e
};
static const uint8_t chacha20poly1305_enc_key002[] = {
0x4c, 0xf5, 0x96, 0x83, 0x38, 0xe6, 0xae, 0x7f,
0x2d, 0x29, 0x25, 0x76, 0xd5, 0x75, 0x27, 0x86,
0x91, 0x9a, 0x27, 0x7a, 0xfb, 0x46, 0xc5, 0xef,
0x94, 0x81, 0x79, 0x57, 0x14, 0x59, 0x40, 0x68
};
static const uint8_t chacha20poly1305_enc_input003[] = { };
static const uint8_t chacha20poly1305_enc_output003[] = {
0xdd, 0x6b, 0x3b, 0x82, 0xce, 0x5a, 0xbd, 0xd6,
0xa9, 0x35, 0x83, 0xd8, 0x8c, 0x3d, 0x85, 0x77
};
static const uint8_t chacha20poly1305_enc_assoc003[] = {
0x33, 0x10, 0x41, 0x12, 0x1f, 0xf3, 0xd2, 0x6b
};
static const uint8_t chacha20poly1305_enc_nonce003[] = {
0x3d, 0x86, 0xb5, 0x6b, 0xc8, 0xa3, 0x1f, 0x1d
};
static const uint8_t chacha20poly1305_enc_key003[] = {
0x2d, 0xb0, 0x5d, 0x40, 0xc8, 0xed, 0x44, 0x88,
0x34, 0xd1, 0x13, 0xaf, 0x57, 0xa1, 0xeb, 0x3a,
0x2a, 0x80, 0x51, 0x36, 0xec, 0x5b, 0xbc, 0x08,
0x93, 0x84, 0x21, 0xb5, 0x13, 0x88, 0x3c, 0x0d
};
static const uint8_t chacha20poly1305_enc_input004[] = {
0xa4
};
static const uint8_t chacha20poly1305_enc_output004[] = {
0xb7, 0x1b, 0xb0, 0x73, 0x59, 0xb0, 0x84, 0xb2,
0x6d, 0x8e, 0xab, 0x94, 0x31, 0xa1, 0xae, 0xac,
0x89
};
static const uint8_t chacha20poly1305_enc_assoc004[] = {
0x6a, 0xe2, 0xad, 0x3f, 0x88, 0x39, 0x5a, 0x40
};
static const uint8_t chacha20poly1305_enc_nonce004[] = {
0xd2, 0x32, 0x1f, 0x29, 0x28, 0xc6, 0xc4, 0xc4
};
static const uint8_t chacha20poly1305_enc_key004[] = {
0x4b, 0x28, 0x4b, 0xa3, 0x7b, 0xbe, 0xe9, 0xf8,
0x31, 0x80, 0x82, 0xd7, 0xd8, 0xe8, 0xb5, 0xa1,
0xe2, 0x18, 0x18, 0x8a, 0x9c, 0xfa, 0xa3, 0x3d,
0x25, 0x71, 0x3e, 0x40, 0xbc, 0x54, 0x7a, 0x3e
};
static const uint8_t chacha20poly1305_enc_input005[] = {
0x2d
};
static const uint8_t chacha20poly1305_enc_output005[] = {
0xbf, 0xe1, 0x5b, 0x0b, 0xdb, 0x6b, 0xf5, 0x5e,
0x6c, 0x5d, 0x84, 0x44, 0x39, 0x81, 0xc1, 0x9c,
0xac
};
static const uint8_t chacha20poly1305_enc_assoc005[] = { };
static const uint8_t chacha20poly1305_enc_nonce005[] = {
0x20, 0x1c, 0xaa, 0x5f, 0x9c, 0xbf, 0x92, 0x30
};
static const uint8_t chacha20poly1305_enc_key005[] = {
0x66, 0xca, 0x9c, 0x23, 0x2a, 0x4b, 0x4b, 0x31,
0x0e, 0x92, 0x89, 0x8b, 0xf4, 0x93, 0xc7, 0x87,
0x98, 0xa3, 0xd8, 0x39, 0xf8, 0xf4, 0xa7, 0x01,
0xc0, 0x2e, 0x0a, 0xa6, 0x7e, 0x5a, 0x78, 0x87
};
static const uint8_t chacha20poly1305_enc_input006[] = {
0x33, 0x2f, 0x94, 0xc1, 0xa4, 0xef, 0xcc, 0x2a,
0x5b, 0xa6, 0xe5, 0x8f, 0x1d, 0x40, 0xf0, 0x92,
0x3c, 0xd9, 0x24, 0x11, 0xa9, 0x71, 0xf9, 0x37,
0x14, 0x99, 0xfa, 0xbe, 0xe6, 0x80, 0xde, 0x50,
0xc9, 0x96, 0xd4, 0xb0, 0xec, 0x9e, 0x17, 0xec,
0xd2, 0x5e, 0x72, 0x99, 0xfc, 0x0a, 0xe1, 0xcb,
0x48, 0xd2, 0x85, 0xdd, 0x2f, 0x90, 0xe0, 0x66,
0x3b, 0xe6, 0x20, 0x74, 0xbe, 0x23, 0x8f, 0xcb,
0xb4, 0xe4, 0xda, 0x48, 0x40, 0xa6, 0xd1, 0x1b,
0xc7, 0x42, 0xce, 0x2f, 0x0c, 0xa6, 0x85, 0x6e,
0x87, 0x37, 0x03, 0xb1, 0x7c, 0x25, 0x96, 0xa3,
0x05, 0xd8, 0xb0, 0xf4, 0xed, 0xea, 0xc2, 0xf0,
0x31, 0x98, 0x6c, 0xd1, 0x14, 0x25, 0xc0, 0xcb,
0x01, 0x74, 0xd0, 0x82, 0xf4, 0x36, 0xf5, 0x41,
0xd5, 0xdc, 0xca, 0xc5, 0xbb, 0x98, 0xfe, 0xfc,
0x69, 0x21, 0x70, 0xd8, 0xa4, 0x4b, 0xc8, 0xde,
0x8f
};
static const uint8_t chacha20poly1305_enc_output006[] = {
0x8b, 0x06, 0xd3, 0x31, 0xb0, 0x93, 0x45, 0xb1,
0x75, 0x6e, 0x26, 0xf9, 0x67, 0xbc, 0x90, 0x15,
0x81, 0x2c, 0xb5, 0xf0, 0xc6, 0x2b, 0xc7, 0x8c,
0x56, 0xd1, 0xbf, 0x69, 0x6c, 0x07, 0xa0, 0xda,
0x65, 0x27, 0xc9, 0x90, 0x3d, 0xef, 0x4b, 0x11,
0x0f, 0x19, 0x07, 0xfd, 0x29, 0x92, 0xd9, 0xc8,
0xf7, 0x99, 0x2e, 0x4a, 0xd0, 0xb8, 0x2c, 0xdc,
0x93, 0xf5, 0x9e, 0x33, 0x78, 0xd1, 0x37, 0xc3,
0x66, 0xd7, 0x5e, 0xbc, 0x44, 0xbf, 0x53, 0xa5,
0xbc, 0xc4, 0xcb, 0x7b, 0x3a, 0x8e, 0x7f, 0x02,
0xbd, 0xbb, 0xe7, 0xca, 0xa6, 0x6c, 0x6b, 0x93,
0x21, 0x93, 0x10, 0x61, 0xe7, 0x69, 0xd0, 0x78,
0xf3, 0x07, 0x5a, 0x1a, 0x8f, 0x73, 0xaa, 0xb1,
0x4e, 0xd3, 0xda, 0x4f, 0xf3, 0x32, 0xe1, 0x66,
0x3e, 0x6c, 0xc6, 0x13, 0xba, 0x06, 0x5b, 0xfc,
0x6a, 0xe5, 0x6f, 0x60, 0xfb, 0x07, 0x40, 0xb0,
0x8c, 0x9d, 0x84, 0x43, 0x6b, 0xc1, 0xf7, 0x8d,
0x8d, 0x31, 0xf7, 0x7a, 0x39, 0x4d, 0x8f, 0x9a,
0xeb
};
static const uint8_t chacha20poly1305_enc_assoc006[] = {
0x70, 0xd3, 0x33, 0xf3, 0x8b, 0x18, 0x0b
};
static const uint8_t chacha20poly1305_enc_nonce006[] = {
0xdf, 0x51, 0x84, 0x82, 0x42, 0x0c, 0x75, 0x9c
};
static const uint8_t chacha20poly1305_enc_key006[] = {
0x68, 0x7b, 0x8d, 0x8e, 0xe3, 0xc4, 0xdd, 0xae,
0xdf, 0x72, 0x7f, 0x53, 0x72, 0x25, 0x1e, 0x78,
0x91, 0xcb, 0x69, 0x76, 0x1f, 0x49, 0x93, 0xf9,
0x6f, 0x21, 0xcc, 0x39, 0x9c, 0xad, 0xb1, 0x01
};
static const uint8_t chacha20poly1305_enc_input007[] = {
0x9b, 0x18, 0xdb, 0xdd, 0x9a, 0x0f, 0x3e, 0xa5,
0x15, 0x17, 0xde, 0xdf, 0x08, 0x9d, 0x65, 0x0a,
0x67, 0x30, 0x12, 0xe2, 0x34, 0x77, 0x4b, 0xc1,
0xd9, 0xc6, 0x1f, 0xab, 0xc6, 0x18, 0x50, 0x17,
0xa7, 0x9d, 0x3c, 0xa6, 0xc5, 0x35, 0x8c, 0x1c,
0xc0, 0xa1, 0x7c, 0x9f, 0x03, 0x89, 0xca, 0xe1,
0xe6, 0xe9, 0xd4, 0xd3, 0x88, 0xdb, 0xb4, 0x51,
0x9d, 0xec, 0xb4, 0xfc, 0x52, 0xee, 0x6d, 0xf1,
0x75, 0x42, 0xc6, 0xfd, 0xbd, 0x7a, 0x8e, 0x86,
0xfc, 0x44, 0xb3, 0x4f, 0xf3, 0xea, 0x67, 0x5a,
0x41, 0x13, 0xba, 0xb0, 0xdc, 0xe1, 0xd3, 0x2a,
0x7c, 0x22, 0xb3, 0xca, 0xac, 0x6a, 0x37, 0x98,
0x3e, 0x1d, 0x40, 0x97, 0xf7, 0x9b, 0x1d, 0x36,
0x6b, 0xb3, 0x28, 0xbd, 0x60, 0x82, 0x47, 0x34,
0xaa, 0x2f, 0x7d, 0xe9, 0xa8, 0x70, 0x81, 0x57,
0xd4, 0xb9, 0x77, 0x0a, 0x9d, 0x29, 0xa7, 0x84,
0x52, 0x4f, 0xc2, 0x4a, 0x40, 0x3b, 0x3c, 0xd4,
0xc9, 0x2a, 0xdb, 0x4a, 0x53, 0xc4, 0xbe, 0x80,
0xe9, 0x51, 0x7f, 0x8f, 0xc7, 0xa2, 0xce, 0x82,
0x5c, 0x91, 0x1e, 0x74, 0xd9, 0xd0, 0xbd, 0xd5,
0xf3, 0xfd, 0xda, 0x4d, 0x25, 0xb4, 0xbb, 0x2d,
0xac, 0x2f, 0x3d, 0x71, 0x85, 0x7b, 0xcf, 0x3c,
0x7b, 0x3e, 0x0e, 0x22, 0x78, 0x0c, 0x29, 0xbf,
0xe4, 0xf4, 0x57, 0xb3, 0xcb, 0x49, 0xa0, 0xfc,
0x1e, 0x05, 0x4e, 0x16, 0xbc, 0xd5, 0xa8, 0xa3,
0xee, 0x05, 0x35, 0xc6, 0x7c, 0xab, 0x60, 0x14,
0x55, 0x1a, 0x8e, 0xc5, 0x88, 0x5d, 0xd5, 0x81,
0xc2, 0x81, 0xa5, 0xc4, 0x60, 0xdb, 0xaf, 0x77,
0x91, 0xe1, 0xce, 0xa2, 0x7e, 0x7f, 0x42, 0xe3,
0xb0, 0x13, 0x1c, 0x1f, 0x25, 0x60, 0x21, 0xe2,
0x40, 0x5f, 0x99, 0xb7, 0x73, 0xec, 0x9b, 0x2b,
0xf0, 0x65, 0x11, 0xc8, 0xd0, 0x0a, 0x9f, 0xd3
};
static const uint8_t chacha20poly1305_enc_output007[] = {
0x85, 0x04, 0xc2, 0xed, 0x8d, 0xfd, 0x97, 0x5c,
0xd2, 0xb7, 0xe2, 0xc1, 0x6b, 0xa3, 0xba, 0xf8,
0xc9, 0x50, 0xc3, 0xc6, 0xa5, 0xe3, 0xa4, 0x7c,
0xc3, 0x23, 0x49, 0x5e, 0xa9, 0xb9, 0x32, 0xeb,
0x8a, 0x7c, 0xca, 0xe5, 0xec, 0xfb, 0x7c, 0xc0,
0xcb, 0x7d, 0xdc, 0x2c, 0x9d, 0x92, 0x55, 0x21,
0x0a, 0xc8, 0x43, 0x63, 0x59, 0x0a, 0x31, 0x70,
0x82, 0x67, 0x41, 0x03, 0xf8, 0xdf, 0xf2, 0xac,
0xa7, 0x02, 0xd4, 0xd5, 0x8a, 0x2d, 0xc8, 0x99,
0x19, 0x66, 0xd0, 0xf6, 0x88, 0x2c, 0x77, 0xd9,
0xd4, 0x0d, 0x6c, 0xbd, 0x98, 0xde, 0xe7, 0x7f,
0xad, 0x7e, 0x8a, 0xfb, 0xe9, 0x4b, 0xe5, 0xf7,
0xe5, 0x50, 0xa0, 0x90, 0x3f, 0xd6, 0x22, 0x53,
0xe3, 0xfe, 0x1b, 0xcc, 0x79, 0x3b, 0xec, 0x12,
0x47, 0x52, 0xa7, 0xd6, 0x04, 0xe3, 0x52, 0xe6,
0x93, 0x90, 0x91, 0x32, 0x73, 0x79, 0xb8, 0xd0,
0x31, 0xde, 0x1f, 0x9f, 0x2f, 0x05, 0x38, 0x54,
0x2f, 0x35, 0x04, 0x39, 0xe0, 0xa7, 0xba, 0xc6,
0x52, 0xf6, 0x37, 0x65, 0x4c, 0x07, 0xa9, 0x7e,
0xb3, 0x21, 0x6f, 0x74, 0x8c, 0xc9, 0xde, 0xdb,
0x65, 0x1b, 0x9b, 0xaa, 0x60, 0xb1, 0x03, 0x30,
0x6b, 0xb2, 0x03, 0xc4, 0x1c, 0x04, 0xf8, 0x0f,
0x64, 0xaf, 0x46, 0xe4, 0x65, 0x99, 0x49, 0xe2,
0xea, 0xce, 0x78, 0x00, 0xd8, 0x8b, 0xd5, 0x2e,
0xcf, 0xfc, 0x40, 0x49, 0xe8, 0x58, 0xdc, 0x34,
0x9c, 0x8c, 0x61, 0xbf, 0x0a, 0x8e, 0xec, 0x39,
0xa9, 0x30, 0x05, 0x5a, 0xd2, 0x56, 0x01, 0xc7,
0xda, 0x8f, 0x4e, 0xbb, 0x43, 0xa3, 0x3a, 0xf9,
0x15, 0x2a, 0xd0, 0xa0, 0x7a, 0x87, 0x34, 0x82,
0xfe, 0x8a, 0xd1, 0x2d, 0x5e, 0xc7, 0xbf, 0x04,
0x53, 0x5f, 0x3b, 0x36, 0xd4, 0x25, 0x5c, 0x34,
0x7a, 0x8d, 0xd5, 0x05, 0xce, 0x72, 0xca, 0xef,
0x7a, 0x4b, 0xbc, 0xb0, 0x10, 0x5c, 0x96, 0x42,
0x3a, 0x00, 0x98, 0xcd, 0x15, 0xe8, 0xb7, 0x53
};
static const uint8_t chacha20poly1305_enc_assoc007[] = { };
static const uint8_t chacha20poly1305_enc_nonce007[] = {
0xde, 0x7b, 0xef, 0xc3, 0x65, 0x1b, 0x68, 0xb0
};
static const uint8_t chacha20poly1305_enc_key007[] = {
0x8d, 0xb8, 0x91, 0x48, 0xf0, 0xe7, 0x0a, 0xbd,
0xf9, 0x3f, 0xcd, 0xd9, 0xa0, 0x1e, 0x42, 0x4c,
0xe7, 0xde, 0x25, 0x3d, 0xa3, 0xd7, 0x05, 0x80,
0x8d, 0xf2, 0x82, 0xac, 0x44, 0x16, 0x51, 0x01
};
static const uint8_t chacha20poly1305_enc_input008[] = {
0xc3, 0x09, 0x94, 0x62, 0xe6, 0x46, 0x2e, 0x10,
0xbe, 0x00, 0xe4, 0xfc, 0xf3, 0x40, 0xa3, 0xe2,
0x0f, 0xc2, 0x8b, 0x28, 0xdc, 0xba, 0xb4, 0x3c,
0xe4, 0x21, 0x58, 0x61, 0xcd, 0x8b, 0xcd, 0xfb,
0xac, 0x94, 0xa1, 0x45, 0xf5, 0x1c, 0xe1, 0x12,
0xe0, 0x3b, 0x67, 0x21, 0x54, 0x5e, 0x8c, 0xaa,
0xcf, 0xdb, 0xb4, 0x51, 0xd4, 0x13, 0xda, 0xe6,
0x83, 0x89, 0xb6, 0x92, 0xe9, 0x21, 0x76, 0xa4,
0x93, 0x7d, 0x0e, 0xfd, 0x96, 0x36, 0x03, 0x91,
0x43, 0x5c, 0x92, 0x49, 0x62, 0x61, 0x7b, 0xeb,
0x43, 0x89, 0xb8, 0x12, 0x20, 0x43, 0xd4, 0x47,
0x06, 0x84, 0xee, 0x47, 0xe9, 0x8a, 0x73, 0x15,
0x0f, 0x72, 0xcf, 0xed, 0xce, 0x96, 0xb2, 0x7f,
0x21, 0x45, 0x76, 0xeb, 0x26, 0x28, 0x83, 0x6a,
0xad, 0xaa, 0xa6, 0x81, 0xd8, 0x55, 0xb1, 0xa3,
0x85, 0xb3, 0x0c, 0xdf, 0xf1, 0x69, 0x2d, 0x97,
0x05, 0x2a, 0xbc, 0x7c, 0x7b, 0x25, 0xf8, 0x80,
0x9d, 0x39, 0x25, 0xf3, 0x62, 0xf0, 0x66, 0x5e,
0xf4, 0xa0, 0xcf, 0xd8, 0xfd, 0x4f, 0xb1, 0x1f,
0x60, 0x3a, 0x08, 0x47, 0xaf, 0xe1, 0xf6, 0x10,
0x77, 0x09, 0xa7, 0x27, 0x8f, 0x9a, 0x97, 0x5a,
0x26, 0xfa, 0xfe, 0x41, 0x32, 0x83, 0x10, 0xe0,
0x1d, 0xbf, 0x64, 0x0d, 0xf4, 0x1c, 0x32, 0x35,
0xe5, 0x1b, 0x36, 0xef, 0xd4, 0x4a, 0x93, 0x4d,
0x00, 0x7c, 0xec, 0x02, 0x07, 0x8b, 0x5d, 0x7d,
0x1b, 0x0e, 0xd1, 0xa6, 0xa5, 0x5d, 0x7d, 0x57,
0x88, 0xa8, 0xcc, 0x81, 0xb4, 0x86, 0x4e, 0xb4,
0x40, 0xe9, 0x1d, 0xc3, 0xb1, 0x24, 0x3e, 0x7f,
0xcc, 0x8a, 0x24, 0x9b, 0xdf, 0x6d, 0xf0, 0x39,
0x69, 0x3e, 0x4c, 0xc0, 0x96, 0xe4, 0x13, 0xda,
0x90, 0xda, 0xf4, 0x95, 0x66, 0x8b, 0x17, 0x17,
0xfe, 0x39, 0x43, 0x25, 0xaa, 0xda, 0xa0, 0x43,
0x3c, 0xb1, 0x41, 0x02, 0xa3, 0xf0, 0xa7, 0x19,
0x59, 0xbc, 0x1d, 0x7d, 0x6c, 0x6d, 0x91, 0x09,
0x5c, 0xb7, 0x5b, 0x01, 0xd1, 0x6f, 0x17, 0x21,
0x97, 0xbf, 0x89, 0x71, 0xa5, 0xb0, 0x6e, 0x07,
0x45, 0xfd, 0x9d, 0xea, 0x07, 0xf6, 0x7a, 0x9f,
0x10, 0x18, 0x22, 0x30, 0x73, 0xac, 0xd4, 0x6b,
0x72, 0x44, 0xed, 0xd9, 0x19, 0x9b, 0x2d, 0x4a,
0x41, 0xdd, 0xd1, 0x85, 0x5e, 0x37, 0x19, 0xed,
0xd2, 0x15, 0x8f, 0x5e, 0x91, 0xdb, 0x33, 0xf2,
0xe4, 0xdb, 0xff, 0x98, 0xfb, 0xa3, 0xb5, 0xca,
0x21, 0x69, 0x08, 0xe7, 0x8a, 0xdf, 0x90, 0xff,
0x3e, 0xe9, 0x20, 0x86, 0x3c, 0xe9, 0xfc, 0x0b,
0xfe, 0x5c, 0x61, 0xaa, 0x13, 0x92, 0x7f, 0x7b,
0xec, 0xe0, 0x6d, 0xa8, 0x23, 0x22, 0xf6, 0x6b,
0x77, 0xc4, 0xfe, 0x40, 0x07, 0x3b, 0xb6, 0xf6,
0x8e, 0x5f, 0xd4, 0xb9, 0xb7, 0x0f, 0x21, 0x04,
0xef, 0x83, 0x63, 0x91, 0x69, 0x40, 0xa3, 0x48,
0x5c, 0xd2, 0x60, 0xf9, 0x4f, 0x6c, 0x47, 0x8b,
0x3b, 0xb1, 0x9f, 0x8e, 0xee, 0x16, 0x8a, 0x13,
0xfc, 0x46, 0x17, 0xc3, 0xc3, 0x32, 0x56, 0xf8,
0x3c, 0x85, 0x3a, 0xb6, 0x3e, 0xaa, 0x89, 0x4f,
0xb3, 0xdf, 0x38, 0xfd, 0xf1, 0xe4, 0x3a, 0xc0,
0xe6, 0x58, 0xb5, 0x8f, 0xc5, 0x29, 0xa2, 0x92,
0x4a, 0xb6, 0xa0, 0x34, 0x7f, 0xab, 0xb5, 0x8a,
0x90, 0xa1, 0xdb, 0x4d, 0xca, 0xb6, 0x2c, 0x41,
0x3c, 0xf7, 0x2b, 0x21, 0xc3, 0xfd, 0xf4, 0x17,
0x5c, 0xb5, 0x33, 0x17, 0x68, 0x2b, 0x08, 0x30,
0xf3, 0xf7, 0x30, 0x3c, 0x96, 0xe6, 0x6a, 0x20,
0x97, 0xe7, 0x4d, 0x10, 0x5f, 0x47, 0x5f, 0x49,
0x96, 0x09, 0xf0, 0x27, 0x91, 0xc8, 0xf8, 0x5a,
0x2e, 0x79, 0xb5, 0xe2, 0xb8, 0xe8, 0xb9, 0x7b,
0xd5, 0x10, 0xcb, 0xff, 0x5d, 0x14, 0x73, 0xf3
};
static const uint8_t chacha20poly1305_enc_output008[] = {
0x14, 0xf6, 0x41, 0x37, 0xa6, 0xd4, 0x27, 0xcd,
0xdb, 0x06, 0x3e, 0x9a, 0x4e, 0xab, 0xd5, 0xb1,
0x1e, 0x6b, 0xd2, 0xbc, 0x11, 0xf4, 0x28, 0x93,
0x63, 0x54, 0xef, 0xbb, 0x5e, 0x1d, 0x3a, 0x1d,
0x37, 0x3c, 0x0a, 0x6c, 0x1e, 0xc2, 0xd1, 0x2c,
0xb5, 0xa3, 0xb5, 0x7b, 0xb8, 0x8f, 0x25, 0xa6,
0x1b, 0x61, 0x1c, 0xec, 0x28, 0x58, 0x26, 0xa4,
0xa8, 0x33, 0x28, 0x25, 0x5c, 0x45, 0x05, 0xe5,
0x6c, 0x99, 0xe5, 0x45, 0xc4, 0xa2, 0x03, 0x84,
0x03, 0x73, 0x1e, 0x8c, 0x49, 0xac, 0x20, 0xdd,
0x8d, 0xb3, 0xc4, 0xf5, 0xe7, 0x4f, 0xf1, 0xed,
0xa1, 0x98, 0xde, 0xa4, 0x96, 0xdd, 0x2f, 0xab,
0xab, 0x97, 0xcf, 0x3e, 0xd2, 0x9e, 0xb8, 0x13,
0x07, 0x28, 0x29, 0x19, 0xaf, 0xfd, 0xf2, 0x49,
0x43, 0xea, 0x49, 0x26, 0x91, 0xc1, 0x07, 0xd6,
0xbb, 0x81, 0x75, 0x35, 0x0d, 0x24, 0x7f, 0xc8,
0xda, 0xd4, 0xb7, 0xeb, 0xe8, 0x5c, 0x09, 0xa2,
0x2f, 0xdc, 0x28, 0x7d, 0x3a, 0x03, 0xfa, 0x94,
0xb5, 0x1d, 0x17, 0x99, 0x36, 0xc3, 0x1c, 0x18,
0x34, 0xe3, 0x9f, 0xf5, 0x55, 0x7c, 0xb0, 0x60,
0x9d, 0xff, 0xac, 0xd4, 0x61, 0xf2, 0xad, 0xf8,
0xce, 0xc7, 0xbe, 0x5c, 0xd2, 0x95, 0xa8, 0x4b,
0x77, 0x13, 0x19, 0x59, 0x26, 0xc9, 0xb7, 0x8f,
0x6a, 0xcb, 0x2d, 0x37, 0x91, 0xea, 0x92, 0x9c,
0x94, 0x5b, 0xda, 0x0b, 0xce, 0xfe, 0x30, 0x20,
0xf8, 0x51, 0xad, 0xf2, 0xbe, 0xe7, 0xc7, 0xff,
0xb3, 0x33, 0x91, 0x6a, 0xc9, 0x1a, 0x41, 0xc9,
0x0f, 0xf3, 0x10, 0x0e, 0xfd, 0x53, 0xff, 0x6c,
0x16, 0x52, 0xd9, 0xf3, 0xf7, 0x98, 0x2e, 0xc9,
0x07, 0x31, 0x2c, 0x0c, 0x72, 0xd7, 0xc5, 0xc6,
0x08, 0x2a, 0x7b, 0xda, 0xbd, 0x7e, 0x02, 0xea,
0x1a, 0xbb, 0xf2, 0x04, 0x27, 0x61, 0x28, 0x8e,
0xf5, 0x04, 0x03, 0x1f, 0x4c, 0x07, 0x55, 0x82,
0xec, 0x1e, 0xd7, 0x8b, 0x2f, 0x65, 0x56, 0xd1,
0xd9, 0x1e, 0x3c, 0xe9, 0x1f, 0x5e, 0x98, 0x70,
0x38, 0x4a, 0x8c, 0x49, 0xc5, 0x43, 0xa0, 0xa1,
0x8b, 0x74, 0x9d, 0x4c, 0x62, 0x0d, 0x10, 0x0c,
0xf4, 0x6c, 0x8f, 0xe0, 0xaa, 0x9a, 0x8d, 0xb7,
0xe0, 0xbe, 0x4c, 0x87, 0xf1, 0x98, 0x2f, 0xcc,
0xed, 0xc0, 0x52, 0x29, 0xdc, 0x83, 0xf8, 0xfc,
0x2c, 0x0e, 0xa8, 0x51, 0x4d, 0x80, 0x0d, 0xa3,
0xfe, 0xd8, 0x37, 0xe7, 0x41, 0x24, 0xfc, 0xfb,
0x75, 0xe3, 0x71, 0x7b, 0x57, 0x45, 0xf5, 0x97,
0x73, 0x65, 0x63, 0x14, 0x74, 0xb8, 0x82, 0x9f,
0xf8, 0x60, 0x2f, 0x8a, 0xf2, 0x4e, 0xf1, 0x39,
0xda, 0x33, 0x91, 0xf8, 0x36, 0xe0, 0x8d, 0x3f,
0x1f, 0x3b, 0x56, 0xdc, 0xa0, 0x8f, 0x3c, 0x9d,
0x71, 0x52, 0xa7, 0xb8, 0xc0, 0xa5, 0xc6, 0xa2,
0x73, 0xda, 0xf4, 0x4b, 0x74, 0x5b, 0x00, 0x3d,
0x99, 0xd7, 0x96, 0xba, 0xe6, 0xe1, 0xa6, 0x96,
0x38, 0xad, 0xb3, 0xc0, 0xd2, 0xba, 0x91, 0x6b,
0xf9, 0x19, 0xdd, 0x3b, 0xbe, 0xbe, 0x9c, 0x20,
0x50, 0xba, 0xa1, 0xd0, 0xce, 0x11, 0xbd, 0x95,
0xd8, 0xd1, 0xdd, 0x33, 0x85, 0x74, 0xdc, 0xdb,
0x66, 0x76, 0x44, 0xdc, 0x03, 0x74, 0x48, 0x35,
0x98, 0xb1, 0x18, 0x47, 0x94, 0x7d, 0xff, 0x62,
0xe4, 0x58, 0x78, 0xab, 0xed, 0x95, 0x36, 0xd9,
0x84, 0x91, 0x82, 0x64, 0x41, 0xbb, 0x58, 0xe6,
0x1c, 0x20, 0x6d, 0x15, 0x6b, 0x13, 0x96, 0xe8,
0x35, 0x7f, 0xdc, 0x40, 0x2c, 0xe9, 0xbc, 0x8a,
0x4f, 0x92, 0xec, 0x06, 0x2d, 0x50, 0xdf, 0x93,
0x5d, 0x65, 0x5a, 0xa8, 0xfc, 0x20, 0x50, 0x14,
0xa9, 0x8a, 0x7e, 0x1d, 0x08, 0x1f, 0xe2, 0x99,
0xd0, 0xbe, 0xfb, 0x3a, 0x21, 0x9d, 0xad, 0x86,
0x54, 0xfd, 0x0d, 0x98, 0x1c, 0x5a, 0x6f, 0x1f,
0x9a, 0x40, 0xcd, 0xa2, 0xff, 0x6a, 0xf1, 0x54
};
static const uint8_t chacha20poly1305_enc_assoc008[] = { };
static const uint8_t chacha20poly1305_enc_nonce008[] = {
0x0e, 0x0d, 0x57, 0xbb, 0x7b, 0x40, 0x54, 0x02
};
static const uint8_t chacha20poly1305_enc_key008[] = {
0xf2, 0xaa, 0x4f, 0x99, 0xfd, 0x3e, 0xa8, 0x53,
0xc1, 0x44, 0xe9, 0x81, 0x18, 0xdc, 0xf5, 0xf0,
0x3e, 0x44, 0x15, 0x59, 0xe0, 0xc5, 0x44, 0x86,
0xc3, 0x91, 0xa8, 0x75, 0xc0, 0x12, 0x46, 0xba
};
static const uint8_t chacha20poly1305_enc_input009[] = {
0xe6, 0xc3, 0xdb, 0x63, 0x55, 0x15, 0xe3, 0x5b,
0xb7, 0x4b, 0x27, 0x8b, 0x5a, 0xdd, 0xc2, 0xe8,
0x3a, 0x6b, 0xd7, 0x81, 0x96, 0x35, 0x97, 0xca,
0xd7, 0x68, 0xe8, 0xef, 0xce, 0xab, 0xda, 0x09,
0x6e, 0xd6, 0x8e, 0xcb, 0x55, 0xb5, 0xe1, 0xe5,
0x57, 0xfd, 0xc4, 0xe3, 0xe0, 0x18, 0x4f, 0x85,
0xf5, 0x3f, 0x7e, 0x4b, 0x88, 0xc9, 0x52, 0x44,
0x0f, 0xea, 0xaf, 0x1f, 0x71, 0x48, 0x9f, 0x97,
0x6d, 0xb9, 0x6f, 0x00, 0xa6, 0xde, 0x2b, 0x77,
0x8b, 0x15, 0xad, 0x10, 0xa0, 0x2b, 0x7b, 0x41,
0x90, 0x03, 0x2d, 0x69, 0xae, 0xcc, 0x77, 0x7c,
0xa5, 0x9d, 0x29, 0x22, 0xc2, 0xea, 0xb4, 0x00,
0x1a, 0xd2, 0x7a, 0x98, 0x8a, 0xf9, 0xf7, 0x82,
0xb0, 0xab, 0xd8, 0xa6, 0x94, 0x8d, 0x58, 0x2f,
0x01, 0x9e, 0x00, 0x20, 0xfc, 0x49, 0xdc, 0x0e,
0x03, 0xe8, 0x45, 0x10, 0xd6, 0xa8, 0xda, 0x55,
0x10, 0x9a, 0xdf, 0x67, 0x22, 0x8b, 0x43, 0xab,
0x00, 0xbb, 0x02, 0xc8, 0xdd, 0x7b, 0x97, 0x17,
0xd7, 0x1d, 0x9e, 0x02, 0x5e, 0x48, 0xde, 0x8e,
0xcf, 0x99, 0x07, 0x95, 0x92, 0x3c, 0x5f, 0x9f,
0xc5, 0x8a, 0xc0, 0x23, 0xaa, 0xd5, 0x8c, 0x82,
0x6e, 0x16, 0x92, 0xb1, 0x12, 0x17, 0x07, 0xc3,
0xfb, 0x36, 0xf5, 0x6c, 0x35, 0xd6, 0x06, 0x1f,
0x9f, 0xa7, 0x94, 0xa2, 0x38, 0x63, 0x9c, 0xb0,
0x71, 0xb3, 0xa5, 0xd2, 0xd8, 0xba, 0x9f, 0x08,
0x01, 0xb3, 0xff, 0x04, 0x97, 0x73, 0x45, 0x1b,
0xd5, 0xa9, 0x9c, 0x80, 0xaf, 0x04, 0x9a, 0x85,
0xdb, 0x32, 0x5b, 0x5d, 0x1a, 0xc1, 0x36, 0x28,
0x10, 0x79, 0xf1, 0x3c, 0xbf, 0x1a, 0x41, 0x5c,
0x4e, 0xdf, 0xb2, 0x7c, 0x79, 0x3b, 0x7a, 0x62,
0x3d, 0x4b, 0xc9, 0x9b, 0x2a, 0x2e, 0x7c, 0xa2,
0xb1, 0x11, 0x98, 0xa7, 0x34, 0x1a, 0x00, 0xf3,
0xd1, 0xbc, 0x18, 0x22, 0xba, 0x02, 0x56, 0x62,
0x31, 0x10, 0x11, 0x6d, 0xe0, 0x54, 0x9d, 0x40,
0x1f, 0x26, 0x80, 0x41, 0xca, 0x3f, 0x68, 0x0f,
0x32, 0x1d, 0x0a, 0x8e, 0x79, 0xd8, 0xa4, 0x1b,
0x29, 0x1c, 0x90, 0x8e, 0xc5, 0xe3, 0xb4, 0x91,
0x37, 0x9a, 0x97, 0x86, 0x99, 0xd5, 0x09, 0xc5,
0xbb, 0xa3, 0x3f, 0x21, 0x29, 0x82, 0x14, 0x5c,
0xab, 0x25, 0xfb, 0xf2, 0x4f, 0x58, 0x26, 0xd4,
0x83, 0xaa, 0x66, 0x89, 0x67, 0x7e, 0xc0, 0x49,
0xe1, 0x11, 0x10, 0x7f, 0x7a, 0xda, 0x29, 0x04,
0xff, 0xf0, 0xcb, 0x09, 0x7c, 0x9d, 0xfa, 0x03,
0x6f, 0x81, 0x09, 0x31, 0x60, 0xfb, 0x08, 0xfa,
0x74, 0xd3, 0x64, 0x44, 0x7c, 0x55, 0x85, 0xec,
0x9c, 0x6e, 0x25, 0xb7, 0x6c, 0xc5, 0x37, 0xb6,
0x83, 0x87, 0x72, 0x95, 0x8b, 0x9d, 0xe1, 0x69,
0x5c, 0x31, 0x95, 0x42, 0xa6, 0x2c, 0xd1, 0x36,
0x47, 0x1f, 0xec, 0x54, 0xab, 0xa2, 0x1c, 0xd8,
0x00, 0xcc, 0xbc, 0x0d, 0x65, 0xe2, 0x67, 0xbf,
0xbc, 0xea, 0xee, 0x9e, 0xe4, 0x36, 0x95, 0xbe,
0x73, 0xd9, 0xa6, 0xd9, 0x0f, 0xa0, 0xcc, 0x82,
0x76, 0x26, 0xad, 0x5b, 0x58, 0x6c, 0x4e, 0xab,
0x29, 0x64, 0xd3, 0xd9, 0xa9, 0x08, 0x8c, 0x1d,
0xa1, 0x4f, 0x80, 0xd8, 0x3f, 0x94, 0xfb, 0xd3,
0x7b, 0xfc, 0xd1, 0x2b, 0xc3, 0x21, 0xeb, 0xe5,
0x1c, 0x84, 0x23, 0x7f, 0x4b, 0xfa, 0xdb, 0x34,
0x18, 0xa2, 0xc2, 0xe5, 0x13, 0xfe, 0x6c, 0x49,
0x81, 0xd2, 0x73, 0xe7, 0xe2, 0xd7, 0xe4, 0x4f,
0x4b, 0x08, 0x6e, 0xb1, 0x12, 0x22, 0x10, 0x9d,
0xac, 0x51, 0x1e, 0x17, 0xd9, 0x8a, 0x0b, 0x42,
0x88, 0x16, 0x81, 0x37, 0x7c, 0x6a, 0xf7, 0xef,
0x2d, 0xe3, 0xd9, 0xf8, 0x5f, 0xe0, 0x53, 0x27,
0x74, 0xb9, 0xe2, 0xd6, 0x1c, 0x80, 0x2c, 0x52,
0x65
};
static const uint8_t chacha20poly1305_enc_output009[] = {
0xfd, 0x81, 0x8d, 0xd0, 0x3d, 0xb4, 0xd5, 0xdf,
0xd3, 0x42, 0x47, 0x5a, 0x6d, 0x19, 0x27, 0x66,
0x4b, 0x2e, 0x0c, 0x27, 0x9c, 0x96, 0x4c, 0x72,
0x02, 0xa3, 0x65, 0xc3, 0xb3, 0x6f, 0x2e, 0xbd,
0x63, 0x8a, 0x4a, 0x5d, 0x29, 0xa2, 0xd0, 0x28,
0x48, 0xc5, 0x3d, 0x98, 0xa3, 0xbc, 0xe0, 0xbe,
0x3b, 0x3f, 0xe6, 0x8a, 0xa4, 0x7f, 0x53, 0x06,
0xfa, 0x7f, 0x27, 0x76, 0x72, 0x31, 0xa1, 0xf5,
0xd6, 0x0c, 0x52, 0x47, 0xba, 0xcd, 0x4f, 0xd7,
0xeb, 0x05, 0x48, 0x0d, 0x7c, 0x35, 0x4a, 0x09,
0xc9, 0x76, 0x71, 0x02, 0xa3, 0xfb, 0xb7, 0x1a,
0x65, 0xb7, 0xed, 0x98, 0xc6, 0x30, 0x8a, 0x00,
0xae, 0xa1, 0x31, 0xe5, 0xb5, 0x9e, 0x6d, 0x62,
0xda, 0xda, 0x07, 0x0f, 0x38, 0x38, 0xd3, 0xcb,
0xc1, 0xb0, 0xad, 0xec, 0x72, 0xec, 0xb1, 0xa2,
0x7b, 0x59, 0xf3, 0x3d, 0x2b, 0xef, 0xcd, 0x28,
0x5b, 0x83, 0xcc, 0x18, 0x91, 0x88, 0xb0, 0x2e,
0xf9, 0x29, 0x31, 0x18, 0xf9, 0x4e, 0xe9, 0x0a,
0x91, 0x92, 0x9f, 0xae, 0x2d, 0xad, 0xf4, 0xe6,
0x1a, 0xe2, 0xa4, 0xee, 0x47, 0x15, 0xbf, 0x83,
0x6e, 0xd7, 0x72, 0x12, 0x3b, 0x2d, 0x24, 0xe9,
0xb2, 0x55, 0xcb, 0x3c, 0x10, 0xf0, 0x24, 0x8a,
0x4a, 0x02, 0xea, 0x90, 0x25, 0xf0, 0xb4, 0x79,
0x3a, 0xef, 0x6e, 0xf5, 0x52, 0xdf, 0xb0, 0x0a,
0xcd, 0x24, 0x1c, 0xd3, 0x2e, 0x22, 0x74, 0xea,
0x21, 0x6f, 0xe9, 0xbd, 0xc8, 0x3e, 0x36, 0x5b,
0x19, 0xf1, 0xca, 0x99, 0x0a, 0xb4, 0xa7, 0x52,
0x1a, 0x4e, 0xf2, 0xad, 0x8d, 0x56, 0x85, 0xbb,
0x64, 0x89, 0xba, 0x26, 0xf9, 0xc7, 0xe1, 0x89,
0x19, 0x22, 0x77, 0xc3, 0xa8, 0xfc, 0xff, 0xad,
0xfe, 0xb9, 0x48, 0xae, 0x12, 0x30, 0x9f, 0x19,
0xfb, 0x1b, 0xef, 0x14, 0x87, 0x8a, 0x78, 0x71,
0xf3, 0xf4, 0xb7, 0x00, 0x9c, 0x1d, 0xb5, 0x3d,
0x49, 0x00, 0x0c, 0x06, 0xd4, 0x50, 0xf9, 0x54,
0x45, 0xb2, 0x5b, 0x43, 0xdb, 0x6d, 0xcf, 0x1a,
0xe9, 0x7a, 0x7a, 0xcf, 0xfc, 0x8a, 0x4e, 0x4d,
0x0b, 0x07, 0x63, 0x28, 0xd8, 0xe7, 0x08, 0x95,
0xdf, 0xa6, 0x72, 0x93, 0x2e, 0xbb, 0xa0, 0x42,
0x89, 0x16, 0xf1, 0xd9, 0x0c, 0xf9, 0xa1, 0x16,
0xfd, 0xd9, 0x03, 0xb4, 0x3b, 0x8a, 0xf5, 0xf6,
0xe7, 0x6b, 0x2e, 0x8e, 0x4c, 0x3d, 0xe2, 0xaf,
0x08, 0x45, 0x03, 0xff, 0x09, 0xb6, 0xeb, 0x2d,
0xc6, 0x1b, 0x88, 0x94, 0xac, 0x3e, 0xf1, 0x9f,
0x0e, 0x0e, 0x2b, 0xd5, 0x00, 0x4d, 0x3f, 0x3b,
0x53, 0xae, 0xaf, 0x1c, 0x33, 0x5f, 0x55, 0x6e,
0x8d, 0xaf, 0x05, 0x7a, 0x10, 0x34, 0xc9, 0xf4,
0x66, 0xcb, 0x62, 0x12, 0xa6, 0xee, 0xe8, 0x1c,
0x5d, 0x12, 0x86, 0xdb, 0x6f, 0x1c, 0x33, 0xc4,
0x1c, 0xda, 0x82, 0x2d, 0x3b, 0x59, 0xfe, 0xb1,
0xa4, 0x59, 0x41, 0x86, 0xd0, 0xef, 0xae, 0xfb,
0xda, 0x6d, 0x11, 0xb8, 0xca, 0xe9, 0x6e, 0xff,
0xf7, 0xa9, 0xd9, 0x70, 0x30, 0xfc, 0x53, 0xe2,
0xd7, 0xa2, 0x4e, 0xc7, 0x91, 0xd9, 0x07, 0x06,
0xaa, 0xdd, 0xb0, 0x59, 0x28, 0x1d, 0x00, 0x66,
0xc5, 0x54, 0xc2, 0xfc, 0x06, 0xda, 0x05, 0x90,
0x52, 0x1d, 0x37, 0x66, 0xee, 0xf0, 0xb2, 0x55,
0x8a, 0x5d, 0xd2, 0x38, 0x86, 0x94, 0x9b, 0xfc,
0x10, 0x4c, 0xa1, 0xb9, 0x64, 0x3e, 0x44, 0xb8,
0x5f, 0xb0, 0x0c, 0xec, 0xe0, 0xc9, 0xe5, 0x62,
0x75, 0x3f, 0x09, 0xd5, 0xf5, 0xd9, 0x26, 0xba,
0x9e, 0xd2, 0xf4, 0xb9, 0x48, 0x0a, 0xbc, 0xa2,
0xd6, 0x7c, 0x36, 0x11, 0x7d, 0x26, 0x81, 0x89,
0xcf, 0xa4, 0xad, 0x73, 0x0e, 0xee, 0xcc, 0x06,
0xa9, 0xdb, 0xb1, 0xfd, 0xfb, 0x09, 0x7f, 0x90,
0x42, 0x37, 0x2f, 0xe1, 0x9c, 0x0f, 0x6f, 0xcf,
0x43, 0xb5, 0xd9, 0x90, 0xe1, 0x85, 0xf5, 0xa8,
0xae
};
static const uint8_t chacha20poly1305_enc_assoc009[] = {
0x5a, 0x27, 0xff, 0xeb, 0xdf, 0x84, 0xb2, 0x9e,
0xef
};
static const uint8_t chacha20poly1305_enc_nonce009[] = {
0xef, 0x2d, 0x63, 0xee, 0x6b, 0x80, 0x8b, 0x78
};
static const uint8_t chacha20poly1305_enc_key009[] = {
0xea, 0xbc, 0x56, 0x99, 0xe3, 0x50, 0xff, 0xc5,
0xcc, 0x1a, 0xd7, 0xc1, 0x57, 0x72, 0xea, 0x86,
0x5b, 0x89, 0x88, 0x61, 0x3d, 0x2f, 0x9b, 0xb2,
0xe7, 0x9c, 0xec, 0x74, 0x6e, 0x3e, 0xf4, 0x3b
};
static const uint8_t chacha20poly1305_enc_input010[] = {
0x42, 0x93, 0xe4, 0xeb, 0x97, 0xb0, 0x57, 0xbf,
0x1a, 0x8b, 0x1f, 0xe4, 0x5f, 0x36, 0x20, 0x3c,
0xef, 0x0a, 0xa9, 0x48, 0x5f, 0x5f, 0x37, 0x22,
0x3a, 0xde, 0xe3, 0xae, 0xbe, 0xad, 0x07, 0xcc,
0xb1, 0xf6, 0xf5, 0xf9, 0x56, 0xdd, 0xe7, 0x16,
0x1e, 0x7f, 0xdf, 0x7a, 0x9e, 0x75, 0xb7, 0xc7,
0xbe, 0xbe, 0x8a, 0x36, 0x04, 0xc0, 0x10, 0xf4,
0x95, 0x20, 0x03, 0xec, 0xdc, 0x05, 0xa1, 0x7d,
0xc4, 0xa9, 0x2c, 0x82, 0xd0, 0xbc, 0x8b, 0xc5,
0xc7, 0x45, 0x50, 0xf6, 0xa2, 0x1a, 0xb5, 0x46,
0x3b, 0x73, 0x02, 0xa6, 0x83, 0x4b, 0x73, 0x82,
0x58, 0x5e, 0x3b, 0x65, 0x2f, 0x0e, 0xfd, 0x2b,
0x59, 0x16, 0xce, 0xa1, 0x60, 0x9c, 0xe8, 0x3a,
0x99, 0xed, 0x8d, 0x5a, 0xcf, 0xf6, 0x83, 0xaf,
0xba, 0xd7, 0x73, 0x73, 0x40, 0x97, 0x3d, 0xca,
0xef, 0x07, 0x57, 0xe6, 0xd9, 0x70, 0x0e, 0x95,
0xae, 0xa6, 0x8d, 0x04, 0xcc, 0xee, 0xf7, 0x09,
0x31, 0x77, 0x12, 0xa3, 0x23, 0x97, 0x62, 0xb3,
0x7b, 0x32, 0xfb, 0x80, 0x14, 0x48, 0x81, 0xc3,
0xe5, 0xea, 0x91, 0x39, 0x52, 0x81, 0xa2, 0x4f,
0xe4, 0xb3, 0x09, 0xff, 0xde, 0x5e, 0xe9, 0x58,
0x84, 0x6e, 0xf9, 0x3d, 0xdf, 0x25, 0xea, 0xad,
0xae, 0xe6, 0x9a, 0xd1, 0x89, 0x55, 0xd3, 0xde,
0x6c, 0x52, 0xdb, 0x70, 0xfe, 0x37, 0xce, 0x44,
0x0a, 0xa8, 0x25, 0x5f, 0x92, 0xc1, 0x33, 0x4a,
0x4f, 0x9b, 0x62, 0x35, 0xff, 0xce, 0xc0, 0xa9,
0x60, 0xce, 0x52, 0x00, 0x97, 0x51, 0x35, 0x26,
0x2e, 0xb9, 0x36, 0xa9, 0x87, 0x6e, 0x1e, 0xcc,
0x91, 0x78, 0x53, 0x98, 0x86, 0x5b, 0x9c, 0x74,
0x7d, 0x88, 0x33, 0xe1, 0xdf, 0x37, 0x69, 0x2b,
0xbb, 0xf1, 0x4d, 0xf4, 0xd1, 0xf1, 0x39, 0x93,
0x17, 0x51, 0x19, 0xe3, 0x19, 0x1e, 0x76, 0x37,
0x25, 0xfb, 0x09, 0x27, 0x6a, 0xab, 0x67, 0x6f,
0x14, 0x12, 0x64, 0xe7, 0xc4, 0x07, 0xdf, 0x4d,
0x17, 0xbb, 0x6d, 0xe0, 0xe9, 0xb9, 0xab, 0xca,
0x10, 0x68, 0xaf, 0x7e, 0xb7, 0x33, 0x54, 0x73,
0x07, 0x6e, 0xf7, 0x81, 0x97, 0x9c, 0x05, 0x6f,
0x84, 0x5f, 0xd2, 0x42, 0xfb, 0x38, 0xcf, 0xd1,
0x2f, 0x14, 0x30, 0x88, 0x98, 0x4d, 0x5a, 0xa9,
0x76, 0xd5, 0x4f, 0x3e, 0x70, 0x6c, 0x85, 0x76,
0xd7, 0x01, 0xa0, 0x1a, 0xc8, 0x4e, 0xaa, 0xac,
0x78, 0xfe, 0x46, 0xde, 0x6a, 0x05, 0x46, 0xa7,
0x43, 0x0c, 0xb9, 0xde, 0xb9, 0x68, 0xfb, 0xce,
0x42, 0x99, 0x07, 0x4d, 0x0b, 0x3b, 0x5a, 0x30,
0x35, 0xa8, 0xf9, 0x3a, 0x73, 0xef, 0x0f, 0xdb,
0x1e, 0x16, 0x42, 0xc4, 0xba, 0xae, 0x58, 0xaa,
0xf8, 0xe5, 0x75, 0x2f, 0x1b, 0x15, 0x5c, 0xfd,
0x0a, 0x97, 0xd0, 0xe4, 0x37, 0x83, 0x61, 0x5f,
0x43, 0xa6, 0xc7, 0x3f, 0x38, 0x59, 0xe6, 0xeb,
0xa3, 0x90, 0xc3, 0xaa, 0xaa, 0x5a, 0xd3, 0x34,
0xd4, 0x17, 0xc8, 0x65, 0x3e, 0x57, 0xbc, 0x5e,
0xdd, 0x9e, 0xb7, 0xf0, 0x2e, 0x5b, 0xb2, 0x1f,
0x8a, 0x08, 0x0d, 0x45, 0x91, 0x0b, 0x29, 0x53,
0x4f, 0x4c, 0x5a, 0x73, 0x56, 0xfe, 0xaf, 0x41,
0x01, 0x39, 0x0a, 0x24, 0x3c, 0x7e, 0xbe, 0x4e,
0x53, 0xf3, 0xeb, 0x06, 0x66, 0x51, 0x28, 0x1d,
0xbd, 0x41, 0x0a, 0x01, 0xab, 0x16, 0x47, 0x27,
0x47, 0x47, 0xf7, 0xcb, 0x46, 0x0a, 0x70, 0x9e,
0x01, 0x9c, 0x09, 0xe1, 0x2a, 0x00, 0x1a, 0xd8,
0xd4, 0x79, 0x9d, 0x80, 0x15, 0x8e, 0x53, 0x2a,
0x65, 0x83, 0x78, 0x3e, 0x03, 0x00, 0x07, 0x12,
0x1f, 0x33, 0x3e, 0x7b, 0x13, 0x37, 0xf1, 0xc3,
0xef, 0xb7, 0xc1, 0x20, 0x3c, 0x3e, 0x67, 0x66,
0x5d, 0x88, 0xa7, 0x7d, 0x33, 0x50, 0x77, 0xb0,
0x28, 0x8e, 0xe7, 0x2c, 0x2e, 0x7a, 0xf4, 0x3c,
0x8d, 0x74, 0x83, 0xaf, 0x8e, 0x87, 0x0f, 0xe4,
0x50, 0xff, 0x84, 0x5c, 0x47, 0x0c, 0x6a, 0x49,
0xbf, 0x42, 0x86, 0x77, 0x15, 0x48, 0xa5, 0x90,
0x5d, 0x93, 0xd6, 0x2a, 0x11, 0xd5, 0xd5, 0x11,
0xaa, 0xce, 0xe7, 0x6f, 0xa5, 0xb0, 0x09, 0x2c,
0x8d, 0xd3, 0x92, 0xf0, 0x5a, 0x2a, 0xda, 0x5b,
0x1e, 0xd5, 0x9a, 0xc4, 0xc4, 0xf3, 0x49, 0x74,
0x41, 0xca, 0xe8, 0xc1, 0xf8, 0x44, 0xd6, 0x3c,
0xae, 0x6c, 0x1d, 0x9a, 0x30, 0x04, 0x4d, 0x27,
0x0e, 0xb1, 0x5f, 0x59, 0xa2, 0x24, 0xe8, 0xe1,
0x98, 0xc5, 0x6a, 0x4c, 0xfe, 0x41, 0xd2, 0x27,
0x42, 0x52, 0xe1, 0xe9, 0x7d, 0x62, 0xe4, 0x88,
0x0f, 0xad, 0xb2, 0x70, 0xcb, 0x9d, 0x4c, 0x27,
0x2e, 0x76, 0x1e, 0x1a, 0x63, 0x65, 0xf5, 0x3b,
0xf8, 0x57, 0x69, 0xeb, 0x5b, 0x38, 0x26, 0x39,
0x33, 0x25, 0x45, 0x3e, 0x91, 0xb8, 0xd8, 0xc7,
0xd5, 0x42, 0xc0, 0x22, 0x31, 0x74, 0xf4, 0xbc,
0x0c, 0x23, 0xf1, 0xca, 0xc1, 0x8d, 0xd7, 0xbe,
0xc9, 0x62, 0xe4, 0x08, 0x1a, 0xcf, 0x36, 0xd5,
0xfe, 0x55, 0x21, 0x59, 0x91, 0x87, 0x87, 0xdf,
0x06, 0xdb, 0xdf, 0x96, 0x45, 0x58, 0xda, 0x05,
0xcd, 0x50, 0x4d, 0xd2, 0x7d, 0x05, 0x18, 0x73,
0x6a, 0x8d, 0x11, 0x85, 0xa6, 0x88, 0xe8, 0xda,
0xe6, 0x30, 0x33, 0xa4, 0x89, 0x31, 0x75, 0xbe,
0x69, 0x43, 0x84, 0x43, 0x50, 0x87, 0xdd, 0x71,
0x36, 0x83, 0xc3, 0x78, 0x74, 0x24, 0x0a, 0xed,
0x7b, 0xdb, 0xa4, 0x24, 0x0b, 0xb9, 0x7e, 0x5d,
0xff, 0xde, 0xb1, 0xef, 0x61, 0x5a, 0x45, 0x33,
0xf6, 0x17, 0x07, 0x08, 0x98, 0x83, 0x92, 0x0f,
0x23, 0x6d, 0xe6, 0xaa, 0x17, 0x54, 0xad, 0x6a,
0xc8, 0xdb, 0x26, 0xbe, 0xb8, 0xb6, 0x08, 0xfa,
0x68, 0xf1, 0xd7, 0x79, 0x6f, 0x18, 0xb4, 0x9e,
0x2d, 0x3f, 0x1b, 0x64, 0xaf, 0x8d, 0x06, 0x0e,
0x49, 0x28, 0xe0, 0x5d, 0x45, 0x68, 0x13, 0x87,
0xfa, 0xde, 0x40, 0x7b, 0xd2, 0xc3, 0x94, 0xd5,
0xe1, 0xd9, 0xc2, 0xaf, 0x55, 0x89, 0xeb, 0xb4,
0x12, 0x59, 0xa8, 0xd4, 0xc5, 0x29, 0x66, 0x38,
0xe6, 0xac, 0x22, 0x22, 0xd9, 0x64, 0x9b, 0x34,
0x0a, 0x32, 0x9f, 0xc2, 0xbf, 0x17, 0x6c, 0x3f,
0x71, 0x7a, 0x38, 0x6b, 0x98, 0xfb, 0x49, 0x36,
0x89, 0xc9, 0xe2, 0xd6, 0xc7, 0x5d, 0xd0, 0x69,
0x5f, 0x23, 0x35, 0xc9, 0x30, 0xe2, 0xfd, 0x44,
0x58, 0x39, 0xd7, 0x97, 0xfb, 0x5c, 0x00, 0xd5,
0x4f, 0x7a, 0x1a, 0x95, 0x8b, 0x62, 0x4b, 0xce,
0xe5, 0x91, 0x21, 0x7b, 0x30, 0x00, 0xd6, 0xdd,
0x6d, 0x02, 0x86, 0x49, 0x0f, 0x3c, 0x1a, 0x27,
0x3c, 0xd3, 0x0e, 0x71, 0xf2, 0xff, 0xf5, 0x2f,
0x87, 0xac, 0x67, 0x59, 0x81, 0xa3, 0xf7, 0xf8,
0xd6, 0x11, 0x0c, 0x84, 0xa9, 0x03, 0xee, 0x2a,
0xc4, 0xf3, 0x22, 0xab, 0x7c, 0xe2, 0x25, 0xf5,
0x67, 0xa3, 0xe4, 0x11, 0xe0, 0x59, 0xb3, 0xca,
0x87, 0xa0, 0xae, 0xc9, 0xa6, 0x62, 0x1b, 0x6e,
0x4d, 0x02, 0x6b, 0x07, 0x9d, 0xfd, 0xd0, 0x92,
0x06, 0xe1, 0xb2, 0x9a, 0x4a, 0x1f, 0x1f, 0x13,
0x49, 0x99, 0x97, 0x08, 0xde, 0x7f, 0x98, 0xaf,
0x51, 0x98, 0xee, 0x2c, 0xcb, 0xf0, 0x0b, 0xc6,
0xb6, 0xb7, 0x2d, 0x9a, 0xb1, 0xac, 0xa6, 0xe3,
0x15, 0x77, 0x9d, 0x6b, 0x1a, 0xe4, 0xfc, 0x8b,
0xf2, 0x17, 0x59, 0x08, 0x04, 0x58, 0x81, 0x9d,
0x1b, 0x1b, 0x69, 0x55, 0xc2, 0xb4, 0x3c, 0x1f,
0x50, 0xf1, 0x7f, 0x77, 0x90, 0x4c, 0x66, 0x40,
0x5a, 0xc0, 0x33, 0x1f, 0xcb, 0x05, 0x6d, 0x5c,
0x06, 0x87, 0x52, 0xa2, 0x8f, 0x26, 0xd5, 0x4f
};
static const uint8_t chacha20poly1305_enc_output010[] = {
0xe5, 0x26, 0xa4, 0x3d, 0xbd, 0x33, 0xd0, 0x4b,
0x6f, 0x05, 0xa7, 0x6e, 0x12, 0x7a, 0xd2, 0x74,
0xa6, 0xdd, 0xbd, 0x95, 0xeb, 0xf9, 0xa4, 0xf1,
0x59, 0x93, 0x91, 0x70, 0xd9, 0xfe, 0x9a, 0xcd,
0x53, 0x1f, 0x3a, 0xab, 0xa6, 0x7c, 0x9f, 0xa6,
0x9e, 0xbd, 0x99, 0xd9, 0xb5, 0x97, 0x44, 0xd5,
0x14, 0x48, 0x4d, 0x9d, 0xc0, 0xd0, 0x05, 0x96,
0xeb, 0x4c, 0x78, 0x55, 0x09, 0x08, 0x01, 0x02,
0x30, 0x90, 0x7b, 0x96, 0x7a, 0x7b, 0x5f, 0x30,
0x41, 0x24, 0xce, 0x68, 0x61, 0x49, 0x86, 0x57,
0x82, 0xdd, 0x53, 0x1c, 0x51, 0x28, 0x2b, 0x53,
0x6e, 0x2d, 0xc2, 0x20, 0x4c, 0xdd, 0x8f, 0x65,
0x10, 0x20, 0x50, 0xdd, 0x9d, 0x50, 0xe5, 0x71,
0x40, 0x53, 0x69, 0xfc, 0x77, 0x48, 0x11, 0xb9,
0xde, 0xa4, 0x8d, 0x58, 0xe4, 0xa6, 0x1a, 0x18,
0x47, 0x81, 0x7e, 0xfc, 0xdd, 0xf6, 0xef, 0xce,
0x2f, 0x43, 0x68, 0xd6, 0x06, 0xe2, 0x74, 0x6a,
0xad, 0x90, 0xf5, 0x37, 0xf3, 0x3d, 0x82, 0x69,
0x40, 0xe9, 0x6b, 0xa7, 0x3d, 0xa8, 0x1e, 0xd2,
0x02, 0x7c, 0xb7, 0x9b, 0xe4, 0xda, 0x8f, 0x95,
0x06, 0xc5, 0xdf, 0x73, 0xa3, 0x20, 0x9a, 0x49,
0xde, 0x9c, 0xbc, 0xee, 0x14, 0x3f, 0x81, 0x5e,
0xf8, 0x3b, 0x59, 0x3c, 0xe1, 0x68, 0x12, 0x5a,
0x3a, 0x76, 0x3a, 0x3f, 0xf7, 0x87, 0x33, 0x0a,
0x01, 0xb8, 0xd4, 0xed, 0xb6, 0xbe, 0x94, 0x5e,
0x70, 0x40, 0x56, 0x67, 0x1f, 0x50, 0x44, 0x19,
0xce, 0x82, 0x70, 0x10, 0x87, 0x13, 0x20, 0x0b,
0x4c, 0x5a, 0xb6, 0xf6, 0xa7, 0xae, 0x81, 0x75,
0x01, 0x81, 0xe6, 0x4b, 0x57, 0x7c, 0xdd, 0x6d,
0xf8, 0x1c, 0x29, 0x32, 0xf7, 0xda, 0x3c, 0x2d,
0xf8, 0x9b, 0x25, 0x6e, 0x00, 0xb4, 0xf7, 0x2f,
0xf7, 0x04, 0xf7, 0xa1, 0x56, 0xac, 0x4f, 0x1a,
0x64, 0xb8, 0x47, 0x55, 0x18, 0x7b, 0x07, 0x4d,
0xbd, 0x47, 0x24, 0x80, 0x5d, 0xa2, 0x70, 0xc5,
0xdd, 0x8e, 0x82, 0xd4, 0xeb, 0xec, 0xb2, 0x0c,
0x39, 0xd2, 0x97, 0xc1, 0xcb, 0xeb, 0xf4, 0x77,
0x59, 0xb4, 0x87, 0xef, 0xcb, 0x43, 0x2d, 0x46,
0x54, 0xd1, 0xa7, 0xd7, 0x15, 0x99, 0x0a, 0x43,
0xa1, 0xe0, 0x99, 0x33, 0x71, 0xc1, 0xed, 0xfe,
0x72, 0x46, 0x33, 0x8e, 0x91, 0x08, 0x9f, 0xc8,
0x2e, 0xca, 0xfa, 0xdc, 0x59, 0xd5, 0xc3, 0x76,
0x84, 0x9f, 0xa3, 0x37, 0x68, 0xc3, 0xf0, 0x47,
0x2c, 0x68, 0xdb, 0x5e, 0xc3, 0x49, 0x4c, 0xe8,
0x92, 0x85, 0xe2, 0x23, 0xd3, 0x3f, 0xad, 0x32,
0xe5, 0x2b, 0x82, 0xd7, 0x8f, 0x99, 0x0a, 0x59,
0x5c, 0x45, 0xd9, 0xb4, 0x51, 0x52, 0xc2, 0xae,
0xbf, 0x80, 0xcf, 0xc9, 0xc9, 0x51, 0x24, 0x2a,
0x3b, 0x3a, 0x4d, 0xae, 0xeb, 0xbd, 0x22, 0xc3,
0x0e, 0x0f, 0x59, 0x25, 0x92, 0x17, 0xe9, 0x74,
0xc7, 0x8b, 0x70, 0x70, 0x36, 0x55, 0x95, 0x75,
0x4b, 0xad, 0x61, 0x2b, 0x09, 0xbc, 0x82, 0xf2,
0x6e, 0x94, 0x43, 0xae, 0xc3, 0xd5, 0xcd, 0x8e,
0xfe, 0x5b, 0x9a, 0x88, 0x43, 0x01, 0x75, 0xb2,
0x23, 0x09, 0xf7, 0x89, 0x83, 0xe7, 0xfa, 0xf9,
0xb4, 0x9b, 0xf8, 0xef, 0xbd, 0x1c, 0x92, 0xc1,
0xda, 0x7e, 0xfe, 0x05, 0xba, 0x5a, 0xcd, 0x07,
0x6a, 0x78, 0x9e, 0x5d, 0xfb, 0x11, 0x2f, 0x79,
0x38, 0xb6, 0xc2, 0x5b, 0x6b, 0x51, 0xb4, 0x71,
0xdd, 0xf7, 0x2a, 0xe4, 0xf4, 0x72, 0x76, 0xad,
0xc2, 0xdd, 0x64, 0x5d, 0x79, 0xb6, 0xf5, 0x7a,
0x77, 0x20, 0x05, 0x3d, 0x30, 0x06, 0xd4, 0x4c,
0x0a, 0x2c, 0x98, 0x5a, 0xb9, 0xd4, 0x98, 0xa9,
0x3f, 0xc6, 0x12, 0xea, 0x3b, 0x4b, 0xc5, 0x79,
0x64, 0x63, 0x6b, 0x09, 0x54, 0x3b, 0x14, 0x27,
0xba, 0x99, 0x80, 0xc8, 0x72, 0xa8, 0x12, 0x90,
0x29, 0xba, 0x40, 0x54, 0x97, 0x2b, 0x7b, 0xfe,
0xeb, 0xcd, 0x01, 0x05, 0x44, 0x72, 0xdb, 0x99,
0xe4, 0x61, 0xc9, 0x69, 0xd6, 0xb9, 0x28, 0xd1,
0x05, 0x3e, 0xf9, 0x0b, 0x49, 0x0a, 0x49, 0xe9,
0x8d, 0x0e, 0xa7, 0x4a, 0x0f, 0xaf, 0x32, 0xd0,
0xe0, 0xb2, 0x3a, 0x55, 0x58, 0xfe, 0x5c, 0x28,
0x70, 0x51, 0x23, 0xb0, 0x7b, 0x6a, 0x5f, 0x1e,
0xb8, 0x17, 0xd7, 0x94, 0x15, 0x8f, 0xee, 0x20,
0xc7, 0x42, 0x25, 0x3e, 0x9a, 0x14, 0xd7, 0x60,
0x72, 0x39, 0x47, 0x48, 0xa9, 0xfe, 0xdd, 0x47,
0x0a, 0xb1, 0xe6, 0x60, 0x28, 0x8c, 0x11, 0x68,
0xe1, 0xff, 0xd7, 0xce, 0xc8, 0xbe, 0xb3, 0xfe,
0x27, 0x30, 0x09, 0x70, 0xd7, 0xfa, 0x02, 0x33,
0x3a, 0x61, 0x2e, 0xc7, 0xff, 0xa4, 0x2a, 0xa8,
0x6e, 0xb4, 0x79, 0x35, 0x6d, 0x4c, 0x1e, 0x38,
0xf8, 0xee, 0xd4, 0x84, 0x4e, 0x6e, 0x28, 0xa7,
0xce, 0xc8, 0xc1, 0xcf, 0x80, 0x05, 0xf3, 0x04,
0xef, 0xc8, 0x18, 0x28, 0x2e, 0x8d, 0x5e, 0x0c,
0xdf, 0xb8, 0x5f, 0x96, 0xe8, 0xc6, 0x9c, 0x2f,
0xe5, 0xa6, 0x44, 0xd7, 0xe7, 0x99, 0x44, 0x0c,
0xec, 0xd7, 0x05, 0x60, 0x97, 0xbb, 0x74, 0x77,
0x58, 0xd5, 0xbb, 0x48, 0xde, 0x5a, 0xb2, 0x54,
0x7f, 0x0e, 0x46, 0x70, 0x6a, 0x6f, 0x78, 0xa5,
0x08, 0x89, 0x05, 0x4e, 0x7e, 0xa0, 0x69, 0xb4,
0x40, 0x60, 0x55, 0x77, 0x75, 0x9b, 0x19, 0xf2,
0xd5, 0x13, 0x80, 0x77, 0xf9, 0x4b, 0x3f, 0x1e,
0xee, 0xe6, 0x76, 0x84, 0x7b, 0x8c, 0xe5, 0x27,
0xa8, 0x0a, 0x91, 0x01, 0x68, 0x71, 0x8a, 0x3f,
0x06, 0xab, 0xf6, 0xa9, 0xa5, 0xe6, 0x72, 0x92,
0xe4, 0x67, 0xe2, 0xa2, 0x46, 0x35, 0x84, 0x55,
0x7d, 0xca, 0xa8, 0x85, 0xd0, 0xf1, 0x3f, 0xbe,
0xd7, 0x34, 0x64, 0xfc, 0xae, 0xe3, 0xe4, 0x04,
0x9f, 0x66, 0x02, 0xb9, 0x88, 0x10, 0xd9, 0xc4,
0x4c, 0x31, 0x43, 0x7a, 0x93, 0xe2, 0x9b, 0x56,
0x43, 0x84, 0xdc, 0xdc, 0xde, 0x1d, 0xa4, 0x02,
0x0e, 0xc2, 0xef, 0xc3, 0xf8, 0x78, 0xd1, 0xb2,
0x6b, 0x63, 0x18, 0xc9, 0xa9, 0xe5, 0x72, 0xd8,
0xf3, 0xb9, 0xd1, 0x8a, 0xc7, 0x1a, 0x02, 0x27,
0x20, 0x77, 0x10, 0xe5, 0xc8, 0xd4, 0x4a, 0x47,
0xe5, 0xdf, 0x5f, 0x01, 0xaa, 0xb0, 0xd4, 0x10,
0xbb, 0x69, 0xe3, 0x36, 0xc8, 0xe1, 0x3d, 0x43,
0xfb, 0x86, 0xcd, 0xcc, 0xbf, 0xf4, 0x88, 0xe0,
0x20, 0xca, 0xb7, 0x1b, 0xf1, 0x2f, 0x5c, 0xee,
0xd4, 0xd3, 0xa3, 0xcc, 0xa4, 0x1e, 0x1c, 0x47,
0xfb, 0xbf, 0xfc, 0xa2, 0x41, 0x55, 0x9d, 0xf6,
0x5a, 0x5e, 0x65, 0x32, 0x34, 0x7b, 0x52, 0x8d,
0xd5, 0xd0, 0x20, 0x60, 0x03, 0xab, 0x3f, 0x8c,
0xd4, 0x21, 0xea, 0x2a, 0xd9, 0xc4, 0xd0, 0xd3,
0x65, 0xd8, 0x7a, 0x13, 0x28, 0x62, 0x32, 0x4b,
0x2c, 0x87, 0x93, 0xa8, 0xb4, 0x52, 0x45, 0x09,
0x44, 0xec, 0xec, 0xc3, 0x17, 0xdb, 0x9a, 0x4d,
0x5c, 0xa9, 0x11, 0xd4, 0x7d, 0xaf, 0x9e, 0xf1,
0x2d, 0xb2, 0x66, 0xc5, 0x1d, 0xed, 0xb7, 0xcd,
0x0b, 0x25, 0x5e, 0x30, 0x47, 0x3f, 0x40, 0xf4,
0xa1, 0xa0, 0x00, 0x94, 0x10, 0xc5, 0x6a, 0x63,
0x1a, 0xd5, 0x88, 0x92, 0x8e, 0x82, 0x39, 0x87,
0x3c, 0x78, 0x65, 0x58, 0x42, 0x75, 0x5b, 0xdd,
0x77, 0x3e, 0x09, 0x4e, 0x76, 0x5b, 0xe6, 0x0e,
0x4d, 0x38, 0xb2, 0xc0, 0xb8, 0x95, 0x01, 0x7a,
0x10, 0xe0, 0xfb, 0x07, 0xf2, 0xab, 0x2d, 0x8c,
0x32, 0xed, 0x2b, 0xc0, 0x46, 0xc2, 0xf5, 0x38,
0x83, 0xf0, 0x17, 0xec, 0xc1, 0x20, 0x6a, 0x9a,
0x0b, 0x00, 0xa0, 0x98, 0x22, 0x50, 0x23, 0xd5,
0x80, 0x6b, 0xf6, 0x1f, 0xc3, 0xcc, 0x97, 0xc9,
0x24, 0x9f, 0xf3, 0xaf, 0x43, 0x14, 0xd5, 0xa0
};
static const uint8_t chacha20poly1305_enc_assoc010[] = {
0xd2, 0xa1, 0x70, 0xdb, 0x7a, 0xf8, 0xfa, 0x27,
0xba, 0x73, 0x0f, 0xbf, 0x3d, 0x1e, 0x82, 0xb2
};
static const uint8_t chacha20poly1305_enc_nonce010[] = {
0xdb, 0x92, 0x0f, 0x7f, 0x17, 0x54, 0x0c, 0x30
};
static const uint8_t chacha20poly1305_enc_key010[] = {
0x47, 0x11, 0xeb, 0x86, 0x2b, 0x2c, 0xab, 0x44,
0x34, 0xda, 0x7f, 0x57, 0x03, 0x39, 0x0c, 0xaf,
0x2c, 0x14, 0xfd, 0x65, 0x23, 0xe9, 0x8e, 0x74,
0xd5, 0x08, 0x68, 0x08, 0xe7, 0xb4, 0x72, 0xd7
};
static const uint8_t chacha20poly1305_enc_input011[] = {
0x7a, 0x57, 0xf2, 0xc7, 0x06, 0x3f, 0x50, 0x7b,
0x36, 0x1a, 0x66, 0x5c, 0xb9, 0x0e, 0x5e, 0x3b,
0x45, 0x60, 0xbe, 0x9a, 0x31, 0x9f, 0xff, 0x5d,
0x66, 0x34, 0xb4, 0xdc, 0xfb, 0x9d, 0x8e, 0xee,
0x6a, 0x33, 0xa4, 0x07, 0x3c, 0xf9, 0x4c, 0x30,
0xa1, 0x24, 0x52, 0xf9, 0x50, 0x46, 0x88, 0x20,
0x02, 0x32, 0x3a, 0x0e, 0x99, 0x63, 0xaf, 0x1f,
0x15, 0x28, 0x2a, 0x05, 0xff, 0x57, 0x59, 0x5e,
0x18, 0xa1, 0x1f, 0xd0, 0x92, 0x5c, 0x88, 0x66,
0x1b, 0x00, 0x64, 0xa5, 0x93, 0x8d, 0x06, 0x46,
0xb0, 0x64, 0x8b, 0x8b, 0xef, 0x99, 0x05, 0x35,
0x85, 0xb3, 0xf3, 0x33, 0xbb, 0xec, 0x66, 0xb6,
0x3d, 0x57, 0x42, 0xe3, 0xb4, 0xc6, 0xaa, 0xb0,
0x41, 0x2a, 0xb9, 0x59, 0xa9, 0xf6, 0x3e, 0x15,
0x26, 0x12, 0x03, 0x21, 0x4c, 0x74, 0x43, 0x13,
0x2a, 0x03, 0x27, 0x09, 0xb4, 0xfb, 0xe7, 0xb7,
0x40, 0xff, 0x5e, 0xce, 0x48, 0x9a, 0x60, 0xe3,
0x8b, 0x80, 0x8c, 0x38, 0x2d, 0xcb, 0x93, 0x37,
0x74, 0x05, 0x52, 0x6f, 0x73, 0x3e, 0xc3, 0xbc,
0xca, 0x72, 0x0a, 0xeb, 0xf1, 0x3b, 0xa0, 0x95,
0xdc, 0x8a, 0xc4, 0xa9, 0xdc, 0xca, 0x44, 0xd8,
0x08, 0x63, 0x6a, 0x36, 0xd3, 0x3c, 0xb8, 0xac,
0x46, 0x7d, 0xfd, 0xaa, 0xeb, 0x3e, 0x0f, 0x45,
0x8f, 0x49, 0xda, 0x2b, 0xf2, 0x12, 0xbd, 0xaf,
0x67, 0x8a, 0x63, 0x48, 0x4b, 0x55, 0x5f, 0x6d,
0x8c, 0xb9, 0x76, 0x34, 0x84, 0xae, 0xc2, 0xfc,
0x52, 0x64, 0x82, 0xf7, 0xb0, 0x06, 0xf0, 0x45,
0x73, 0x12, 0x50, 0x30, 0x72, 0xea, 0x78, 0x9a,
0xa8, 0xaf, 0xb5, 0xe3, 0xbb, 0x77, 0x52, 0xec,
0x59, 0x84, 0xbf, 0x6b, 0x8f, 0xce, 0x86, 0x5e,
0x1f, 0x23, 0xe9, 0xfb, 0x08, 0x86, 0xf7, 0x10,
0xb9, 0xf2, 0x44, 0x96, 0x44, 0x63, 0xa9, 0xa8,
0x78, 0x00, 0x23, 0xd6, 0xc7, 0xe7, 0x6e, 0x66,
0x4f, 0xcc, 0xee, 0x15, 0xb3, 0xbd, 0x1d, 0xa0,
0xe5, 0x9c, 0x1b, 0x24, 0x2c, 0x4d, 0x3c, 0x62,
0x35, 0x9c, 0x88, 0x59, 0x09, 0xdd, 0x82, 0x1b,
0xcf, 0x0a, 0x83, 0x6b, 0x3f, 0xae, 0x03, 0xc4,
0xb4, 0xdd, 0x7e, 0x5b, 0x28, 0x76, 0x25, 0x96,
0xd9, 0xc9, 0x9d, 0x5f, 0x86, 0xfa, 0xf6, 0xd7,
0xd2, 0xe6, 0x76, 0x1d, 0x0f, 0xa1, 0xdc, 0x74,
0x05, 0x1b, 0x1d, 0xe0, 0xcd, 0x16, 0xb0, 0xa8,
0x8a, 0x34, 0x7b, 0x15, 0x11, 0x77, 0xe5, 0x7b,
0x7e, 0x20, 0xf7, 0xda, 0x38, 0xda, 0xce, 0x70,
0xe9, 0xf5, 0x6c, 0xd9, 0xbe, 0x0c, 0x4c, 0x95,
0x4c, 0xc2, 0x9b, 0x34, 0x55, 0x55, 0xe1, 0xf3,
0x46, 0x8e, 0x48, 0x74, 0x14, 0x4f, 0x9d, 0xc9,
0xf5, 0xe8, 0x1a, 0xf0, 0x11, 0x4a, 0xc1, 0x8d,
0xe0, 0x93, 0xa0, 0xbe, 0x09, 0x1c, 0x2b, 0x4e,
0x0f, 0xb2, 0x87, 0x8b, 0x84, 0xfe, 0x92, 0x32,
0x14, 0xd7, 0x93, 0xdf, 0xe7, 0x44, 0xbc, 0xc5,
0xae, 0x53, 0x69, 0xd8, 0xb3, 0x79, 0x37, 0x80,
0xe3, 0x17, 0x5c, 0xec, 0x53, 0x00, 0x9a, 0xe3,
0x8e, 0xdc, 0x38, 0xb8, 0x66, 0xf0, 0xd3, 0xad,
0x1d, 0x02, 0x96, 0x86, 0x3e, 0x9d, 0x3b, 0x5d,
0xa5, 0x7f, 0x21, 0x10, 0xf1, 0x1f, 0x13, 0x20,
0xf9, 0x57, 0x87, 0x20, 0xf5, 0x5f, 0xf1, 0x17,
0x48, 0x0a, 0x51, 0x5a, 0xcd, 0x19, 0x03, 0xa6,
0x5a, 0xd1, 0x12, 0x97, 0xe9, 0x48, 0xe2, 0x1d,
0x83, 0x75, 0x50, 0xd9, 0x75, 0x7d, 0x6a, 0x82,
0xa1, 0xf9, 0x4e, 0x54, 0x87, 0x89, 0xc9, 0x0c,
0xb7, 0x5b, 0x6a, 0x91, 0xc1, 0x9c, 0xb2, 0xa9,
0xdc, 0x9a, 0xa4, 0x49, 0x0a, 0x6d, 0x0d, 0xbb,
0xde, 0x86, 0x44, 0xdd, 0x5d, 0x89, 0x2b, 0x96,
0x0f, 0x23, 0x95, 0xad, 0xcc, 0xa2, 0xb3, 0xb9,
0x7e, 0x74, 0x38, 0xba, 0x9f, 0x73, 0xae, 0x5f,
0xf8, 0x68, 0xa2, 0xe0, 0xa9, 0xce, 0xbd, 0x40,
0xd4, 0x4c, 0x6b, 0xd2, 0x56, 0x62, 0xb0, 0xcc,
0x63, 0x7e, 0x5b, 0xd3, 0xae, 0xd1, 0x75, 0xce,
0xbb, 0xb4, 0x5b, 0xa8, 0xf8, 0xb4, 0xac, 0x71,
0x75, 0xaa, 0xc9, 0x9f, 0xbb, 0x6c, 0xad, 0x0f,
0x55, 0x5d, 0xe8, 0x85, 0x7d, 0xf9, 0x21, 0x35,
0xea, 0x92, 0x85, 0x2b, 0x00, 0xec, 0x84, 0x90,
0x0a, 0x63, 0x96, 0xe4, 0x6b, 0xa9, 0x77, 0xb8,
0x91, 0xf8, 0x46, 0x15, 0x72, 0x63, 0x70, 0x01,
0x40, 0xa3, 0xa5, 0x76, 0x62, 0x2b, 0xbf, 0xf1,
0xe5, 0x8d, 0x9f, 0xa3, 0xfa, 0x9b, 0x03, 0xbe,
0xfe, 0x65, 0x6f, 0xa2, 0x29, 0x0d, 0x54, 0xb4,
0x71, 0xce, 0xa9, 0xd6, 0x3d, 0x88, 0xf9, 0xaf,
0x6b, 0xa8, 0x9e, 0xf4, 0x16, 0x96, 0x36, 0xb9,
0x00, 0xdc, 0x10, 0xab, 0xb5, 0x08, 0x31, 0x1f,
0x00, 0xb1, 0x3c, 0xd9, 0x38, 0x3e, 0xc6, 0x04,
0xa7, 0x4e, 0xe8, 0xae, 0xed, 0x98, 0xc2, 0xf7,
0xb9, 0x00, 0x5f, 0x8c, 0x60, 0xd1, 0xe5, 0x15,
0xf7, 0xae, 0x1e, 0x84, 0x88, 0xd1, 0xf6, 0xbc,
0x3a, 0x89, 0x35, 0x22, 0x83, 0x7c, 0xca, 0xf0,
0x33, 0x82, 0x4c, 0x79, 0x3c, 0xfd, 0xb1, 0xae,
0x52, 0x62, 0x55, 0xd2, 0x41, 0x60, 0xc6, 0xbb,
0xfa, 0x0e, 0x59, 0xd6, 0xa8, 0xfe, 0x5d, 0xed,
0x47, 0x3d, 0xe0, 0xea, 0x1f, 0x6e, 0x43, 0x51,
0xec, 0x10, 0x52, 0x56, 0x77, 0x42, 0x6b, 0x52,
0x87, 0xd8, 0xec, 0xe0, 0xaa, 0x76, 0xa5, 0x84,
0x2a, 0x22, 0x24, 0xfd, 0x92, 0x40, 0x88, 0xd5,
0x85, 0x1c, 0x1f, 0x6b, 0x47, 0xa0, 0xc4, 0xe4,
0xef, 0xf4, 0xea, 0xd7, 0x59, 0xac, 0x2a, 0x9e,
0x8c, 0xfa, 0x1f, 0x42, 0x08, 0xfe, 0x4f, 0x74,
0xa0, 0x26, 0xf5, 0xb3, 0x84, 0xf6, 0x58, 0x5f,
0x26, 0x66, 0x3e, 0xd7, 0xe4, 0x22, 0x91, 0x13,
0xc8, 0xac, 0x25, 0x96, 0x23, 0xd8, 0x09, 0xea,
0x45, 0x75, 0x23, 0xb8, 0x5f, 0xc2, 0x90, 0x8b,
0x09, 0xc4, 0xfc, 0x47, 0x6c, 0x6d, 0x0a, 0xef,
0x69, 0xa4, 0x38, 0x19, 0xcf, 0x7d, 0xf9, 0x09,
0x73, 0x9b, 0x60, 0x5a, 0xf7, 0x37, 0xb5, 0xfe,
0x9f, 0xe3, 0x2b, 0x4c, 0x0d, 0x6e, 0x19, 0xf1,
0xd6, 0xc0, 0x70, 0xf3, 0x9d, 0x22, 0x3c, 0xf9,
0x49, 0xce, 0x30, 0x8e, 0x44, 0xb5, 0x76, 0x15,
0x8f, 0x52, 0xfd, 0xa5, 0x04, 0xb8, 0x55, 0x6a,
0x36, 0x59, 0x7c, 0xc4, 0x48, 0xb8, 0xd7, 0xab,
0x05, 0x66, 0xe9, 0x5e, 0x21, 0x6f, 0x6b, 0x36,
0x29, 0xbb, 0xe9, 0xe3, 0xa2, 0x9a, 0xa8, 0xcd,
0x55, 0x25, 0x11, 0xba, 0x5a, 0x58, 0xa0, 0xde,
0xae, 0x19, 0x2a, 0x48, 0x5a, 0xff, 0x36, 0xcd,
0x6d, 0x16, 0x7a, 0x73, 0x38, 0x46, 0xe5, 0x47,
0x59, 0xc8, 0xa2, 0xf6, 0xe2, 0x6c, 0x83, 0xc5,
0x36, 0x2c, 0x83, 0x7d, 0xb4, 0x01, 0x05, 0x69,
0xe7, 0xaf, 0x5c, 0xc4, 0x64, 0x82, 0x12, 0x21,
0xef, 0xf7, 0xd1, 0x7d, 0xb8, 0x8d, 0x8c, 0x98,
0x7c, 0x5f, 0x7d, 0x92, 0x88, 0xb9, 0x94, 0x07,
0x9c, 0xd8, 0xe9, 0x9c, 0x17, 0x38, 0xe3, 0x57,
0x6c, 0xe0, 0xdc, 0xa5, 0x92, 0x42, 0xb3, 0xbd,
0x50, 0xa2, 0x7e, 0xb5, 0xb1, 0x52, 0x72, 0x03,
0x97, 0xd8, 0xaa, 0x9a, 0x1e, 0x75, 0x41, 0x11,
0xa3, 0x4f, 0xcc, 0xd4, 0xe3, 0x73, 0xad, 0x96,
0xdc, 0x47, 0x41, 0x9f, 0xb0, 0xbe, 0x79, 0x91,
0xf5, 0xb6, 0x18, 0xfe, 0xc2, 0x83, 0x18, 0x7d,
0x73, 0xd9, 0x4f, 0x83, 0x84, 0x03, 0xb3, 0xf0,
0x77, 0x66, 0x3d, 0x83, 0x63, 0x2e, 0x2c, 0xf9,
0xdd, 0xa6, 0x1f, 0x89, 0x82, 0xb8, 0x23, 0x42,
0xeb, 0xe2, 0xca, 0x70, 0x82, 0x61, 0x41, 0x0a,
0x6d, 0x5f, 0x75, 0xc5, 0xe2, 0xc4, 0x91, 0x18,
0x44, 0x22, 0xfa, 0x34, 0x10, 0xf5, 0x20, 0xdc,
0xb7, 0xdd, 0x2a, 0x20, 0x77, 0xf5, 0xf9, 0xce,
0xdb, 0xa0, 0x0a, 0x52, 0x2a, 0x4e, 0xdd, 0xcc,
0x97, 0xdf, 0x05, 0xe4, 0x5e, 0xb7, 0xaa, 0xf0,
0xe2, 0x80, 0xff, 0xba, 0x1a, 0x0f, 0xac, 0xdf,
0x02, 0x32, 0xe6, 0xf7, 0xc7, 0x17, 0x13, 0xb7,
0xfc, 0x98, 0x48, 0x8c, 0x0d, 0x82, 0xc9, 0x80,
0x7a, 0xe2, 0x0a, 0xc5, 0xb4, 0xde, 0x7c, 0x3c,
0x79, 0x81, 0x0e, 0x28, 0x65, 0x79, 0x67, 0x82,
0x69, 0x44, 0x66, 0x09, 0xf7, 0x16, 0x1a, 0xf9,
0x7d, 0x80, 0xa1, 0x79, 0x14, 0xa9, 0xc8, 0x20,
0xfb, 0xa2, 0x46, 0xbe, 0x08, 0x35, 0x17, 0x58,
0xc1, 0x1a, 0xda, 0x2a, 0x6b, 0x2e, 0x1e, 0xe6,
0x27, 0x55, 0x7b, 0x19, 0xe2, 0xfb, 0x64, 0xfc,
0x5e, 0x15, 0x54, 0x3c, 0xe7, 0xc2, 0x11, 0x50,
0x30, 0xb8, 0x72, 0x03, 0x0b, 0x1a, 0x9f, 0x86,
0x27, 0x11, 0x5c, 0x06, 0x2b, 0xbd, 0x75, 0x1a,
0x0a, 0xda, 0x01, 0xfa, 0x5c, 0x4a, 0xc1, 0x80,
0x3a, 0x6e, 0x30, 0xc8, 0x2c, 0xeb, 0x56, 0xec,
0x89, 0xfa, 0x35, 0x7b, 0xb2, 0xf0, 0x97, 0x08,
0x86, 0x53, 0xbe, 0xbd, 0x40, 0x41, 0x38, 0x1c,
0xb4, 0x8b, 0x79, 0x2e, 0x18, 0x96, 0x94, 0xde,
0xe8, 0xca, 0xe5, 0x9f, 0x92, 0x9f, 0x15, 0x5d,
0x56, 0x60, 0x5c, 0x09, 0xf9, 0x16, 0xf4, 0x17,
0x0f, 0xf6, 0x4c, 0xda, 0xe6, 0x67, 0x89, 0x9f,
0xca, 0x6c, 0xe7, 0x9b, 0x04, 0x62, 0x0e, 0x26,
0xa6, 0x52, 0xbd, 0x29, 0xff, 0xc7, 0xa4, 0x96,
0xe6, 0x6a, 0x02, 0xa5, 0x2e, 0x7b, 0xfe, 0x97,
0x68, 0x3e, 0x2e, 0x5f, 0x3b, 0x0f, 0x36, 0xd6,
0x98, 0x19, 0x59, 0x48, 0xd2, 0xc6, 0xe1, 0x55,
0x1a, 0x6e, 0xd6, 0xed, 0x2c, 0xba, 0xc3, 0x9e,
0x64, 0xc9, 0x95, 0x86, 0x35, 0x5e, 0x3e, 0x88,
0x69, 0x99, 0x4b, 0xee, 0xbe, 0x9a, 0x99, 0xb5,
0x6e, 0x58, 0xae, 0xdd, 0x22, 0xdb, 0xdd, 0x6b,
0xfc, 0xaf, 0x90, 0xa3, 0x3d, 0xa4, 0xc1, 0x15,
0x92, 0x18, 0x8d, 0xd2, 0x4b, 0x7b, 0x06, 0xd1,
0x37, 0xb5, 0xe2, 0x7c, 0x2c, 0xf0, 0x25, 0xe4,
0x94, 0x2a, 0xbd, 0xe3, 0x82, 0x70, 0x78, 0xa3,
0x82, 0x10, 0x5a, 0x90, 0xd7, 0xa4, 0xfa, 0xaf,
0x1a, 0x88, 0x59, 0xdc, 0x74, 0x12, 0xb4, 0x8e,
0xd7, 0x19, 0x46, 0xf4, 0x84, 0x69, 0x9f, 0xbb,
0x70, 0xa8, 0x4c, 0x52, 0x81, 0xa9, 0xff, 0x76,
0x1c, 0xae, 0xd8, 0x11, 0x3d, 0x7f, 0x7d, 0xc5,
0x12, 0x59, 0x28, 0x18, 0xc2, 0xa2, 0xb7, 0x1c,
0x88, 0xf8, 0xd6, 0x1b, 0xa6, 0x7d, 0x9e, 0xde,
0x29, 0xf8, 0xed, 0xff, 0xeb, 0x92, 0x24, 0x4f,
0x05, 0xaa, 0xd9, 0x49, 0xba, 0x87, 0x59, 0x51,
0xc9, 0x20, 0x5c, 0x9b, 0x74, 0xcf, 0x03, 0xd9,
0x2d, 0x34, 0xc7, 0x5b, 0xa5, 0x40, 0xb2, 0x99,
0xf5, 0xcb, 0xb4, 0xf6, 0xb7, 0x72, 0x4a, 0xd6,
0xbd, 0xb0, 0xf3, 0x93, 0xe0, 0x1b, 0xa8, 0x04,
0x1e, 0x35, 0xd4, 0x80, 0x20, 0xf4, 0x9c, 0x31,
0x6b, 0x45, 0xb9, 0x15, 0xb0, 0x5e, 0xdd, 0x0a,
0x33, 0x9c, 0x83, 0xcd, 0x58, 0x89, 0x50, 0x56,
0xbb, 0x81, 0x00, 0x91, 0x32, 0xf3, 0x1b, 0x3e,
0xcf, 0x45, 0xe1, 0xf9, 0xe1, 0x2c, 0x26, 0x78,
0x93, 0x9a, 0x60, 0x46, 0xc9, 0xb5, 0x5e, 0x6a,
0x28, 0x92, 0x87, 0x3f, 0x63, 0x7b, 0xdb, 0xf7,
0xd0, 0x13, 0x9d, 0x32, 0x40, 0x5e, 0xcf, 0xfb,
0x79, 0x68, 0x47, 0x4c, 0xfd, 0x01, 0x17, 0xe6,
0x97, 0x93, 0x78, 0xbb, 0xa6, 0x27, 0xa3, 0xe8,
0x1a, 0xe8, 0x94, 0x55, 0x7d, 0x08, 0xe5, 0xdc,
0x66, 0xa3, 0x69, 0xc8, 0xca, 0xc5, 0xa1, 0x84,
0x55, 0xde, 0x08, 0x91, 0x16, 0x3a, 0x0c, 0x86,
0xab, 0x27, 0x2b, 0x64, 0x34, 0x02, 0x6c, 0x76,
0x8b, 0xc6, 0xaf, 0xcc, 0xe1, 0xd6, 0x8c, 0x2a,
0x18, 0x3d, 0xa6, 0x1b, 0x37, 0x75, 0x45, 0x73,
0xc2, 0x75, 0xd7, 0x53, 0x78, 0x3a, 0xd6, 0xe8,
0x29, 0xd2, 0x4a, 0xa8, 0x1e, 0x82, 0xf6, 0xb6,
0x81, 0xde, 0x21, 0xed, 0x2b, 0x56, 0xbb, 0xf2,
0xd0, 0x57, 0xc1, 0x7c, 0xd2, 0x6a, 0xd2, 0x56,
0xf5, 0x13, 0x5f, 0x1c, 0x6a, 0x0b, 0x74, 0xfb,
0xe9, 0xfe, 0x9e, 0xea, 0x95, 0xb2, 0x46, 0xab,
0x0a, 0xfc, 0xfd, 0xf3, 0xbb, 0x04, 0x2b, 0x76,
0x1b, 0xa4, 0x74, 0xb0, 0xc1, 0x78, 0xc3, 0x69,
0xe2, 0xb0, 0x01, 0xe1, 0xde, 0x32, 0x4c, 0x8d,
0x1a, 0xb3, 0x38, 0x08, 0xd5, 0xfc, 0x1f, 0xdc,
0x0e, 0x2c, 0x9c, 0xb1, 0xa1, 0x63, 0x17, 0x22,
0xf5, 0x6c, 0x93, 0x70, 0x74, 0x00, 0xf8, 0x39,
0x01, 0x94, 0xd1, 0x32, 0x23, 0x56, 0x5d, 0xa6,
0x02, 0x76, 0x76, 0x93, 0xce, 0x2f, 0x19, 0xe9,
0x17, 0x52, 0xae, 0x6e, 0x2c, 0x6d, 0x61, 0x7f,
0x3b, 0xaa, 0xe0, 0x52, 0x85, 0xc5, 0x65, 0xc1,
0xbb, 0x8e, 0x5b, 0x21, 0xd5, 0xc9, 0x78, 0x83,
0x07, 0x97, 0x4c, 0x62, 0x61, 0x41, 0xd4, 0xfc,
0xc9, 0x39, 0xe3, 0x9b, 0xd0, 0xcc, 0x75, 0xc4,
0x97, 0xe6, 0xdd, 0x2a, 0x5f, 0xa6, 0xe8, 0x59,
0x6c, 0x98, 0xb9, 0x02, 0xe2, 0xa2, 0xd6, 0x68,
0xee, 0x3b, 0x1d, 0xe3, 0x4d, 0x5b, 0x30, 0xef,
0x03, 0xf2, 0xeb, 0x18, 0x57, 0x36, 0xe8, 0xa1,
0xf4, 0x47, 0xfb, 0xcb, 0x8f, 0xcb, 0xc8, 0xf3,
0x4f, 0x74, 0x9d, 0x9d, 0xb1, 0x8d, 0x14, 0x44,
0xd9, 0x19, 0xb4, 0x54, 0x4f, 0x75, 0x19, 0x09,
0xa0, 0x75, 0xbc, 0x3b, 0x82, 0xc6, 0x3f, 0xb8,
0x83, 0x19, 0x6e, 0xd6, 0x37, 0xfe, 0x6e, 0x8a,
0x4e, 0xe0, 0x4a, 0xab, 0x7b, 0xc8, 0xb4, 0x1d,
0xf4, 0xed, 0x27, 0x03, 0x65, 0xa2, 0xa1, 0xae,
0x11, 0xe7, 0x98, 0x78, 0x48, 0x91, 0xd2, 0xd2,
0xd4, 0x23, 0x78, 0x50, 0xb1, 0x5b, 0x85, 0x10,
0x8d, 0xca, 0x5f, 0x0f, 0x71, 0xae, 0x72, 0x9a,
0xf6, 0x25, 0x19, 0x60, 0x06, 0xf7, 0x10, 0x34,
0x18, 0x0d, 0xc9, 0x9f, 0x7b, 0x0c, 0x9b, 0x8f,
0x91, 0x1b, 0x9f, 0xcd, 0x10, 0xee, 0x75, 0xf9,
0x97, 0x66, 0xfc, 0x4d, 0x33, 0x6e, 0x28, 0x2b,
0x92, 0x85, 0x4f, 0xab, 0x43, 0x8d, 0x8f, 0x7d,
0x86, 0xa7, 0xc7, 0xd8, 0xd3, 0x0b, 0x8b, 0x57,
0xb6, 0x1d, 0x95, 0x0d, 0xe9, 0xbc, 0xd9, 0x03,
0xd9, 0x10, 0x19, 0xc3, 0x46, 0x63, 0x55, 0x87,
0x61, 0x79, 0x6c, 0x95, 0x0e, 0x9c, 0xdd, 0xca,
0xc3, 0xf3, 0x64, 0xf0, 0x7d, 0x76, 0xb7, 0x53,
0x67, 0x2b, 0x1e, 0x44, 0x56, 0x81, 0xea, 0x8f,
0x5c, 0x42, 0x16, 0xb8, 0x28, 0xeb, 0x1b, 0x61,
0x10, 0x1e, 0xbf, 0xec, 0xa8
};
static const uint8_t chacha20poly1305_enc_output011[] = {
0x6a, 0xfc, 0x4b, 0x25, 0xdf, 0xc0, 0xe4, 0xe8,
0x17, 0x4d, 0x4c, 0xc9, 0x7e, 0xde, 0x3a, 0xcc,
0x3c, 0xba, 0x6a, 0x77, 0x47, 0xdb, 0xe3, 0x74,
0x7a, 0x4d, 0x5f, 0x8d, 0x37, 0x55, 0x80, 0x73,
0x90, 0x66, 0x5d, 0x3a, 0x7d, 0x5d, 0x86, 0x5e,
0x8d, 0xfd, 0x83, 0xff, 0x4e, 0x74, 0x6f, 0xf9,
0xe6, 0x70, 0x17, 0x70, 0x3e, 0x96, 0xa7, 0x7e,
0xcb, 0xab, 0x8f, 0x58, 0x24, 0x9b, 0x01, 0xfd,
0xcb, 0xe6, 0x4d, 0x9b, 0xf0, 0x88, 0x94, 0x57,
0x66, 0xef, 0x72, 0x4c, 0x42, 0x6e, 0x16, 0x19,
0x15, 0xea, 0x70, 0x5b, 0xac, 0x13, 0xdb, 0x9f,
0x18, 0xe2, 0x3c, 0x26, 0x97, 0xbc, 0xdc, 0x45,
0x8c, 0x6c, 0x24, 0x69, 0x9c, 0xf7, 0x65, 0x1e,
0x18, 0x59, 0x31, 0x7c, 0xe4, 0x73, 0xbc, 0x39,
0x62, 0xc6, 0x5c, 0x9f, 0xbf, 0xfa, 0x90, 0x03,
0xc9, 0x72, 0x26, 0xb6, 0x1b, 0xc2, 0xb7, 0x3f,
0xf2, 0x13, 0x77, 0xf2, 0x8d, 0xb9, 0x47, 0xd0,
0x53, 0xdd, 0xc8, 0x91, 0x83, 0x8b, 0xb1, 0xce,
0xa3, 0xfe, 0xcd, 0xd9, 0xdd, 0x92, 0x7b, 0xdb,
0xb8, 0xfb, 0xc9, 0x2d, 0x01, 0x59, 0x39, 0x52,
0xad, 0x1b, 0xec, 0xcf, 0xd7, 0x70, 0x13, 0x21,
0xf5, 0x47, 0xaa, 0x18, 0x21, 0x5c, 0xc9, 0x9a,
0xd2, 0x6b, 0x05, 0x9c, 0x01, 0xa1, 0xda, 0x35,
0x5d, 0xb3, 0x70, 0xe6, 0xa9, 0x80, 0x8b, 0x91,
0xb7, 0xb3, 0x5f, 0x24, 0x9a, 0xb7, 0xd1, 0x6b,
0xa1, 0x1c, 0x50, 0xba, 0x49, 0xe0, 0xee, 0x2e,
0x75, 0xac, 0x69, 0xc0, 0xeb, 0x03, 0xdd, 0x19,
0xe5, 0xf6, 0x06, 0xdd, 0xc3, 0xd7, 0x2b, 0x07,
0x07, 0x30, 0xa7, 0x19, 0x0c, 0xbf, 0xe6, 0x18,
0xcc, 0xb1, 0x01, 0x11, 0x85, 0x77, 0x1d, 0x96,
0xa7, 0xa3, 0x00, 0x84, 0x02, 0xa2, 0x83, 0x68,
0xda, 0x17, 0x27, 0xc8, 0x7f, 0x23, 0xb7, 0xf4,
0x13, 0x85, 0xcf, 0xdd, 0x7a, 0x7d, 0x24, 0x57,
0xfe, 0x05, 0x93, 0xf5, 0x74, 0xce, 0xed, 0x0c,
0x20, 0x98, 0x8d, 0x92, 0x30, 0xa1, 0x29, 0x23,
0x1a, 0xa0, 0x4f, 0x69, 0x56, 0x4c, 0xe1, 0xc8,
0xce, 0xf6, 0x9a, 0x0c, 0xa4, 0xfa, 0x04, 0xf6,
0x62, 0x95, 0xf2, 0xfa, 0xc7, 0x40, 0x68, 0x40,
0x8f, 0x41, 0xda, 0xb4, 0x26, 0x6f, 0x70, 0xab,
0x40, 0x61, 0xa4, 0x0e, 0x75, 0xfb, 0x86, 0xeb,
0x9d, 0x9a, 0x1f, 0xec, 0x76, 0x99, 0xe7, 0xea,
0xaa, 0x1e, 0x2d, 0xb5, 0xd4, 0xa6, 0x1a, 0xb8,
0x61, 0x0a, 0x1d, 0x16, 0x5b, 0x98, 0xc2, 0x31,
0x40, 0xe7, 0x23, 0x1d, 0x66, 0x99, 0xc8, 0xc0,
0xd7, 0xce, 0xf3, 0x57, 0x40, 0x04, 0x3f, 0xfc,
0xea, 0xb3, 0xfc, 0xd2, 0xd3, 0x99, 0xa4, 0x94,
0x69, 0xa0, 0xef, 0xd1, 0x85, 0xb3, 0xa6, 0xb1,
0x28, 0xbf, 0x94, 0x67, 0x22, 0xc3, 0x36, 0x46,
0xf8, 0xd2, 0x0f, 0x5f, 0xf4, 0x59, 0x80, 0xe6,
0x2d, 0x43, 0x08, 0x7d, 0x19, 0x09, 0x97, 0xa7,
0x4c, 0x3d, 0x8d, 0xba, 0x65, 0x62, 0xa3, 0x71,
0x33, 0x29, 0x62, 0xdb, 0xc1, 0x33, 0x34, 0x1a,
0x63, 0x33, 0x16, 0xb6, 0x64, 0x7e, 0xab, 0x33,
0xf0, 0xe6, 0x26, 0x68, 0xba, 0x1d, 0x2e, 0x38,
0x08, 0xe6, 0x02, 0xd3, 0x25, 0x2c, 0x47, 0x23,
0x58, 0x34, 0x0f, 0x9d, 0x63, 0x4f, 0x63, 0xbb,
0x7f, 0x3b, 0x34, 0x38, 0xa7, 0xb5, 0x8d, 0x65,
0xd9, 0x9f, 0x79, 0x55, 0x3e, 0x4d, 0xe7, 0x73,
0xd8, 0xf6, 0x98, 0x97, 0x84, 0x60, 0x9c, 0xc8,
0xa9, 0x3c, 0xf6, 0xdc, 0x12, 0x5c, 0xe1, 0xbb,
0x0b, 0x8b, 0x98, 0x9c, 0x9d, 0x26, 0x7c, 0x4a,
0xe6, 0x46, 0x36, 0x58, 0x21, 0x4a, 0xee, 0xca,
0xd7, 0x3b, 0xc2, 0x6c, 0x49, 0x2f, 0xe5, 0xd5,
0x03, 0x59, 0x84, 0x53, 0xcb, 0xfe, 0x92, 0x71,
0x2e, 0x7c, 0x21, 0xcc, 0x99, 0x85, 0x7f, 0xb8,
0x74, 0x90, 0x13, 0x42, 0x3f, 0xe0, 0x6b, 0x1d,
0xf2, 0x4d, 0x54, 0xd4, 0xfc, 0x3a, 0x05, 0xe6,
0x74, 0xaf, 0xa6, 0xa0, 0x2a, 0x20, 0x23, 0x5d,
0x34, 0x5c, 0xd9, 0x3e, 0x4e, 0xfa, 0x93, 0xe7,
0xaa, 0xe9, 0x6f, 0x08, 0x43, 0x67, 0x41, 0xc5,
0xad, 0xfb, 0x31, 0x95, 0x82, 0x73, 0x32, 0xd8,
0xa6, 0xa3, 0xed, 0x0e, 0x2d, 0xf6, 0x5f, 0xfd,
0x80, 0xa6, 0x7a, 0xe0, 0xdf, 0x78, 0x15, 0x29,
0x74, 0x33, 0xd0, 0x9e, 0x83, 0x86, 0x72, 0x22,
0x57, 0x29, 0xb9, 0x9e, 0x5d, 0xd3, 0x1a, 0xb5,
0x96, 0x72, 0x41, 0x3d, 0xf1, 0x64, 0x43, 0x67,
0xee, 0xaa, 0x5c, 0xd3, 0x9a, 0x96, 0x13, 0x11,
0x5d, 0xf3, 0x0c, 0x87, 0x82, 0x1e, 0x41, 0x9e,
0xd0, 0x27, 0xd7, 0x54, 0x3b, 0x67, 0x73, 0x09,
0x91, 0xe9, 0xd5, 0x36, 0xa7, 0xb5, 0x55, 0xe4,
0xf3, 0x21, 0x51, 0x49, 0x22, 0x07, 0x55, 0x4f,
0x44, 0x4b, 0xd2, 0x15, 0x93, 0x17, 0x2a, 0xfa,
0x4d, 0x4a, 0x57, 0xdb, 0x4c, 0xa6, 0xeb, 0xec,
0x53, 0x25, 0x6c, 0x21, 0xed, 0x00, 0x4c, 0x3b,
0xca, 0x14, 0x57, 0xa9, 0xd6, 0x6a, 0xcd, 0x8d,
0x5e, 0x74, 0xac, 0x72, 0xc1, 0x97, 0xe5, 0x1b,
0x45, 0x4e, 0xda, 0xfc, 0xcc, 0x40, 0xe8, 0x48,
0x88, 0x0b, 0xa3, 0xe3, 0x8d, 0x83, 0x42, 0xc3,
0x23, 0xfd, 0x68, 0xb5, 0x8e, 0xf1, 0x9d, 0x63,
0x77, 0xe9, 0xa3, 0x8e, 0x8c, 0x26, 0x6b, 0xbd,
0x72, 0x73, 0x35, 0x0c, 0x03, 0xf8, 0x43, 0x78,
0x52, 0x71, 0x15, 0x1f, 0x71, 0x5d, 0x6e, 0xed,
0xb9, 0xcc, 0x86, 0x30, 0xdb, 0x2b, 0xd3, 0x82,
0x88, 0x23, 0x71, 0x90, 0x53, 0x5c, 0xa9, 0x2f,
0x76, 0x01, 0xb7, 0x9a, 0xfe, 0x43, 0x55, 0xa3,
0x04, 0x9b, 0x0e, 0xe4, 0x59, 0xdf, 0xc9, 0xe9,
0xb1, 0xea, 0x29, 0x28, 0x3c, 0x5c, 0xae, 0x72,
0x84, 0xb6, 0xc6, 0xeb, 0x0c, 0x27, 0x07, 0x74,
0x90, 0x0d, 0x31, 0xb0, 0x00, 0x77, 0xe9, 0x40,
0x70, 0x6f, 0x68, 0xa7, 0xfd, 0x06, 0xec, 0x4b,
0xc0, 0xb7, 0xac, 0xbc, 0x33, 0xb7, 0x6d, 0x0a,
0xbd, 0x12, 0x1b, 0x59, 0xcb, 0xdd, 0x32, 0xf5,
0x1d, 0x94, 0x57, 0x76, 0x9e, 0x0c, 0x18, 0x98,
0x71, 0xd7, 0x2a, 0xdb, 0x0b, 0x7b, 0xa7, 0x71,
0xb7, 0x67, 0x81, 0x23, 0x96, 0xae, 0xb9, 0x7e,
0x32, 0x43, 0x92, 0x8a, 0x19, 0xa0, 0xc4, 0xd4,
0x3b, 0x57, 0xf9, 0x4a, 0x2c, 0xfb, 0x51, 0x46,
0xbb, 0xcb, 0x5d, 0xb3, 0xef, 0x13, 0x93, 0x6e,
0x68, 0x42, 0x54, 0x57, 0xd3, 0x6a, 0x3a, 0x8f,
0x9d, 0x66, 0xbf, 0xbd, 0x36, 0x23, 0xf5, 0x93,
0x83, 0x7b, 0x9c, 0xc0, 0xdd, 0xc5, 0x49, 0xc0,
0x64, 0xed, 0x07, 0x12, 0xb3, 0xe6, 0xe4, 0xe5,
0x38, 0x95, 0x23, 0xb1, 0xa0, 0x3b, 0x1a, 0x61,
0xda, 0x17, 0xac, 0xc3, 0x58, 0xdd, 0x74, 0x64,
0x22, 0x11, 0xe8, 0x32, 0x1d, 0x16, 0x93, 0x85,
0x99, 0xa5, 0x9c, 0x34, 0x55, 0xb1, 0xe9, 0x20,
0x72, 0xc9, 0x28, 0x7b, 0x79, 0x00, 0xa1, 0xa6,
0xa3, 0x27, 0x40, 0x18, 0x8a, 0x54, 0xe0, 0xcc,
0xe8, 0x4e, 0x8e, 0x43, 0x96, 0xe7, 0x3f, 0xc8,
0xe9, 0xb2, 0xf9, 0xc9, 0xda, 0x04, 0x71, 0x50,
0x47, 0xe4, 0xaa, 0xce, 0xa2, 0x30, 0xc8, 0xe4,
0xac, 0xc7, 0x0d, 0x06, 0x2e, 0xe6, 0xe8, 0x80,
0x36, 0x29, 0x9e, 0x01, 0xb8, 0xc3, 0xf0, 0xa0,
0x5d, 0x7a, 0xca, 0x4d, 0xa0, 0x57, 0xbd, 0x2a,
0x45, 0xa7, 0x7f, 0x9c, 0x93, 0x07, 0x8f, 0x35,
0x67, 0x92, 0xe3, 0xe9, 0x7f, 0xa8, 0x61, 0x43,
0x9e, 0x25, 0x4f, 0x33, 0x76, 0x13, 0x6e, 0x12,
0xb9, 0xdd, 0xa4, 0x7c, 0x08, 0x9f, 0x7c, 0xe7,
0x0a, 0x8d, 0x84, 0x06, 0xa4, 0x33, 0x17, 0x34,
0x5e, 0x10, 0x7c, 0xc0, 0xa8, 0x3d, 0x1f, 0x42,
0x20, 0x51, 0x65, 0x5d, 0x09, 0xc3, 0xaa, 0xc0,
0xc8, 0x0d, 0xf0, 0x79, 0xbc, 0x20, 0x1b, 0x95,
0xe7, 0x06, 0x7d, 0x47, 0x20, 0x03, 0x1a, 0x74,
0xdd, 0xe2, 0xd4, 0xae, 0x38, 0x71, 0x9b, 0xf5,
0x80, 0xec, 0x08, 0x4e, 0x56, 0xba, 0x76, 0x12,
0x1a, 0xdf, 0x48, 0xf3, 0xae, 0xb3, 0xe6, 0xe6,
0xbe, 0xc0, 0x91, 0x2e, 0x01, 0xb3, 0x01, 0x86,
0xa2, 0xb9, 0x52, 0xd1, 0x21, 0xae, 0xd4, 0x97,
0x1d, 0xef, 0x41, 0x12, 0x95, 0x3d, 0x48, 0x45,
0x1c, 0x56, 0x32, 0x8f, 0xb8, 0x43, 0xbb, 0x19,
0xf3, 0xca, 0xe9, 0xeb, 0x6d, 0x84, 0xbe, 0x86,
0x06, 0xe2, 0x36, 0xb2, 0x62, 0x9d, 0xd3, 0x4c,
0x48, 0x18, 0x54, 0x13, 0x4e, 0xcf, 0xfd, 0xba,
0x84, 0xb9, 0x30, 0x53, 0xcf, 0xfb, 0xb9, 0x29,
0x8f, 0xdc, 0x9f, 0xef, 0x60, 0x0b, 0x64, 0xf6,
0x8b, 0xee, 0xa6, 0x91, 0xc2, 0x41, 0x6c, 0xf6,
0xfa, 0x79, 0x67, 0x4b, 0xc1, 0x3f, 0xaf, 0x09,
0x81, 0xd4, 0x5d, 0xcb, 0x09, 0xdf, 0x36, 0x31,
0xc0, 0x14, 0x3c, 0x7c, 0x0e, 0x65, 0x95, 0x99,
0x6d, 0xa3, 0xf4, 0xd7, 0x38, 0xee, 0x1a, 0x2b,
0x37, 0xe2, 0xa4, 0x3b, 0x4b, 0xd0, 0x65, 0xca,
0xf8, 0xc3, 0xe8, 0x15, 0x20, 0xef, 0xf2, 0x00,
0xfd, 0x01, 0x09, 0xc5, 0xc8, 0x17, 0x04, 0x93,
0xd0, 0x93, 0x03, 0x55, 0xc5, 0xfe, 0x32, 0xa3,
0x3e, 0x28, 0x2d, 0x3b, 0x93, 0x8a, 0xcc, 0x07,
0x72, 0x80, 0x8b, 0x74, 0x16, 0x24, 0xbb, 0xda,
0x94, 0x39, 0x30, 0x8f, 0xb1, 0xcd, 0x4a, 0x90,
0x92, 0x7c, 0x14, 0x8f, 0x95, 0x4e, 0xac, 0x9b,
0xd8, 0x8f, 0x1a, 0x87, 0xa4, 0x32, 0x27, 0x8a,
0xba, 0xf7, 0x41, 0xcf, 0x84, 0x37, 0x19, 0xe6,
0x06, 0xf5, 0x0e, 0xcf, 0x36, 0xf5, 0x9e, 0x6c,
0xde, 0xbc, 0xff, 0x64, 0x7e, 0x4e, 0x59, 0x57,
0x48, 0xfe, 0x14, 0xf7, 0x9c, 0x93, 0x5d, 0x15,
0xad, 0xcc, 0x11, 0xb1, 0x17, 0x18, 0xb2, 0x7e,
0xcc, 0xab, 0xe9, 0xce, 0x7d, 0x77, 0x5b, 0x51,
0x1b, 0x1e, 0x20, 0xa8, 0x32, 0x06, 0x0e, 0x75,
0x93, 0xac, 0xdb, 0x35, 0x37, 0x1f, 0xe9, 0x19,
0x1d, 0xb4, 0x71, 0x97, 0xd6, 0x4e, 0x2c, 0x08,
0xa5, 0x13, 0xf9, 0x0e, 0x7e, 0x78, 0x6e, 0x14,
0xe0, 0xa9, 0xb9, 0x96, 0x4c, 0x80, 0x82, 0xba,
0x17, 0xb3, 0x9d, 0x69, 0xb0, 0x84, 0x46, 0xff,
0xf9, 0x52, 0x79, 0x94, 0x58, 0x3a, 0x62, 0x90,
0x15, 0x35, 0x71, 0x10, 0x37, 0xed, 0xa1, 0x8e,
0x53, 0x6e, 0xf4, 0x26, 0x57, 0x93, 0x15, 0x93,
0xf6, 0x81, 0x2c, 0x5a, 0x10, 0xda, 0x92, 0xad,
0x2f, 0xdb, 0x28, 0x31, 0x2d, 0x55, 0x04, 0xd2,
0x06, 0x28, 0x8c, 0x1e, 0xdc, 0xea, 0x54, 0xac,
0xff, 0xb7, 0x6c, 0x30, 0x15, 0xd4, 0xb4, 0x0d,
0x00, 0x93, 0x57, 0xdd, 0xd2, 0x07, 0x07, 0x06,
0xd9, 0x43, 0x9b, 0xcd, 0x3a, 0xf4, 0x7d, 0x4c,
0x36, 0x5d, 0x23, 0xa2, 0xcc, 0x57, 0x40, 0x91,
0xe9, 0x2c, 0x2f, 0x2c, 0xd5, 0x30, 0x9b, 0x17,
0xb0, 0xc9, 0xf7, 0xa7, 0x2f, 0xd1, 0x93, 0x20,
0x6b, 0xc6, 0xc1, 0xe4, 0x6f, 0xcb, 0xd1, 0xe7,
0x09, 0x0f, 0x9e, 0xdc, 0xaa, 0x9f, 0x2f, 0xdf,
0x56, 0x9f, 0xd4, 0x33, 0x04, 0xaf, 0xd3, 0x6c,
0x58, 0x61, 0xf0, 0x30, 0xec, 0xf2, 0x7f, 0xf2,
0x9c, 0xdf, 0x39, 0xbb, 0x6f, 0xa2, 0x8c, 0x7e,
0xc4, 0x22, 0x51, 0x71, 0xc0, 0x4d, 0x14, 0x1a,
0xc4, 0xcd, 0x04, 0xd9, 0x87, 0x08, 0x50, 0x05,
0xcc, 0xaf, 0xf6, 0xf0, 0x8f, 0x92, 0x54, 0x58,
0xc2, 0xc7, 0x09, 0x7a, 0x59, 0x02, 0x05, 0xe8,
0xb0, 0x86, 0xd9, 0xbf, 0x7b, 0x35, 0x51, 0x4d,
0xaf, 0x08, 0x97, 0x2c, 0x65, 0xda, 0x2a, 0x71,
0x3a, 0xa8, 0x51, 0xcc, 0xf2, 0x73, 0x27, 0xc3,
0xfd, 0x62, 0xcf, 0xe3, 0xb2, 0xca, 0xcb, 0xbe,
0x1a, 0x0a, 0xa1, 0x34, 0x7b, 0x77, 0xc4, 0x62,
0x68, 0x78, 0x5f, 0x94, 0x07, 0x04, 0x65, 0x16,
0x4b, 0x61, 0xcb, 0xff, 0x75, 0x26, 0x50, 0x66,
0x1f, 0x6e, 0x93, 0xf8, 0xc5, 0x51, 0xeb, 0xa4,
0x4a, 0x48, 0x68, 0x6b, 0xe2, 0x5e, 0x44, 0xb2,
0x50, 0x2c, 0x6c, 0xae, 0x79, 0x4e, 0x66, 0x35,
0x81, 0x50, 0xac, 0xbc, 0x3f, 0xb1, 0x0c, 0xf3,
0x05, 0x3c, 0x4a, 0xa3, 0x6c, 0x2a, 0x79, 0xb4,
0xb7, 0xab, 0xca, 0xc7, 0x9b, 0x8e, 0xcd, 0x5f,
0x11, 0x03, 0xcb, 0x30, 0xa3, 0xab, 0xda, 0xfe,
0x64, 0xb9, 0xbb, 0xd8, 0x5e, 0x3a, 0x1a, 0x56,
0xe5, 0x05, 0x48, 0x90, 0x1e, 0x61, 0x69, 0x1b,
0x22, 0xe6, 0x1a, 0x3c, 0x75, 0xad, 0x1f, 0x37,
0x28, 0xdc, 0xe4, 0x6d, 0xbd, 0x42, 0xdc, 0xd3,
0xc8, 0xb6, 0x1c, 0x48, 0xfe, 0x94, 0x77, 0x7f,
0xbd, 0x62, 0xac, 0xa3, 0x47, 0x27, 0xcf, 0x5f,
0xd9, 0xdb, 0xaf, 0xec, 0xf7, 0x5e, 0xc1, 0xb0,
0x9d, 0x01, 0x26, 0x99, 0x7e, 0x8f, 0x03, 0x70,
0xb5, 0x42, 0xbe, 0x67, 0x28, 0x1b, 0x7c, 0xbd,
0x61, 0x21, 0x97, 0xcc, 0x5c, 0xe1, 0x97, 0x8f,
0x8d, 0xde, 0x2b, 0xaa, 0xa7, 0x71, 0x1d, 0x1e,
0x02, 0x73, 0x70, 0x58, 0x32, 0x5b, 0x1d, 0x67,
0x3d, 0xe0, 0x74, 0x4f, 0x03, 0xf2, 0x70, 0x51,
0x79, 0xf1, 0x61, 0x70, 0x15, 0x74, 0x9d, 0x23,
0x89, 0xde, 0xac, 0xfd, 0xde, 0xd0, 0x1f, 0xc3,
0x87, 0x44, 0x35, 0x4b, 0xe5, 0xb0, 0x60, 0xc5,
0x22, 0xe4, 0x9e, 0xca, 0xeb, 0xd5, 0x3a, 0x09,
0x45, 0xa4, 0xdb, 0xfa, 0x3f, 0xeb, 0x1b, 0xc7,
0xc8, 0x14, 0x99, 0x51, 0x92, 0x10, 0xed, 0xed,
0x28, 0xe0, 0xa1, 0xf8, 0x26, 0xcf, 0xcd, 0xcb,
0x63, 0xa1, 0x3b, 0xe3, 0xdf, 0x7e, 0xfe, 0xa6,
0xf0, 0x81, 0x9a, 0xbf, 0x55, 0xde, 0x54, 0xd5,
0x56, 0x60, 0x98, 0x10, 0x68, 0xf4, 0x38, 0x96,
0x8e, 0x6f, 0x1d, 0x44, 0x7f, 0xd6, 0x2f, 0xfe,
0x55, 0xfb, 0x0c, 0x7e, 0x67, 0xe2, 0x61, 0x44,
0xed, 0xf2, 0x35, 0x30, 0x5d, 0xe9, 0xc7, 0xd6,
0x6d, 0xe0, 0xa0, 0xed, 0xf3, 0xfc, 0xd8, 0x3e,
0x0a, 0x7b, 0xcd, 0xaf, 0x65, 0x68, 0x18, 0xc0,
0xec, 0x04, 0x1c, 0x74, 0x6d, 0xe2, 0x6e, 0x79,
0xd4, 0x11, 0x2b, 0x62, 0xd5, 0x27, 0xad, 0x4f,
0x01, 0x59, 0x73, 0xcc, 0x6a, 0x53, 0xfb, 0x2d,
0xd5, 0x4e, 0x99, 0x21, 0x65, 0x4d, 0xf5, 0x82,
0xf7, 0xd8, 0x42, 0xce, 0x6f, 0x3d, 0x36, 0x47,
0xf1, 0x05, 0x16, 0xe8, 0x1b, 0x6a, 0x8f, 0x93,
0xf2, 0x8f, 0x37, 0x40, 0x12, 0x28, 0xa3, 0xe6,
0xb9, 0x17, 0x4a, 0x1f, 0xb1, 0xd1, 0x66, 0x69,
0x86, 0xc4, 0xfc, 0x97, 0xae, 0x3f, 0x8f, 0x1e,
0x2b, 0xdf, 0xcd, 0xf9, 0x3c
};
static const uint8_t chacha20poly1305_enc_assoc011[] = {
0xd6, 0x31, 0xda, 0x5d, 0x42, 0x5e, 0xd7
};
static const uint8_t chacha20poly1305_enc_nonce011[] = {
0xfd, 0x87, 0xd4, 0xd8, 0x62, 0xfd, 0xec, 0xaa
};
static const uint8_t chacha20poly1305_enc_key011[] = {
0x35, 0x4e, 0xb5, 0x70, 0x50, 0x42, 0x8a, 0x85,
0xf2, 0xfb, 0xed, 0x7b, 0xd0, 0x9e, 0x97, 0xca,
0xfa, 0x98, 0x66, 0x63, 0xee, 0x37, 0xcc, 0x52,
0xfe, 0xd1, 0xdf, 0x95, 0x15, 0x34, 0x29, 0x38
};
static const uint8_t chacha20poly1305_enc_input012[] = {
0x74, 0xa6, 0x3e, 0xe4, 0xb1, 0xcb, 0xaf, 0xb0,
0x40, 0xe5, 0x0f, 0x9e, 0xf1, 0xf2, 0x89, 0xb5,
0x42, 0x34, 0x8a, 0xa1, 0x03, 0xb7, 0xe9, 0x57,
0x46, 0xbe, 0x20, 0xe4, 0x6e, 0xb0, 0xeb, 0xff,
0xea, 0x07, 0x7e, 0xef, 0xe2, 0x55, 0x9f, 0xe5,
0x78, 0x3a, 0xb7, 0x83, 0xc2, 0x18, 0x40, 0x7b,
0xeb, 0xcd, 0x81, 0xfb, 0x90, 0x12, 0x9e, 0x46,
0xa9, 0xd6, 0x4a, 0xba, 0xb0, 0x62, 0xdb, 0x6b,
0x99, 0xc4, 0xdb, 0x54, 0x4b, 0xb8, 0xa5, 0x71,
0xcb, 0xcd, 0x63, 0x32, 0x55, 0xfb, 0x31, 0xf0,
0x38, 0xf5, 0xbe, 0x78, 0xe4, 0x45, 0xce, 0x1b,
0x6a, 0x5b, 0x0e, 0xf4, 0x16, 0xe4, 0xb1, 0x3d,
0xf6, 0x63, 0x7b, 0xa7, 0x0c, 0xde, 0x6f, 0x8f,
0x74, 0xdf, 0xe0, 0x1e, 0x9d, 0xce, 0x8f, 0x24,
0xef, 0x23, 0x35, 0x33, 0x7b, 0x83, 0x34, 0x23,
0x58, 0x74, 0x14, 0x77, 0x1f, 0xc2, 0x4f, 0x4e,
0xc6, 0x89, 0xf9, 0x52, 0x09, 0x37, 0x64, 0x14,
0xc4, 0x01, 0x6b, 0x9d, 0x77, 0xe8, 0x90, 0x5d,
0xa8, 0x4a, 0x2a, 0xef, 0x5c, 0x7f, 0xeb, 0xbb,
0xb2, 0xc6, 0x93, 0x99, 0x66, 0xdc, 0x7f, 0xd4,
0x9e, 0x2a, 0xca, 0x8d, 0xdb, 0xe7, 0x20, 0xcf,
0xe4, 0x73, 0xae, 0x49, 0x7d, 0x64, 0x0f, 0x0e,
0x28, 0x46, 0xa9, 0xa8, 0x32, 0xe4, 0x0e, 0xf6,
0x51, 0x53, 0xb8, 0x3c, 0xb1, 0xff, 0xa3, 0x33,
0x41, 0x75, 0xff, 0xf1, 0x6f, 0xf1, 0xfb, 0xbb,
0x83, 0x7f, 0x06, 0x9b, 0xe7, 0x1b, 0x0a, 0xe0,
0x5c, 0x33, 0x60, 0x5b, 0xdb, 0x5b, 0xed, 0xfe,
0xa5, 0x16, 0x19, 0x72, 0xa3, 0x64, 0x23, 0x00,
0x02, 0xc7, 0xf3, 0x6a, 0x81, 0x3e, 0x44, 0x1d,
0x79, 0x15, 0x5f, 0x9a, 0xde, 0xe2, 0xfd, 0x1b,
0x73, 0xc1, 0xbc, 0x23, 0xba, 0x31, 0xd2, 0x50,
0xd5, 0xad, 0x7f, 0x74, 0xa7, 0xc9, 0xf8, 0x3e,
0x2b, 0x26, 0x10, 0xf6, 0x03, 0x36, 0x74, 0xe4,
0x0e, 0x6a, 0x72, 0xb7, 0x73, 0x0a, 0x42, 0x28,
0xc2, 0xad, 0x5e, 0x03, 0xbe, 0xb8, 0x0b, 0xa8,
0x5b, 0xd4, 0xb8, 0xba, 0x52, 0x89, 0xb1, 0x9b,
0xc1, 0xc3, 0x65, 0x87, 0xed, 0xa5, 0xf4, 0x86,
0xfd, 0x41, 0x80, 0x91, 0x27, 0x59, 0x53, 0x67,
0x15, 0x78, 0x54, 0x8b, 0x2d, 0x3d, 0xc7, 0xff,
0x02, 0x92, 0x07, 0x5f, 0x7a, 0x4b, 0x60, 0x59,
0x3c, 0x6f, 0x5c, 0xd8, 0xec, 0x95, 0xd2, 0xfe,
0xa0, 0x3b, 0xd8, 0x3f, 0xd1, 0x69, 0xa6, 0xd6,
0x41, 0xb2, 0xf4, 0x4d, 0x12, 0xf4, 0x58, 0x3e,
0x66, 0x64, 0x80, 0x31, 0x9b, 0xa8, 0x4c, 0x8b,
0x07, 0xb2, 0xec, 0x66, 0x94, 0x66, 0x47, 0x50,
0x50, 0x5f, 0x18, 0x0b, 0x0e, 0xd6, 0xc0, 0x39,
0x21, 0x13, 0x9e, 0x33, 0xbc, 0x79, 0x36, 0x02,
0x96, 0x70, 0xf0, 0x48, 0x67, 0x2f, 0x26, 0xe9,
0x6d, 0x10, 0xbb, 0xd6, 0x3f, 0xd1, 0x64, 0x7a,
0x2e, 0xbe, 0x0c, 0x61, 0xf0, 0x75, 0x42, 0x38,
0x23, 0xb1, 0x9e, 0x9f, 0x7c, 0x67, 0x66, 0xd9,
0x58, 0x9a, 0xf1, 0xbb, 0x41, 0x2a, 0x8d, 0x65,
0x84, 0x94, 0xfc, 0xdc, 0x6a, 0x50, 0x64, 0xdb,
0x56, 0x33, 0x76, 0x00, 0x10, 0xed, 0xbe, 0xd2,
0x12, 0xf6, 0xf6, 0x1b, 0xa2, 0x16, 0xde, 0xae,
0x31, 0x95, 0xdd, 0xb1, 0x08, 0x7e, 0x4e, 0xee,
0xe7, 0xf9, 0xa5, 0xfb, 0x5b, 0x61, 0x43, 0x00,
0x40, 0xf6, 0x7e, 0x02, 0x04, 0x32, 0x4e, 0x0c,
0xe2, 0x66, 0x0d, 0xd7, 0x07, 0x98, 0x0e, 0xf8,
0x72, 0x34, 0x6d, 0x95, 0x86, 0xd7, 0xcb, 0x31,
0x54, 0x47, 0xd0, 0x38, 0x29, 0x9c, 0x5a, 0x68,
0xd4, 0x87, 0x76, 0xc9, 0xe7, 0x7e, 0xe3, 0xf4,
0x81, 0x6d, 0x18, 0xcb, 0xc9, 0x05, 0xaf, 0xa0,
0xfb, 0x66, 0xf7, 0xf1, 0x1c, 0xc6, 0x14, 0x11,
0x4f, 0x2b, 0x79, 0x42, 0x8b, 0xbc, 0xac, 0xe7,
0x6c, 0xfe, 0x0f, 0x58, 0xe7, 0x7c, 0x78, 0x39,
0x30, 0xb0, 0x66, 0x2c, 0x9b, 0x6d, 0x3a, 0xe1,
0xcf, 0xc9, 0xa4, 0x0e, 0x6d, 0x6d, 0x8a, 0xa1,
0x3a, 0xe7, 0x28, 0xd4, 0x78, 0x4c, 0xa6, 0xa2,
0x2a, 0xa6, 0x03, 0x30, 0xd7, 0xa8, 0x25, 0x66,
0x87, 0x2f, 0x69, 0x5c, 0x4e, 0xdd, 0xa5, 0x49,
0x5d, 0x37, 0x4a, 0x59, 0xc4, 0xaf, 0x1f, 0xa2,
0xe4, 0xf8, 0xa6, 0x12, 0x97, 0xd5, 0x79, 0xf5,
0xe2, 0x4a, 0x2b, 0x5f, 0x61, 0xe4, 0x9e, 0xe3,
0xee, 0xb8, 0xa7, 0x5b, 0x2f, 0xf4, 0x9e, 0x6c,
0xfb, 0xd1, 0xc6, 0x56, 0x77, 0xba, 0x75, 0xaa,
0x3d, 0x1a, 0xa8, 0x0b, 0xb3, 0x68, 0x24, 0x00,
0x10, 0x7f, 0xfd, 0xd7, 0xa1, 0x8d, 0x83, 0x54,
0x4f, 0x1f, 0xd8, 0x2a, 0xbe, 0x8a, 0x0c, 0x87,
0xab, 0xa2, 0xde, 0xc3, 0x39, 0xbf, 0x09, 0x03,
0xa5, 0xf3, 0x05, 0x28, 0xe1, 0xe1, 0xee, 0x39,
0x70, 0x9c, 0xd8, 0x81, 0x12, 0x1e, 0x02, 0x40,
0xd2, 0x6e, 0xf0, 0xeb, 0x1b, 0x3d, 0x22, 0xc6,
0xe5, 0xe3, 0xb4, 0x5a, 0x98, 0xbb, 0xf0, 0x22,
0x28, 0x8d, 0xe5, 0xd3, 0x16, 0x48, 0x24, 0xa5,
0xe6, 0x66, 0x0c, 0xf9, 0x08, 0xf9, 0x7e, 0x1e,
0xe1, 0x28, 0x26, 0x22, 0xc7, 0xc7, 0x0a, 0x32,
0x47, 0xfa, 0xa3, 0xbe, 0x3c, 0xc4, 0xc5, 0x53,
0x0a, 0xd5, 0x94, 0x4a, 0xd7, 0x93, 0xd8, 0x42,
0x99, 0xb9, 0x0a, 0xdb, 0x56, 0xf7, 0xb9, 0x1c,
0x53, 0x4f, 0xfa, 0xd3, 0x74, 0xad, 0xd9, 0x68,
0xf1, 0x1b, 0xdf, 0x61, 0xc6, 0x5e, 0xa8, 0x48,
0xfc, 0xd4, 0x4a, 0x4c, 0x3c, 0x32, 0xf7, 0x1c,
0x96, 0x21, 0x9b, 0xf9, 0xa3, 0xcc, 0x5a, 0xce,
0xd5, 0xd7, 0x08, 0x24, 0xf6, 0x1c, 0xfd, 0xdd,
0x38, 0xc2, 0x32, 0xe9, 0xb8, 0xe7, 0xb6, 0xfa,
0x9d, 0x45, 0x13, 0x2c, 0x83, 0xfd, 0x4a, 0x69,
0x82, 0xcd, 0xdc, 0xb3, 0x76, 0x0c, 0x9e, 0xd8,
0xf4, 0x1b, 0x45, 0x15, 0xb4, 0x97, 0xe7, 0x58,
0x34, 0xe2, 0x03, 0x29, 0x5a, 0xbf, 0xb6, 0xe0,
0x5d, 0x13, 0xd9, 0x2b, 0xb4, 0x80, 0xb2, 0x45,
0x81, 0x6a, 0x2e, 0x6c, 0x89, 0x7d, 0xee, 0xbb,
0x52, 0xdd, 0x1f, 0x18, 0xe7, 0x13, 0x6b, 0x33,
0x0e, 0xea, 0x36, 0x92, 0x77, 0x7b, 0x6d, 0x9c,
0x5a, 0x5f, 0x45, 0x7b, 0x7b, 0x35, 0x62, 0x23,
0xd1, 0xbf, 0x0f, 0xd0, 0x08, 0x1b, 0x2b, 0x80,
0x6b, 0x7e, 0xf1, 0x21, 0x47, 0xb0, 0x57, 0xd1,
0x98, 0x72, 0x90, 0x34, 0x1c, 0x20, 0x04, 0xff,
0x3d, 0x5c, 0xee, 0x0e, 0x57, 0x5f, 0x6f, 0x24,
0x4e, 0x3c, 0xea, 0xfc, 0xa5, 0xa9, 0x83, 0xc9,
0x61, 0xb4, 0x51, 0x24, 0xf8, 0x27, 0x5e, 0x46,
0x8c, 0xb1, 0x53, 0x02, 0x96, 0x35, 0xba, 0xb8,
0x4c, 0x71, 0xd3, 0x15, 0x59, 0x35, 0x22, 0x20,
0xad, 0x03, 0x9f, 0x66, 0x44, 0x3b, 0x9c, 0x35,
0x37, 0x1f, 0x9b, 0xbb, 0xf3, 0xdb, 0x35, 0x63,
0x30, 0x64, 0xaa, 0xa2, 0x06, 0xa8, 0x5d, 0xbb,
0xe1, 0x9f, 0x70, 0xec, 0x82, 0x11, 0x06, 0x36,
0xec, 0x8b, 0x69, 0x66, 0x24, 0x44, 0xc9, 0x4a,
0x57, 0xbb, 0x9b, 0x78, 0x13, 0xce, 0x9c, 0x0c,
0xba, 0x92, 0x93, 0x63, 0xb8, 0xe2, 0x95, 0x0f,
0x0f, 0x16, 0x39, 0x52, 0xfd, 0x3a, 0x6d, 0x02,
0x4b, 0xdf, 0x13, 0xd3, 0x2a, 0x22, 0xb4, 0x03,
0x7c, 0x54, 0x49, 0x96, 0x68, 0x54, 0x10, 0xfa,
0xef, 0xaa, 0x6c, 0xe8, 0x22, 0xdc, 0x71, 0x16,
0x13, 0x1a, 0xf6, 0x28, 0xe5, 0x6d, 0x77, 0x3d,
0xcd, 0x30, 0x63, 0xb1, 0x70, 0x52, 0xa1, 0xc5,
0x94, 0x5f, 0xcf, 0xe8, 0xb8, 0x26, 0x98, 0xf7,
0x06, 0xa0, 0x0a, 0x70, 0xfa, 0x03, 0x80, 0xac,
0xc1, 0xec, 0xd6, 0x4c, 0x54, 0xd7, 0xfe, 0x47,
0xb6, 0x88, 0x4a, 0xf7, 0x71, 0x24, 0xee, 0xf3,
0xd2, 0xc2, 0x4a, 0x7f, 0xfe, 0x61, 0xc7, 0x35,
0xc9, 0x37, 0x67, 0xcb, 0x24, 0x35, 0xda, 0x7e,
0xca, 0x5f, 0xf3, 0x8d, 0xd4, 0x13, 0x8e, 0xd6,
0xcb, 0x4d, 0x53, 0x8f, 0x53, 0x1f, 0xc0, 0x74,
0xf7, 0x53, 0xb9, 0x5e, 0x23, 0x37, 0xba, 0x6e,
0xe3, 0x9d, 0x07, 0x55, 0x25, 0x7b, 0xe6, 0x2a,
0x64, 0xd1, 0x32, 0xdd, 0x54, 0x1b, 0x4b, 0xc0,
0xe1, 0xd7, 0x69, 0x58, 0xf8, 0x93, 0x29, 0xc4,
0xdd, 0x23, 0x2f, 0xa5, 0xfc, 0x9d, 0x7e, 0xf8,
0xd4, 0x90, 0xcd, 0x82, 0x55, 0xdc, 0x16, 0x16,
0x9f, 0x07, 0x52, 0x9b, 0x9d, 0x25, 0xed, 0x32,
0xc5, 0x7b, 0xdf, 0xf6, 0x83, 0x46, 0x3d, 0x65,
0xb7, 0xef, 0x87, 0x7a, 0x12, 0x69, 0x8f, 0x06,
0x7c, 0x51, 0x15, 0x4a, 0x08, 0xe8, 0xac, 0x9a,
0x0c, 0x24, 0xa7, 0x27, 0xd8, 0x46, 0x2f, 0xe7,
0x01, 0x0e, 0x1c, 0xc6, 0x91, 0xb0, 0x6e, 0x85,
0x65, 0xf0, 0x29, 0x0d, 0x2e, 0x6b, 0x3b, 0xfb,
0x4b, 0xdf, 0xe4, 0x80, 0x93, 0x03, 0x66, 0x46,
0x3e, 0x8a, 0x6e, 0xf3, 0x5e, 0x4d, 0x62, 0x0e,
0x49, 0x05, 0xaf, 0xd4, 0xf8, 0x21, 0x20, 0x61,
0x1d, 0x39, 0x17, 0xf4, 0x61, 0x47, 0x95, 0xfb,
0x15, 0x2e, 0xb3, 0x4f, 0xd0, 0x5d, 0xf5, 0x7d,
0x40, 0xda, 0x90, 0x3c, 0x6b, 0xcb, 0x17, 0x00,
0x13, 0x3b, 0x64, 0x34, 0x1b, 0xf0, 0xf2, 0xe5,
0x3b, 0xb2, 0xc7, 0xd3, 0x5f, 0x3a, 0x44, 0xa6,
0x9b, 0xb7, 0x78, 0x0e, 0x42, 0x5d, 0x4c, 0xc1,
0xe9, 0xd2, 0xcb, 0xb7, 0x78, 0xd1, 0xfe, 0x9a,
0xb5, 0x07, 0xe9, 0xe0, 0xbe, 0xe2, 0x8a, 0xa7,
0x01, 0x83, 0x00, 0x8c, 0x5c, 0x08, 0xe6, 0x63,
0x12, 0x92, 0xb7, 0xb7, 0xa6, 0x19, 0x7d, 0x38,
0x13, 0x38, 0x92, 0x87, 0x24, 0xf9, 0x48, 0xb3,
0x5e, 0x87, 0x6a, 0x40, 0x39, 0x5c, 0x3f, 0xed,
0x8f, 0xee, 0xdb, 0x15, 0x82, 0x06, 0xda, 0x49,
0x21, 0x2b, 0xb5, 0xbf, 0x32, 0x7c, 0x9f, 0x42,
0x28, 0x63, 0xcf, 0xaf, 0x1e, 0xf8, 0xc6, 0xa0,
0xd1, 0x02, 0x43, 0x57, 0x62, 0xec, 0x9b, 0x0f,
0x01, 0x9e, 0x71, 0xd8, 0x87, 0x9d, 0x01, 0xc1,
0x58, 0x77, 0xd9, 0xaf, 0xb1, 0x10, 0x7e, 0xdd,
0xa6, 0x50, 0x96, 0xe5, 0xf0, 0x72, 0x00, 0x6d,
0x4b, 0xf8, 0x2a, 0x8f, 0x19, 0xf3, 0x22, 0x88,
0x11, 0x4a, 0x8b, 0x7c, 0xfd, 0xb7, 0xed, 0xe1,
0xf6, 0x40, 0x39, 0xe0, 0xe9, 0xf6, 0x3d, 0x25,
0xe6, 0x74, 0x3c, 0x58, 0x57, 0x7f, 0xe1, 0x22,
0x96, 0x47, 0x31, 0x91, 0xba, 0x70, 0x85, 0x28,
0x6b, 0x9f, 0x6e, 0x25, 0xac, 0x23, 0x66, 0x2f,
0x29, 0x88, 0x28, 0xce, 0x8c, 0x5c, 0x88, 0x53,
0xd1, 0x3b, 0xcc, 0x6a, 0x51, 0xb2, 0xe1, 0x28,
0x3f, 0x91, 0xb4, 0x0d, 0x00, 0x3a, 0xe3, 0xf8,
0xc3, 0x8f, 0xd7, 0x96, 0x62, 0x0e, 0x2e, 0xfc,
0xc8, 0x6c, 0x77, 0xa6, 0x1d, 0x22, 0xc1, 0xb8,
0xe6, 0x61, 0xd7, 0x67, 0x36, 0x13, 0x7b, 0xbb,
0x9b, 0x59, 0x09, 0xa6, 0xdf, 0xf7, 0x6b, 0xa3,
0x40, 0x1a, 0xf5, 0x4f, 0xb4, 0xda, 0xd3, 0xf3,
0x81, 0x93, 0xc6, 0x18, 0xd9, 0x26, 0xee, 0xac,
0xf0, 0xaa, 0xdf, 0xc5, 0x9c, 0xca, 0xc2, 0xa2,
0xcc, 0x7b, 0x5c, 0x24, 0xb0, 0xbc, 0xd0, 0x6a,
0x4d, 0x89, 0x09, 0xb8, 0x07, 0xfe, 0x87, 0xad,
0x0a, 0xea, 0xb8, 0x42, 0xf9, 0x5e, 0xb3, 0x3e,
0x36, 0x4c, 0xaf, 0x75, 0x9e, 0x1c, 0xeb, 0xbd,
0xbc, 0xbb, 0x80, 0x40, 0xa7, 0x3a, 0x30, 0xbf,
0xa8, 0x44, 0xf4, 0xeb, 0x38, 0xad, 0x29, 0xba,
0x23, 0xed, 0x41, 0x0c, 0xea, 0xd2, 0xbb, 0x41,
0x18, 0xd6, 0xb9, 0xba, 0x65, 0x2b, 0xa3, 0x91,
0x6d, 0x1f, 0xa9, 0xf4, 0xd1, 0x25, 0x8d, 0x4d,
0x38, 0xff, 0x64, 0xa0, 0xec, 0xde, 0xa6, 0xb6,
0x79, 0xab, 0x8e, 0x33, 0x6c, 0x47, 0xde, 0xaf,
0x94, 0xa4, 0xa5, 0x86, 0x77, 0x55, 0x09, 0x92,
0x81, 0x31, 0x76, 0xc7, 0x34, 0x22, 0x89, 0x8e,
0x3d, 0x26, 0x26, 0xd7, 0xfc, 0x1e, 0x16, 0x72,
0x13, 0x33, 0x63, 0xd5, 0x22, 0xbe, 0xb8, 0x04,
0x34, 0x84, 0x41, 0xbb, 0x80, 0xd0, 0x9f, 0x46,
0x48, 0x07, 0xa7, 0xfc, 0x2b, 0x3a, 0x75, 0x55,
0x8c, 0xc7, 0x6a, 0xbd, 0x7e, 0x46, 0x08, 0x84,
0x0f, 0xd5, 0x74, 0xc0, 0x82, 0x8e, 0xaa, 0x61,
0x05, 0x01, 0xb2, 0x47, 0x6e, 0x20, 0x6a, 0x2d,
0x58, 0x70, 0x48, 0x32, 0xa7, 0x37, 0xd2, 0xb8,
0x82, 0x1a, 0x51, 0xb9, 0x61, 0xdd, 0xfd, 0x9d,
0x6b, 0x0e, 0x18, 0x97, 0xf8, 0x45, 0x5f, 0x87,
0x10, 0xcf, 0x34, 0x72, 0x45, 0x26, 0x49, 0x70,
0xe7, 0xa3, 0x78, 0xe0, 0x52, 0x89, 0x84, 0x94,
0x83, 0x82, 0xc2, 0x69, 0x8f, 0xe3, 0xe1, 0x3f,
0x60, 0x74, 0x88, 0xc4, 0xf7, 0x75, 0x2c, 0xfb,
0xbd, 0xb6, 0xc4, 0x7e, 0x10, 0x0a, 0x6c, 0x90,
0x04, 0x9e, 0xc3, 0x3f, 0x59, 0x7c, 0xce, 0x31,
0x18, 0x60, 0x57, 0x73, 0x46, 0x94, 0x7d, 0x06,
0xa0, 0x6d, 0x44, 0xec, 0xa2, 0x0a, 0x9e, 0x05,
0x15, 0xef, 0xca, 0x5c, 0xbf, 0x00, 0xeb, 0xf7,
0x3d, 0x32, 0xd4, 0xa5, 0xef, 0x49, 0x89, 0x5e,
0x46, 0xb0, 0xa6, 0x63, 0x5b, 0x8a, 0x73, 0xae,
0x6f, 0xd5, 0x9d, 0xf8, 0x4f, 0x40, 0xb5, 0xb2,
0x6e, 0xd3, 0xb6, 0x01, 0xa9, 0x26, 0xa2, 0x21,
0xcf, 0x33, 0x7a, 0x3a, 0xa4, 0x23, 0x13, 0xb0,
0x69, 0x6a, 0xee, 0xce, 0xd8, 0x9d, 0x01, 0x1d,
0x50, 0xc1, 0x30, 0x6c, 0xb1, 0xcd, 0xa0, 0xf0,
0xf0, 0xa2, 0x64, 0x6f, 0xbb, 0xbf, 0x5e, 0xe6,
0xab, 0x87, 0xb4, 0x0f, 0x4f, 0x15, 0xaf, 0xb5,
0x25, 0xa1, 0xb2, 0xd0, 0x80, 0x2c, 0xfb, 0xf9,
0xfe, 0xd2, 0x33, 0xbb, 0x76, 0xfe, 0x7c, 0xa8,
0x66, 0xf7, 0xe7, 0x85, 0x9f, 0x1f, 0x85, 0x57,
0x88, 0xe1, 0xe9, 0x63, 0xe4, 0xd8, 0x1c, 0xa1,
0xfb, 0xda, 0x44, 0x05, 0x2e, 0x1d, 0x3a, 0x1c,
0xff, 0xc8, 0x3b, 0xc0, 0xfe, 0xda, 0x22, 0x0b,
0x43, 0xd6, 0x88, 0x39, 0x4c, 0x4a, 0xa6, 0x69,
0x18, 0x93, 0x42, 0x4e, 0xb5, 0xcc, 0x66, 0x0d,
0x09, 0xf8, 0x1e, 0x7c, 0xd3, 0x3c, 0x99, 0x0d,
0x50, 0x1d, 0x62, 0xe9, 0x57, 0x06, 0xbf, 0x19,
0x88, 0xdd, 0xad, 0x7b, 0x4f, 0xf9, 0xc7, 0x82,
0x6d, 0x8d, 0xc8, 0xc4, 0xc5, 0x78, 0x17, 0x20,
0x15, 0xc5, 0x52, 0x41, 0xcf, 0x5b, 0xd6, 0x7f,
0x94, 0x02, 0x41, 0xe0, 0x40, 0x22, 0x03, 0x5e,
0xd1, 0x53, 0xd4, 0x86, 0xd3, 0x2c, 0x9f, 0x0f,
0x96, 0xe3, 0x6b, 0x9a, 0x76, 0x32, 0x06, 0x47,
0x4b, 0x11, 0xb3, 0xdd, 0x03, 0x65, 0xbd, 0x9b,
0x01, 0xda, 0x9c, 0xb9, 0x7e, 0x3f, 0x6a, 0xc4,
0x7b, 0xea, 0xd4, 0x3c, 0xb9, 0xfb, 0x5c, 0x6b,
0x64, 0x33, 0x52, 0xba, 0x64, 0x78, 0x8f, 0xa4,
0xaf, 0x7a, 0x61, 0x8d, 0xbc, 0xc5, 0x73, 0xe9,
0x6b, 0x58, 0x97, 0x4b, 0xbf, 0x63, 0x22, 0xd3,
0x37, 0x02, 0x54, 0xc5, 0xb9, 0x16, 0x4a, 0xf0,
0x19, 0xd8, 0x94, 0x57, 0xb8, 0x8a, 0xb3, 0x16,
0x3b, 0xd0, 0x84, 0x8e, 0x67, 0xa6, 0xa3, 0x7d,
0x78, 0xec, 0x00
};
static const uint8_t chacha20poly1305_enc_output012[] = {
0x52, 0x34, 0xb3, 0x65, 0x3b, 0xb7, 0xe5, 0xd3,
0xab, 0x49, 0x17, 0x60, 0xd2, 0x52, 0x56, 0xdf,
0xdf, 0x34, 0x56, 0x82, 0xe2, 0xbe, 0xe5, 0xe1,
0x28, 0xd1, 0x4e, 0x5f, 0x4f, 0x01, 0x7d, 0x3f,
0x99, 0x6b, 0x30, 0x6e, 0x1a, 0x7c, 0x4c, 0x8e,
0x62, 0x81, 0xae, 0x86, 0x3f, 0x6b, 0xd0, 0xb5,
0xa9, 0xcf, 0x50, 0xf1, 0x02, 0x12, 0xa0, 0x0b,
0x24, 0xe9, 0xe6, 0x72, 0x89, 0x2c, 0x52, 0x1b,
0x34, 0x38, 0xf8, 0x75, 0x5f, 0xa0, 0x74, 0xe2,
0x99, 0xdd, 0xa6, 0x4b, 0x14, 0x50, 0x4e, 0xf1,
0xbe, 0xd6, 0x9e, 0xdb, 0xb2, 0x24, 0x27, 0x74,
0x12, 0x4a, 0x78, 0x78, 0x17, 0xa5, 0x58, 0x8e,
0x2f, 0xf9, 0xf4, 0x8d, 0xee, 0x03, 0x88, 0xae,
0xb8, 0x29, 0xa1, 0x2f, 0x4b, 0xee, 0x92, 0xbd,
0x87, 0xb3, 0xce, 0x34, 0x21, 0x57, 0x46, 0x04,
0x49, 0x0c, 0x80, 0xf2, 0x01, 0x13, 0xa1, 0x55,
0xb3, 0xff, 0x44, 0x30, 0x3c, 0x1c, 0xd0, 0xef,
0xbc, 0x18, 0x74, 0x26, 0xad, 0x41, 0x5b, 0x5b,
0x3e, 0x9a, 0x7a, 0x46, 0x4f, 0x16, 0xd6, 0x74,
0x5a, 0xb7, 0x3a, 0x28, 0x31, 0xd8, 0xae, 0x26,
0xac, 0x50, 0x53, 0x86, 0xf2, 0x56, 0xd7, 0x3f,
0x29, 0xbc, 0x45, 0x68, 0x8e, 0xcb, 0x98, 0x64,
0xdd, 0xc9, 0xba, 0xb8, 0x4b, 0x7b, 0x82, 0xdd,
0x14, 0xa7, 0xcb, 0x71, 0x72, 0x00, 0x5c, 0xad,
0x7b, 0x6a, 0x89, 0xa4, 0x3d, 0xbf, 0xb5, 0x4b,
0x3e, 0x7c, 0x5a, 0xcf, 0xb8, 0xa1, 0xc5, 0x6e,
0xc8, 0xb6, 0x31, 0x57, 0x7b, 0xdf, 0xa5, 0x7e,
0xb1, 0xd6, 0x42, 0x2a, 0x31, 0x36, 0xd1, 0xd0,
0x3f, 0x7a, 0xe5, 0x94, 0xd6, 0x36, 0xa0, 0x6f,
0xb7, 0x40, 0x7d, 0x37, 0xc6, 0x55, 0x7c, 0x50,
0x40, 0x6d, 0x29, 0x89, 0xe3, 0x5a, 0xae, 0x97,
0xe7, 0x44, 0x49, 0x6e, 0xbd, 0x81, 0x3d, 0x03,
0x93, 0x06, 0x12, 0x06, 0xe2, 0x41, 0x12, 0x4a,
0xf1, 0x6a, 0xa4, 0x58, 0xa2, 0xfb, 0xd2, 0x15,
0xba, 0xc9, 0x79, 0xc9, 0xce, 0x5e, 0x13, 0xbb,
0xf1, 0x09, 0x04, 0xcc, 0xfd, 0xe8, 0x51, 0x34,
0x6a, 0xe8, 0x61, 0x88, 0xda, 0xed, 0x01, 0x47,
0x84, 0xf5, 0x73, 0x25, 0xf9, 0x1c, 0x42, 0x86,
0x07, 0xf3, 0x5b, 0x1a, 0x01, 0xb3, 0xeb, 0x24,
0x32, 0x8d, 0xf6, 0xed, 0x7c, 0x4b, 0xeb, 0x3c,
0x36, 0x42, 0x28, 0xdf, 0xdf, 0xb6, 0xbe, 0xd9,
0x8c, 0x52, 0xd3, 0x2b, 0x08, 0x90, 0x8c, 0xe7,
0x98, 0x31, 0xe2, 0x32, 0x8e, 0xfc, 0x11, 0x48,
0x00, 0xa8, 0x6a, 0x42, 0x4a, 0x02, 0xc6, 0x4b,
0x09, 0xf1, 0xe3, 0x49, 0xf3, 0x45, 0x1f, 0x0e,
0xbc, 0x56, 0xe2, 0xe4, 0xdf, 0xfb, 0xeb, 0x61,
0xfa, 0x24, 0xc1, 0x63, 0x75, 0xbb, 0x47, 0x75,
0xaf, 0xe1, 0x53, 0x16, 0x96, 0x21, 0x85, 0x26,
0x11, 0xb3, 0x76, 0xe3, 0x23, 0xa1, 0x6b, 0x74,
0x37, 0xd0, 0xde, 0x06, 0x90, 0x71, 0x5d, 0x43,
0x88, 0x9b, 0x00, 0x54, 0xa6, 0x75, 0x2f, 0xa1,
0xc2, 0x0b, 0x73, 0x20, 0x1d, 0xb6, 0x21, 0x79,
0x57, 0x3f, 0xfa, 0x09, 0xbe, 0x8a, 0x33, 0xc3,
0x52, 0xf0, 0x1d, 0x82, 0x31, 0xd1, 0x55, 0xb5,
0x6c, 0x99, 0x25, 0xcf, 0x5c, 0x32, 0xce, 0xe9,
0x0d, 0xfa, 0x69, 0x2c, 0xd5, 0x0d, 0xc5, 0x6d,
0x86, 0xd0, 0x0c, 0x3b, 0x06, 0x50, 0x79, 0xe8,
0xc3, 0xae, 0x04, 0xe6, 0xcd, 0x51, 0xe4, 0x26,
0x9b, 0x4f, 0x7e, 0xa6, 0x0f, 0xab, 0xd8, 0xe5,
0xde, 0xa9, 0x00, 0x95, 0xbe, 0xa3, 0x9d, 0x5d,
0xb2, 0x09, 0x70, 0x18, 0x1c, 0xf0, 0xac, 0x29,
0x23, 0x02, 0x29, 0x28, 0xd2, 0x74, 0x35, 0x57,
0x62, 0x0f, 0x24, 0xea, 0x5e, 0x33, 0xc2, 0x92,
0xf3, 0x78, 0x4d, 0x30, 0x1e, 0xa1, 0x99, 0xa9,
0x82, 0xb0, 0x42, 0x31, 0x8d, 0xad, 0x8a, 0xbc,
0xfc, 0xd4, 0x57, 0x47, 0x3e, 0xb4, 0x50, 0xdd,
0x6e, 0x2c, 0x80, 0x4d, 0x22, 0xf1, 0xfb, 0x57,
0xc4, 0xdd, 0x17, 0xe1, 0x8a, 0x36, 0x4a, 0xb3,
0x37, 0xca, 0xc9, 0x4e, 0xab, 0xd5, 0x69, 0xc4,
0xf4, 0xbc, 0x0b, 0x3b, 0x44, 0x4b, 0x29, 0x9c,
0xee, 0xd4, 0x35, 0x22, 0x21, 0xb0, 0x1f, 0x27,
0x64, 0xa8, 0x51, 0x1b, 0xf0, 0x9f, 0x19, 0x5c,
0xfb, 0x5a, 0x64, 0x74, 0x70, 0x45, 0x09, 0xf5,
0x64, 0xfe, 0x1a, 0x2d, 0xc9, 0x14, 0x04, 0x14,
0xcf, 0xd5, 0x7d, 0x60, 0xaf, 0x94, 0x39, 0x94,
0xe2, 0x7d, 0x79, 0x82, 0xd0, 0x65, 0x3b, 0x6b,
0x9c, 0x19, 0x84, 0xb4, 0x6d, 0xb3, 0x0c, 0x99,
0xc0, 0x56, 0xa8, 0xbd, 0x73, 0xce, 0x05, 0x84,
0x3e, 0x30, 0xaa, 0xc4, 0x9b, 0x1b, 0x04, 0x2a,
0x9f, 0xd7, 0x43, 0x2b, 0x23, 0xdf, 0xbf, 0xaa,
0xd5, 0xc2, 0x43, 0x2d, 0x70, 0xab, 0xdc, 0x75,
0xad, 0xac, 0xf7, 0xc0, 0xbe, 0x67, 0xb2, 0x74,
0xed, 0x67, 0x10, 0x4a, 0x92, 0x60, 0xc1, 0x40,
0x50, 0x19, 0x8a, 0x8a, 0x8c, 0x09, 0x0e, 0x72,
0xe1, 0x73, 0x5e, 0xe8, 0x41, 0x85, 0x63, 0x9f,
0x3f, 0xd7, 0x7d, 0xc4, 0xfb, 0x22, 0x5d, 0x92,
0x6c, 0xb3, 0x1e, 0xe2, 0x50, 0x2f, 0x82, 0xa8,
0x28, 0xc0, 0xb5, 0xd7, 0x5f, 0x68, 0x0d, 0x2c,
0x2d, 0xaf, 0x7e, 0xfa, 0x2e, 0x08, 0x0f, 0x1f,
0x70, 0x9f, 0xe9, 0x19, 0x72, 0x55, 0xf8, 0xfb,
0x51, 0xd2, 0x33, 0x5d, 0xa0, 0xd3, 0x2b, 0x0a,
0x6c, 0xbc, 0x4e, 0xcf, 0x36, 0x4d, 0xdc, 0x3b,
0xe9, 0x3e, 0x81, 0x7c, 0x61, 0xdb, 0x20, 0x2d,
0x3a, 0xc3, 0xb3, 0x0c, 0x1e, 0x00, 0xb9, 0x7c,
0xf5, 0xca, 0x10, 0x5f, 0x3a, 0x71, 0xb3, 0xe4,
0x20, 0xdb, 0x0c, 0x2a, 0x98, 0x63, 0x45, 0x00,
0x58, 0xf6, 0x68, 0xe4, 0x0b, 0xda, 0x13, 0x3b,
0x60, 0x5c, 0x76, 0xdb, 0xb9, 0x97, 0x71, 0xe4,
0xd9, 0xb7, 0xdb, 0xbd, 0x68, 0xc7, 0x84, 0x84,
0xaa, 0x7c, 0x68, 0x62, 0x5e, 0x16, 0xfc, 0xba,
0x72, 0xaa, 0x9a, 0xa9, 0xeb, 0x7c, 0x75, 0x47,
0x97, 0x7e, 0xad, 0xe2, 0xd9, 0x91, 0xe8, 0xe4,
0xa5, 0x31, 0xd7, 0x01, 0x8e, 0xa2, 0x11, 0x88,
0x95, 0xb9, 0xf2, 0x9b, 0xd3, 0x7f, 0x1b, 0x81,
0x22, 0xf7, 0x98, 0x60, 0x0a, 0x64, 0xa6, 0xc1,
0xf6, 0x49, 0xc7, 0xe3, 0x07, 0x4d, 0x94, 0x7a,
0xcf, 0x6e, 0x68, 0x0c, 0x1b, 0x3f, 0x6e, 0x2e,
0xee, 0x92, 0xfa, 0x52, 0xb3, 0x59, 0xf8, 0xf1,
0x8f, 0x6a, 0x66, 0xa3, 0x82, 0x76, 0x4a, 0x07,
0x1a, 0xc7, 0xdd, 0xf5, 0xda, 0x9c, 0x3c, 0x24,
0xbf, 0xfd, 0x42, 0xa1, 0x10, 0x64, 0x6a, 0x0f,
0x89, 0xee, 0x36, 0xa5, 0xce, 0x99, 0x48, 0x6a,
0xf0, 0x9f, 0x9e, 0x69, 0xa4, 0x40, 0x20, 0xe9,
0x16, 0x15, 0xf7, 0xdb, 0x75, 0x02, 0xcb, 0xe9,
0x73, 0x8b, 0x3b, 0x49, 0x2f, 0xf0, 0xaf, 0x51,
0x06, 0x5c, 0xdf, 0x27, 0x27, 0x49, 0x6a, 0xd1,
0xcc, 0xc7, 0xb5, 0x63, 0xb5, 0xfc, 0xb8, 0x5c,
0x87, 0x7f, 0x84, 0xb4, 0xcc, 0x14, 0xa9, 0x53,
0xda, 0xa4, 0x56, 0xf8, 0xb6, 0x1b, 0xcc, 0x40,
0x27, 0x52, 0x06, 0x5a, 0x13, 0x81, 0xd7, 0x3a,
0xd4, 0x3b, 0xfb, 0x49, 0x65, 0x31, 0x33, 0xb2,
0xfa, 0xcd, 0xad, 0x58, 0x4e, 0x2b, 0xae, 0xd2,
0x20, 0xfb, 0x1a, 0x48, 0xb4, 0x3f, 0x9a, 0xd8,
0x7a, 0x35, 0x4a, 0xc8, 0xee, 0x88, 0x5e, 0x07,
0x66, 0x54, 0xb9, 0xec, 0x9f, 0xa3, 0xe3, 0xb9,
0x37, 0xaa, 0x49, 0x76, 0x31, 0xda, 0x74, 0x2d,
0x3c, 0xa4, 0x65, 0x10, 0x32, 0x38, 0xf0, 0xde,
0xd3, 0x99, 0x17, 0xaa, 0x71, 0xaa, 0x8f, 0x0f,
0x8c, 0xaf, 0xa2, 0xf8, 0x5d, 0x64, 0xba, 0x1d,
0xa3, 0xef, 0x96, 0x73, 0xe8, 0xa1, 0x02, 0x8d,
0x0c, 0x6d, 0xb8, 0x06, 0x90, 0xb8, 0x08, 0x56,
0x2c, 0xa7, 0x06, 0xc9, 0xc2, 0x38, 0xdb, 0x7c,
0x63, 0xb1, 0x57, 0x8e, 0xea, 0x7c, 0x79, 0xf3,
0x49, 0x1d, 0xfe, 0x9f, 0xf3, 0x6e, 0xb1, 0x1d,
0xba, 0x19, 0x80, 0x1a, 0x0a, 0xd3, 0xb0, 0x26,
0x21, 0x40, 0xb1, 0x7c, 0xf9, 0x4d, 0x8d, 0x10,
0xc1, 0x7e, 0xf4, 0xf6, 0x3c, 0xa8, 0xfd, 0x7c,
0xa3, 0x92, 0xb2, 0x0f, 0xaa, 0xcc, 0xa6, 0x11,
0xfe, 0x04, 0xe3, 0xd1, 0x7a, 0x32, 0x89, 0xdf,
0x0d, 0xc4, 0x8f, 0x79, 0x6b, 0xca, 0x16, 0x7c,
0x6e, 0xf9, 0xad, 0x0f, 0xf6, 0xfe, 0x27, 0xdb,
0xc4, 0x13, 0x70, 0xf1, 0x62, 0x1a, 0x4f, 0x79,
0x40, 0xc9, 0x9b, 0x8b, 0x21, 0xea, 0x84, 0xfa,
0xf5, 0xf1, 0x89, 0xce, 0xb7, 0x55, 0x0a, 0x80,
0x39, 0x2f, 0x55, 0x36, 0x16, 0x9c, 0x7b, 0x08,
0xbd, 0x87, 0x0d, 0xa5, 0x32, 0xf1, 0x52, 0x7c,
0xe8, 0x55, 0x60, 0x5b, 0xd7, 0x69, 0xe4, 0xfc,
0xfa, 0x12, 0x85, 0x96, 0xea, 0x50, 0x28, 0xab,
0x8a, 0xf7, 0xbb, 0x0e, 0x53, 0x74, 0xca, 0xa6,
0x27, 0x09, 0xc2, 0xb5, 0xde, 0x18, 0x14, 0xd9,
0xea, 0xe5, 0x29, 0x1c, 0x40, 0x56, 0xcf, 0xd7,
0xae, 0x05, 0x3f, 0x65, 0xaf, 0x05, 0x73, 0xe2,
0x35, 0x96, 0x27, 0x07, 0x14, 0xc0, 0xad, 0x33,
0xf1, 0xdc, 0x44, 0x7a, 0x89, 0x17, 0x77, 0xd2,
0x9c, 0x58, 0x60, 0xf0, 0x3f, 0x7b, 0x2d, 0x2e,
0x57, 0x95, 0x54, 0x87, 0xed, 0xf2, 0xc7, 0x4c,
0xf0, 0xae, 0x56, 0x29, 0x19, 0x7d, 0x66, 0x4b,
0x9b, 0x83, 0x84, 0x42, 0x3b, 0x01, 0x25, 0x66,
0x8e, 0x02, 0xde, 0xb9, 0x83, 0x54, 0x19, 0xf6,
0x9f, 0x79, 0x0d, 0x67, 0xc5, 0x1d, 0x7a, 0x44,
0x02, 0x98, 0xa7, 0x16, 0x1c, 0x29, 0x0d, 0x74,
0xff, 0x85, 0x40, 0x06, 0xef, 0x2c, 0xa9, 0xc6,
0xf5, 0x53, 0x07, 0x06, 0xae, 0xe4, 0xfa, 0x5f,
0xd8, 0x39, 0x4d, 0xf1, 0x9b, 0x6b, 0xd9, 0x24,
0x84, 0xfe, 0x03, 0x4c, 0xb2, 0x3f, 0xdf, 0xa1,
0x05, 0x9e, 0x50, 0x14, 0x5a, 0xd9, 0x1a, 0xa2,
0xa7, 0xfa, 0xfa, 0x17, 0xf7, 0x78, 0xd6, 0xb5,
0x92, 0x61, 0x91, 0xac, 0x36, 0xfa, 0x56, 0x0d,
0x38, 0x32, 0x18, 0x85, 0x08, 0x58, 0x37, 0xf0,
0x4b, 0xdb, 0x59, 0xe7, 0xa4, 0x34, 0xc0, 0x1b,
0x01, 0xaf, 0x2d, 0xde, 0xa1, 0xaa, 0x5d, 0xd3,
0xec, 0xe1, 0xd4, 0xf7, 0xe6, 0x54, 0x68, 0xf0,
0x51, 0x97, 0xa7, 0x89, 0xea, 0x24, 0xad, 0xd3,
0x6e, 0x47, 0x93, 0x8b, 0x4b, 0xb4, 0xf7, 0x1c,
0x42, 0x06, 0x67, 0xe8, 0x99, 0xf6, 0xf5, 0x7b,
0x85, 0xb5, 0x65, 0xb5, 0xb5, 0xd2, 0x37, 0xf5,
0xf3, 0x02, 0xa6, 0x4d, 0x11, 0xa7, 0xdc, 0x51,
0x09, 0x7f, 0xa0, 0xd8, 0x88, 0x1c, 0x13, 0x71,
0xae, 0x9c, 0xb7, 0x7b, 0x34, 0xd6, 0x4e, 0x68,
0x26, 0x83, 0x51, 0xaf, 0x1d, 0xee, 0x8b, 0xbb,
0x69, 0x43, 0x2b, 0x9e, 0x8a, 0xbc, 0x02, 0x0e,
0xa0, 0x1b, 0xe0, 0xa8, 0x5f, 0x6f, 0xaf, 0x1b,
0x8f, 0xe7, 0x64, 0x71, 0x74, 0x11, 0x7e, 0xa8,
0xd8, 0xf9, 0x97, 0x06, 0xc3, 0xb6, 0xfb, 0xfb,
0xb7, 0x3d, 0x35, 0x9d, 0x3b, 0x52, 0xed, 0x54,
0xca, 0xf4, 0x81, 0x01, 0x2d, 0x1b, 0xc3, 0xa7,
0x00, 0x3d, 0x1a, 0x39, 0x54, 0xe1, 0xf6, 0xff,
0xed, 0x6f, 0x0b, 0x5a, 0x68, 0xda, 0x58, 0xdd,
0xa9, 0xcf, 0x5c, 0x4a, 0xe5, 0x09, 0x4e, 0xde,
0x9d, 0xbc, 0x3e, 0xee, 0x5a, 0x00, 0x3b, 0x2c,
0x87, 0x10, 0x65, 0x60, 0xdd, 0xd7, 0x56, 0xd1,
0x4c, 0x64, 0x45, 0xe4, 0x21, 0xec, 0x78, 0xf8,
0x25, 0x7a, 0x3e, 0x16, 0x5d, 0x09, 0x53, 0x14,
0xbe, 0x4f, 0xae, 0x87, 0xd8, 0xd1, 0xaa, 0x3c,
0xf6, 0x3e, 0xa4, 0x70, 0x8c, 0x5e, 0x70, 0xa4,
0xb3, 0x6b, 0x66, 0x73, 0xd3, 0xbf, 0x31, 0x06,
0x19, 0x62, 0x93, 0x15, 0xf2, 0x86, 0xe4, 0x52,
0x7e, 0x53, 0x4c, 0x12, 0x38, 0xcc, 0x34, 0x7d,
0x57, 0xf6, 0x42, 0x93, 0x8a, 0xc4, 0xee, 0x5c,
0x8a, 0xe1, 0x52, 0x8f, 0x56, 0x64, 0xf6, 0xa6,
0xd1, 0x91, 0x57, 0x70, 0xcd, 0x11, 0x76, 0xf5,
0x59, 0x60, 0x60, 0x3c, 0xc1, 0xc3, 0x0b, 0x7f,
0x58, 0x1a, 0x50, 0x91, 0xf1, 0x68, 0x8f, 0x6e,
0x74, 0x74, 0xa8, 0x51, 0x0b, 0xf7, 0x7a, 0x98,
0x37, 0xf2, 0x0a, 0x0e, 0xa4, 0x97, 0x04, 0xb8,
0x9b, 0xfd, 0xa0, 0xea, 0xf7, 0x0d, 0xe1, 0xdb,
0x03, 0xf0, 0x31, 0x29, 0xf8, 0xdd, 0x6b, 0x8b,
0x5d, 0xd8, 0x59, 0xa9, 0x29, 0xcf, 0x9a, 0x79,
0x89, 0x19, 0x63, 0x46, 0x09, 0x79, 0x6a, 0x11,
0xda, 0x63, 0x68, 0x48, 0x77, 0x23, 0xfb, 0x7d,
0x3a, 0x43, 0xcb, 0x02, 0x3b, 0x7a, 0x6d, 0x10,
0x2a, 0x9e, 0xac, 0xf1, 0xd4, 0x19, 0xf8, 0x23,
0x64, 0x1d, 0x2c, 0x5f, 0xf2, 0xb0, 0x5c, 0x23,
0x27, 0xf7, 0x27, 0x30, 0x16, 0x37, 0xb1, 0x90,
0xab, 0x38, 0xfb, 0x55, 0xcd, 0x78, 0x58, 0xd4,
0x7d, 0x43, 0xf6, 0x45, 0x5e, 0x55, 0x8d, 0xb1,
0x02, 0x65, 0x58, 0xb4, 0x13, 0x4b, 0x36, 0xf7,
0xcc, 0xfe, 0x3d, 0x0b, 0x82, 0xe2, 0x12, 0x11,
0xbb, 0xe6, 0xb8, 0x3a, 0x48, 0x71, 0xc7, 0x50,
0x06, 0x16, 0x3a, 0xe6, 0x7c, 0x05, 0xc7, 0xc8,
0x4d, 0x2f, 0x08, 0x6a, 0x17, 0x9a, 0x95, 0x97,
0x50, 0x68, 0xdc, 0x28, 0x18, 0xc4, 0x61, 0x38,
0xb9, 0xe0, 0x3e, 0x78, 0xdb, 0x29, 0xe0, 0x9f,
0x52, 0xdd, 0xf8, 0x4f, 0x91, 0xc1, 0xd0, 0x33,
0xa1, 0x7a, 0x8e, 0x30, 0x13, 0x82, 0x07, 0x9f,
0xd3, 0x31, 0x0f, 0x23, 0xbe, 0x32, 0x5a, 0x75,
0xcf, 0x96, 0xb2, 0xec, 0xb5, 0x32, 0xac, 0x21,
0xd1, 0x82, 0x33, 0xd3, 0x15, 0x74, 0xbd, 0x90,
0xf1, 0x2c, 0xe6, 0x5f, 0x8d, 0xe3, 0x02, 0xe8,
0xe9, 0xc4, 0xca, 0x96, 0xeb, 0x0e, 0xbc, 0x91,
0xf4, 0xb9, 0xea, 0xd9, 0x1b, 0x75, 0xbd, 0xe1,
0xac, 0x2a, 0x05, 0x37, 0x52, 0x9b, 0x1b, 0x3f,
0x5a, 0xdc, 0x21, 0xc3, 0x98, 0xbb, 0xaf, 0xa3,
0xf2, 0x00, 0xbf, 0x0d, 0x30, 0x89, 0x05, 0xcc,
0xa5, 0x76, 0xf5, 0x06, 0xf0, 0xc6, 0x54, 0x8a,
0x5d, 0xd4, 0x1e, 0xc1, 0xf2, 0xce, 0xb0, 0x62,
0xc8, 0xfc, 0x59, 0x42, 0x9a, 0x90, 0x60, 0x55,
0xfe, 0x88, 0xa5, 0x8b, 0xb8, 0x33, 0x0c, 0x23,
0x24, 0x0d, 0x15, 0x70, 0x37, 0x1e, 0x3d, 0xf6,
0xd2, 0xea, 0x92, 0x10, 0xb2, 0xc4, 0x51, 0xac,
0xf2, 0xac, 0xf3, 0x6b, 0x6c, 0xaa, 0xcf, 0x12,
0xc5, 0x6c, 0x90, 0x50, 0xb5, 0x0c, 0xfc, 0x1a,
0x15, 0x52, 0xe9, 0x26, 0xc6, 0x52, 0xa4, 0xe7,
0x81, 0x69, 0xe1, 0xe7, 0x9e, 0x30, 0x01, 0xec,
0x84, 0x89, 0xb2, 0x0d, 0x66, 0xdd, 0xce, 0x28,
0x5c, 0xec, 0x98, 0x46, 0x68, 0x21, 0x9f, 0x88,
0x3f, 0x1f, 0x42, 0x77, 0xce, 0xd0, 0x61, 0xd4,
0x20, 0xa7, 0xff, 0x53, 0xad, 0x37, 0xd0, 0x17,
0x35, 0xc9, 0xfc, 0xba, 0x0a, 0x78, 0x3f, 0xf2,
0xcc, 0x86, 0x89, 0xe8, 0x4b, 0x3c, 0x48, 0x33,
0x09, 0x7f, 0xc6, 0xc0, 0xdd, 0xb8, 0xfd, 0x7a,
0x66, 0x66, 0x65, 0xeb, 0x47, 0xa7, 0x04, 0x28,
0xa3, 0x19, 0x8e, 0xa9, 0xb1, 0x13, 0x67, 0x62,
0x70, 0xcf, 0xd6
};
static const uint8_t chacha20poly1305_enc_assoc012[] = {
0xb1, 0x69, 0x83, 0x87, 0x30, 0xaa, 0x5d, 0xb8,
0x77, 0xe8, 0x21, 0xff, 0x06, 0x59, 0x35, 0xce,
0x75, 0xfe, 0x38, 0xef, 0xb8, 0x91, 0x43, 0x8c,
0xcf, 0x70, 0xdd, 0x0a, 0x68, 0xbf, 0xd4, 0xbc,
0x16, 0x76, 0x99, 0x36, 0x1e, 0x58, 0x79, 0x5e,
0xd4, 0x29, 0xf7, 0x33, 0x93, 0x48, 0xdb, 0x5f,
0x01, 0xae, 0x9c, 0xb6, 0xe4, 0x88, 0x6d, 0x2b,
0x76, 0x75, 0xe0, 0xf3, 0x74, 0xe2, 0xc9
};
static const uint8_t chacha20poly1305_enc_nonce012[] = {
0x05, 0xa3, 0x93, 0xed, 0x30, 0xc5, 0xa2, 0x06
};
static const uint8_t chacha20poly1305_enc_key012[] = {
0xb3, 0x35, 0x50, 0x03, 0x54, 0x2e, 0x40, 0x5e,
0x8f, 0x59, 0x8e, 0xc5, 0x90, 0xd5, 0x27, 0x2d,
0xba, 0x29, 0x2e, 0xcb, 0x1b, 0x70, 0x44, 0x1e,
0x65, 0x91, 0x6e, 0x2a, 0x79, 0x22, 0xda, 0x64
};
/* wycheproof - rfc7539 */
static const uint8_t chacha20poly1305_enc_input013[] = {
0x4c, 0x61, 0x64, 0x69, 0x65, 0x73, 0x20, 0x61,
0x6e, 0x64, 0x20, 0x47, 0x65, 0x6e, 0x74, 0x6c,
0x65, 0x6d, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x20,
0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73,
0x73, 0x20, 0x6f, 0x66, 0x20, 0x27, 0x39, 0x39,
0x3a, 0x20, 0x49, 0x66, 0x20, 0x49, 0x20, 0x63,
0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x66,
0x65, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6f,
0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
0x74, 0x69, 0x70, 0x20, 0x66, 0x6f, 0x72, 0x20,
0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, 0x75,
0x72, 0x65, 0x2c, 0x20, 0x73, 0x75, 0x6e, 0x73,
0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x77, 0x6f,
0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x69,
0x74, 0x2e
};
static const uint8_t chacha20poly1305_enc_output013[] = {
0xd3, 0x1a, 0x8d, 0x34, 0x64, 0x8e, 0x60, 0xdb,
0x7b, 0x86, 0xaf, 0xbc, 0x53, 0xef, 0x7e, 0xc2,
0xa4, 0xad, 0xed, 0x51, 0x29, 0x6e, 0x08, 0xfe,
0xa9, 0xe2, 0xb5, 0xa7, 0x36, 0xee, 0x62, 0xd6,
0x3d, 0xbe, 0xa4, 0x5e, 0x8c, 0xa9, 0x67, 0x12,
0x82, 0xfa, 0xfb, 0x69, 0xda, 0x92, 0x72, 0x8b,
0x1a, 0x71, 0xde, 0x0a, 0x9e, 0x06, 0x0b, 0x29,
0x05, 0xd6, 0xa5, 0xb6, 0x7e, 0xcd, 0x3b, 0x36,
0x92, 0xdd, 0xbd, 0x7f, 0x2d, 0x77, 0x8b, 0x8c,
0x98, 0x03, 0xae, 0xe3, 0x28, 0x09, 0x1b, 0x58,
0xfa, 0xb3, 0x24, 0xe4, 0xfa, 0xd6, 0x75, 0x94,
0x55, 0x85, 0x80, 0x8b, 0x48, 0x31, 0xd7, 0xbc,
0x3f, 0xf4, 0xde, 0xf0, 0x8e, 0x4b, 0x7a, 0x9d,
0xe5, 0x76, 0xd2, 0x65, 0x86, 0xce, 0xc6, 0x4b,
0x61, 0x16, 0x1a, 0xe1, 0x0b, 0x59, 0x4f, 0x09,
0xe2, 0x6a, 0x7e, 0x90, 0x2e, 0xcb, 0xd0, 0x60,
0x06, 0x91
};
static const uint8_t chacha20poly1305_enc_assoc013[] = {
0x50, 0x51, 0x52, 0x53, 0xc0, 0xc1, 0xc2, 0xc3,
0xc4, 0xc5, 0xc6, 0xc7
};
static const uint8_t chacha20poly1305_enc_nonce013[] = {
0x07, 0x00, 0x00, 0x00, 0x40, 0x41, 0x42, 0x43,
0x44, 0x45, 0x46, 0x47
};
static const uint8_t chacha20poly1305_enc_key013[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input014[] = { };
static const uint8_t chacha20poly1305_enc_output014[] = {
0x76, 0xac, 0xb3, 0x42, 0xcf, 0x31, 0x66, 0xa5,
0xb6, 0x3c, 0x0c, 0x0e, 0xa1, 0x38, 0x3c, 0x8d
};
static const uint8_t chacha20poly1305_enc_assoc014[] = { };
static const uint8_t chacha20poly1305_enc_nonce014[] = {
0x4d, 0xa5, 0xbf, 0x8d, 0xfd, 0x58, 0x52, 0xc1,
0xea, 0x12, 0x37, 0x9d
};
static const uint8_t chacha20poly1305_enc_key014[] = {
0x80, 0xba, 0x31, 0x92, 0xc8, 0x03, 0xce, 0x96,
0x5e, 0xa3, 0x71, 0xd5, 0xff, 0x07, 0x3c, 0xf0,
0xf4, 0x3b, 0x6a, 0x2a, 0xb5, 0x76, 0xb2, 0x08,
0x42, 0x6e, 0x11, 0x40, 0x9c, 0x09, 0xb9, 0xb0
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input015[] = { };
static const uint8_t chacha20poly1305_enc_output015[] = {
0x90, 0x6f, 0xa6, 0x28, 0x4b, 0x52, 0xf8, 0x7b,
0x73, 0x59, 0xcb, 0xaa, 0x75, 0x63, 0xc7, 0x09
};
static const uint8_t chacha20poly1305_enc_assoc015[] = {
0xbd, 0x50, 0x67, 0x64, 0xf2, 0xd2, 0xc4, 0x10
};
static const uint8_t chacha20poly1305_enc_nonce015[] = {
0xa9, 0x2e, 0xf0, 0xac, 0x99, 0x1d, 0xd5, 0x16,
0xa3, 0xc6, 0xf6, 0x89
};
static const uint8_t chacha20poly1305_enc_key015[] = {
0x7a, 0x4c, 0xd7, 0x59, 0x17, 0x2e, 0x02, 0xeb,
0x20, 0x4d, 0xb2, 0xc3, 0xf5, 0xc7, 0x46, 0x22,
0x7d, 0xf5, 0x84, 0xfc, 0x13, 0x45, 0x19, 0x63,
0x91, 0xdb, 0xb9, 0x57, 0x7a, 0x25, 0x07, 0x42
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input016[] = {
0x2a
};
static const uint8_t chacha20poly1305_enc_output016[] = {
0x3a, 0xca, 0xc2, 0x7d, 0xec, 0x09, 0x68, 0x80,
0x1e, 0x9f, 0x6e, 0xde, 0xd6, 0x9d, 0x80, 0x75,
0x22
};
static const uint8_t chacha20poly1305_enc_assoc016[] = { };
static const uint8_t chacha20poly1305_enc_nonce016[] = {
0x99, 0xe2, 0x3e, 0xc4, 0x89, 0x85, 0xbc, 0xcd,
0xee, 0xab, 0x60, 0xf1
};
static const uint8_t chacha20poly1305_enc_key016[] = {
0xcc, 0x56, 0xb6, 0x80, 0x55, 0x2e, 0xb7, 0x50,
0x08, 0xf5, 0x48, 0x4b, 0x4c, 0xb8, 0x03, 0xfa,
0x50, 0x63, 0xeb, 0xd6, 0xea, 0xb9, 0x1f, 0x6a,
0xb6, 0xae, 0xf4, 0x91, 0x6a, 0x76, 0x62, 0x73
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input017[] = {
0x51
};
static const uint8_t chacha20poly1305_enc_output017[] = {
0xc4, 0x16, 0x83, 0x10, 0xca, 0x45, 0xb1, 0xf7,
0xc6, 0x6c, 0xad, 0x4e, 0x99, 0xe4, 0x3f, 0x72,
0xb9
};
static const uint8_t chacha20poly1305_enc_assoc017[] = {
0x91, 0xca, 0x6c, 0x59, 0x2c, 0xbc, 0xca, 0x53
};
static const uint8_t chacha20poly1305_enc_nonce017[] = {
0xab, 0x0d, 0xca, 0x71, 0x6e, 0xe0, 0x51, 0xd2,
0x78, 0x2f, 0x44, 0x03
};
static const uint8_t chacha20poly1305_enc_key017[] = {
0x46, 0xf0, 0x25, 0x49, 0x65, 0xf7, 0x69, 0xd5,
0x2b, 0xdb, 0x4a, 0x70, 0xb4, 0x43, 0x19, 0x9f,
0x8e, 0xf2, 0x07, 0x52, 0x0d, 0x12, 0x20, 0xc5,
0x5e, 0x4b, 0x70, 0xf0, 0xfd, 0xa6, 0x20, 0xee
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input018[] = {
0x5c, 0x60
};
static const uint8_t chacha20poly1305_enc_output018[] = {
0x4d, 0x13, 0x91, 0xe8, 0xb6, 0x1e, 0xfb, 0x39,
0xc1, 0x22, 0x19, 0x54, 0x53, 0x07, 0x7b, 0x22,
0xe5, 0xe2
};
static const uint8_t chacha20poly1305_enc_assoc018[] = { };
static const uint8_t chacha20poly1305_enc_nonce018[] = {
0x46, 0x1a, 0xf1, 0x22, 0xe9, 0xf2, 0xe0, 0x34,
0x7e, 0x03, 0xf2, 0xdb
};
static const uint8_t chacha20poly1305_enc_key018[] = {
0x2f, 0x7f, 0x7e, 0x4f, 0x59, 0x2b, 0xb3, 0x89,
0x19, 0x49, 0x89, 0x74, 0x35, 0x07, 0xbf, 0x3e,
0xe9, 0xcb, 0xde, 0x17, 0x86, 0xb6, 0x69, 0x5f,
0xe6, 0xc0, 0x25, 0xfd, 0x9b, 0xa4, 0xc1, 0x00
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input019[] = {
0xdd, 0xf2
};
static const uint8_t chacha20poly1305_enc_output019[] = {
0xb6, 0x0d, 0xea, 0xd0, 0xfd, 0x46, 0x97, 0xec,
0x2e, 0x55, 0x58, 0x23, 0x77, 0x19, 0xd0, 0x24,
0x37, 0xa2
};
static const uint8_t chacha20poly1305_enc_assoc019[] = {
0x88, 0x36, 0x4f, 0xc8, 0x06, 0x05, 0x18, 0xbf
};
static const uint8_t chacha20poly1305_enc_nonce019[] = {
0x61, 0x54, 0x6b, 0xa5, 0xf1, 0x72, 0x05, 0x90,
0xb6, 0x04, 0x0a, 0xc6
};
static const uint8_t chacha20poly1305_enc_key019[] = {
0xc8, 0x83, 0x3d, 0xce, 0x5e, 0xa9, 0xf2, 0x48,
0xaa, 0x20, 0x30, 0xea, 0xcf, 0xe7, 0x2b, 0xff,
0xe6, 0x9a, 0x62, 0x0c, 0xaf, 0x79, 0x33, 0x44,
0xe5, 0x71, 0x8f, 0xe0, 0xd7, 0xab, 0x1a, 0x58
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input020[] = {
0xab, 0x85, 0xe9, 0xc1, 0x57, 0x17, 0x31
};
static const uint8_t chacha20poly1305_enc_output020[] = {
0x5d, 0xfe, 0x34, 0x40, 0xdb, 0xb3, 0xc3, 0xed,
0x7a, 0x43, 0x4e, 0x26, 0x02, 0xd3, 0x94, 0x28,
0x1e, 0x0a, 0xfa, 0x9f, 0xb7, 0xaa, 0x42
};
static const uint8_t chacha20poly1305_enc_assoc020[] = { };
static const uint8_t chacha20poly1305_enc_nonce020[] = {
0x3c, 0x4e, 0x65, 0x4d, 0x66, 0x3f, 0xa4, 0x59,
0x6d, 0xc5, 0x5b, 0xb7
};
static const uint8_t chacha20poly1305_enc_key020[] = {
0x55, 0x56, 0x81, 0x58, 0xd3, 0xa6, 0x48, 0x3f,
0x1f, 0x70, 0x21, 0xea, 0xb6, 0x9b, 0x70, 0x3f,
0x61, 0x42, 0x51, 0xca, 0xdc, 0x1a, 0xf5, 0xd3,
0x4a, 0x37, 0x4f, 0xdb, 0xfc, 0x5a, 0xda, 0xc7
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input021[] = {
0x4e, 0xe5, 0xcd, 0xa2, 0x0d, 0x42, 0x90
};
static const uint8_t chacha20poly1305_enc_output021[] = {
0x4b, 0xd4, 0x72, 0x12, 0x94, 0x1c, 0xe3, 0x18,
0x5f, 0x14, 0x08, 0xee, 0x7f, 0xbf, 0x18, 0xf5,
0xab, 0xad, 0x6e, 0x22, 0x53, 0xa1, 0xba
};
static const uint8_t chacha20poly1305_enc_assoc021[] = {
0x84, 0xe4, 0x6b, 0xe8, 0xc0, 0x91, 0x90, 0x53
};
static const uint8_t chacha20poly1305_enc_nonce021[] = {
0x58, 0x38, 0x93, 0x75, 0xc6, 0x9e, 0xe3, 0x98,
0xde, 0x94, 0x83, 0x96
};
static const uint8_t chacha20poly1305_enc_key021[] = {
0xe3, 0xc0, 0x9e, 0x7f, 0xab, 0x1a, 0xef, 0xb5,
0x16, 0xda, 0x6a, 0x33, 0x02, 0x2a, 0x1d, 0xd4,
0xeb, 0x27, 0x2c, 0x80, 0xd5, 0x40, 0xc5, 0xda,
0x52, 0xa7, 0x30, 0xf3, 0x4d, 0x84, 0x0d, 0x7f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input022[] = {
0xbe, 0x33, 0x08, 0xf7, 0x2a, 0x2c, 0x6a, 0xed
};
static const uint8_t chacha20poly1305_enc_output022[] = {
0x8e, 0x94, 0x39, 0xa5, 0x6e, 0xee, 0xc8, 0x17,
0xfb, 0xe8, 0xa6, 0xed, 0x8f, 0xab, 0xb1, 0x93,
0x75, 0x39, 0xdd, 0x6c, 0x00, 0xe9, 0x00, 0x21
};
static const uint8_t chacha20poly1305_enc_assoc022[] = { };
static const uint8_t chacha20poly1305_enc_nonce022[] = {
0x4f, 0x07, 0xaf, 0xed, 0xfd, 0xc3, 0xb6, 0xc2,
0x36, 0x18, 0x23, 0xd3
};
static const uint8_t chacha20poly1305_enc_key022[] = {
0x51, 0xe4, 0xbf, 0x2b, 0xad, 0x92, 0xb7, 0xaf,
0xf1, 0xa4, 0xbc, 0x05, 0x55, 0x0b, 0xa8, 0x1d,
0xf4, 0xb9, 0x6f, 0xab, 0xf4, 0x1c, 0x12, 0xc7,
0xb0, 0x0e, 0x60, 0xe4, 0x8d, 0xb7, 0xe1, 0x52
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input023[] = {
0xa4, 0xc9, 0xc2, 0x80, 0x1b, 0x71, 0xf7, 0xdf
};
static const uint8_t chacha20poly1305_enc_output023[] = {
0xb9, 0xb9, 0x10, 0x43, 0x3a, 0xf0, 0x52, 0xb0,
0x45, 0x30, 0xf5, 0x1a, 0xee, 0xe0, 0x24, 0xe0,
0xa4, 0x45, 0xa6, 0x32, 0x8f, 0xa6, 0x7a, 0x18
};
static const uint8_t chacha20poly1305_enc_assoc023[] = {
0x66, 0xc0, 0xae, 0x70, 0x07, 0x6c, 0xb1, 0x4d
};
static const uint8_t chacha20poly1305_enc_nonce023[] = {
0xb4, 0xea, 0x66, 0x6e, 0xe1, 0x19, 0x56, 0x33,
0x66, 0x48, 0x4a, 0x78
};
static const uint8_t chacha20poly1305_enc_key023[] = {
0x11, 0x31, 0xc1, 0x41, 0x85, 0x77, 0xa0, 0x54,
0xde, 0x7a, 0x4a, 0xc5, 0x51, 0x95, 0x0f, 0x1a,
0x05, 0x3f, 0x9a, 0xe4, 0x6e, 0x5b, 0x75, 0xfe,
0x4a, 0xbd, 0x56, 0x08, 0xd7, 0xcd, 0xda, 0xdd
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input024[] = {
0x42, 0xba, 0xae, 0x59, 0x78, 0xfe, 0xaf, 0x5c,
0x36, 0x8d, 0x14, 0xe0
};
static const uint8_t chacha20poly1305_enc_output024[] = {
0xff, 0x7d, 0xc2, 0x03, 0xb2, 0x6c, 0x46, 0x7a,
0x6b, 0x50, 0xdb, 0x33, 0x57, 0x8c, 0x0f, 0x27,
0x58, 0xc2, 0xe1, 0x4e, 0x36, 0xd4, 0xfc, 0x10,
0x6d, 0xcb, 0x29, 0xb4
};
static const uint8_t chacha20poly1305_enc_assoc024[] = { };
static const uint8_t chacha20poly1305_enc_nonce024[] = {
0x9a, 0x59, 0xfc, 0xe2, 0x6d, 0xf0, 0x00, 0x5e,
0x07, 0x53, 0x86, 0x56
};
static const uint8_t chacha20poly1305_enc_key024[] = {
0x99, 0xb6, 0x2b, 0xd5, 0xaf, 0xbe, 0x3f, 0xb0,
0x15, 0xbd, 0xe9, 0x3f, 0x0a, 0xbf, 0x48, 0x39,
0x57, 0xa1, 0xc3, 0xeb, 0x3c, 0xa5, 0x9c, 0xb5,
0x0b, 0x39, 0xf7, 0xf8, 0xa9, 0xcc, 0x51, 0xbe
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input025[] = {
0xfd, 0xc8, 0x5b, 0x94, 0xa4, 0xb2, 0xa6, 0xb7,
0x59, 0xb1, 0xa0, 0xda
};
static const uint8_t chacha20poly1305_enc_output025[] = {
0x9f, 0x88, 0x16, 0xde, 0x09, 0x94, 0xe9, 0x38,
0xd9, 0xe5, 0x3f, 0x95, 0xd0, 0x86, 0xfc, 0x6c,
0x9d, 0x8f, 0xa9, 0x15, 0xfd, 0x84, 0x23, 0xa7,
0xcf, 0x05, 0x07, 0x2f
};
static const uint8_t chacha20poly1305_enc_assoc025[] = {
0xa5, 0x06, 0xe1, 0xa5, 0xc6, 0x90, 0x93, 0xf9
};
static const uint8_t chacha20poly1305_enc_nonce025[] = {
0x58, 0xdb, 0xd4, 0xad, 0x2c, 0x4a, 0xd3, 0x5d,
0xd9, 0x06, 0xe9, 0xce
};
static const uint8_t chacha20poly1305_enc_key025[] = {
0x85, 0xf3, 0x5b, 0x62, 0x82, 0xcf, 0xf4, 0x40,
0xbc, 0x10, 0x20, 0xc8, 0x13, 0x6f, 0xf2, 0x70,
0x31, 0x11, 0x0f, 0xa6, 0x3e, 0xc1, 0x6f, 0x1e,
0x82, 0x51, 0x18, 0xb0, 0x06, 0xb9, 0x12, 0x57
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input026[] = {
0x51, 0xf8, 0xc1, 0xf7, 0x31, 0xea, 0x14, 0xac,
0xdb, 0x21, 0x0a, 0x6d, 0x97, 0x3e, 0x07
};
static const uint8_t chacha20poly1305_enc_output026[] = {
0x0b, 0x29, 0x63, 0x8e, 0x1f, 0xbd, 0xd6, 0xdf,
0x53, 0x97, 0x0b, 0xe2, 0x21, 0x00, 0x42, 0x2a,
0x91, 0x34, 0x08, 0x7d, 0x67, 0xa4, 0x6e, 0x79,
0x17, 0x8d, 0x0a, 0x93, 0xf5, 0xe1, 0xd2
};
static const uint8_t chacha20poly1305_enc_assoc026[] = { };
static const uint8_t chacha20poly1305_enc_nonce026[] = {
0x68, 0xab, 0x7f, 0xdb, 0xf6, 0x19, 0x01, 0xda,
0xd4, 0x61, 0xd2, 0x3c
};
static const uint8_t chacha20poly1305_enc_key026[] = {
0x67, 0x11, 0x96, 0x27, 0xbd, 0x98, 0x8e, 0xda,
0x90, 0x62, 0x19, 0xe0, 0x8c, 0x0d, 0x0d, 0x77,
0x9a, 0x07, 0xd2, 0x08, 0xce, 0x8a, 0x4f, 0xe0,
0x70, 0x9a, 0xf7, 0x55, 0xee, 0xec, 0x6d, 0xcb
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input027[] = {
0x97, 0x46, 0x9d, 0xa6, 0x67, 0xd6, 0x11, 0x0f,
0x9c, 0xbd, 0xa1, 0xd1, 0xa2, 0x06, 0x73
};
static const uint8_t chacha20poly1305_enc_output027[] = {
0x32, 0xdb, 0x66, 0xc4, 0xa3, 0x81, 0x9d, 0x81,
0x55, 0x74, 0x55, 0xe5, 0x98, 0x0f, 0xed, 0xfe,
0xae, 0x30, 0xde, 0xc9, 0x4e, 0x6a, 0xd3, 0xa9,
0xee, 0xa0, 0x6a, 0x0d, 0x70, 0x39, 0x17
};
static const uint8_t chacha20poly1305_enc_assoc027[] = {
0x64, 0x53, 0xa5, 0x33, 0x84, 0x63, 0x22, 0x12
};
static const uint8_t chacha20poly1305_enc_nonce027[] = {
0xd9, 0x5b, 0x32, 0x43, 0xaf, 0xae, 0xf7, 0x14,
0xc5, 0x03, 0x5b, 0x6a
};
static const uint8_t chacha20poly1305_enc_key027[] = {
0xe6, 0xf1, 0x11, 0x8d, 0x41, 0xe4, 0xb4, 0x3f,
0xb5, 0x82, 0x21, 0xb7, 0xed, 0x79, 0x67, 0x38,
0x34, 0xe0, 0xd8, 0xac, 0x5c, 0x4f, 0xa6, 0x0b,
0xbc, 0x8b, 0xc4, 0x89, 0x3a, 0x58, 0x89, 0x4d
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input028[] = {
0x54, 0x9b, 0x36, 0x5a, 0xf9, 0x13, 0xf3, 0xb0,
0x81, 0x13, 0x1c, 0xcb, 0x6b, 0x82, 0x55, 0x88
};
static const uint8_t chacha20poly1305_enc_output028[] = {
0xe9, 0x11, 0x0e, 0x9f, 0x56, 0xab, 0x3c, 0xa4,
0x83, 0x50, 0x0c, 0xea, 0xba, 0xb6, 0x7a, 0x13,
0x83, 0x6c, 0xca, 0xbf, 0x15, 0xa6, 0xa2, 0x2a,
0x51, 0xc1, 0x07, 0x1c, 0xfa, 0x68, 0xfa, 0x0c
};
static const uint8_t chacha20poly1305_enc_assoc028[] = { };
static const uint8_t chacha20poly1305_enc_nonce028[] = {
0x2f, 0xcb, 0x1b, 0x38, 0xa9, 0x9e, 0x71, 0xb8,
0x47, 0x40, 0xad, 0x9b
};
static const uint8_t chacha20poly1305_enc_key028[] = {
0x59, 0xd4, 0xea, 0xfb, 0x4d, 0xe0, 0xcf, 0xc7,
0xd3, 0xdb, 0x99, 0xa8, 0xf5, 0x4b, 0x15, 0xd7,
0xb3, 0x9f, 0x0a, 0xcc, 0x8d, 0xa6, 0x97, 0x63,
0xb0, 0x19, 0xc1, 0x69, 0x9f, 0x87, 0x67, 0x4a
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input029[] = {
0x55, 0xa4, 0x65, 0x64, 0x4f, 0x5b, 0x65, 0x09,
0x28, 0xcb, 0xee, 0x7c, 0x06, 0x32, 0x14, 0xd6
};
static const uint8_t chacha20poly1305_enc_output029[] = {
0xe4, 0xb1, 0x13, 0xcb, 0x77, 0x59, 0x45, 0xf3,
0xd3, 0xa8, 0xae, 0x9e, 0xc1, 0x41, 0xc0, 0x0c,
0x7c, 0x43, 0xf1, 0x6c, 0xe0, 0x96, 0xd0, 0xdc,
0x27, 0xc9, 0x58, 0x49, 0xdc, 0x38, 0x3b, 0x7d
};
static const uint8_t chacha20poly1305_enc_assoc029[] = {
0x03, 0x45, 0x85, 0x62, 0x1a, 0xf8, 0xd7, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce029[] = {
0x11, 0x8a, 0x69, 0x64, 0xc2, 0xd3, 0xe3, 0x80,
0x07, 0x1f, 0x52, 0x66
};
static const uint8_t chacha20poly1305_enc_key029[] = {
0xb9, 0x07, 0xa4, 0x50, 0x75, 0x51, 0x3f, 0xe8,
0xa8, 0x01, 0x9e, 0xde, 0xe3, 0xf2, 0x59, 0x14,
0x87, 0xb2, 0xa0, 0x30, 0xb0, 0x3c, 0x6e, 0x1d,
0x77, 0x1c, 0x86, 0x25, 0x71, 0xd2, 0xea, 0x1e
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input030[] = {
0x3f, 0xf1, 0x51, 0x4b, 0x1c, 0x50, 0x39, 0x15,
0x91, 0x8f, 0x0c, 0x0c, 0x31, 0x09, 0x4a, 0x6e,
0x1f
};
static const uint8_t chacha20poly1305_enc_output030[] = {
0x02, 0xcc, 0x3a, 0xcb, 0x5e, 0xe1, 0xfc, 0xdd,
0x12, 0xa0, 0x3b, 0xb8, 0x57, 0x97, 0x64, 0x74,
0xd3, 0xd8, 0x3b, 0x74, 0x63, 0xa2, 0xc3, 0x80,
0x0f, 0xe9, 0x58, 0xc2, 0x8e, 0xaa, 0x29, 0x08,
0x13
};
static const uint8_t chacha20poly1305_enc_assoc030[] = { };
static const uint8_t chacha20poly1305_enc_nonce030[] = {
0x45, 0xaa, 0xa3, 0xe5, 0xd1, 0x6d, 0x2d, 0x42,
0xdc, 0x03, 0x44, 0x5d
};
static const uint8_t chacha20poly1305_enc_key030[] = {
0x3b, 0x24, 0x58, 0xd8, 0x17, 0x6e, 0x16, 0x21,
0xc0, 0xcc, 0x24, 0xc0, 0xc0, 0xe2, 0x4c, 0x1e,
0x80, 0xd7, 0x2f, 0x7e, 0xe9, 0x14, 0x9a, 0x4b,
0x16, 0x61, 0x76, 0x62, 0x96, 0x16, 0xd0, 0x11
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input031[] = {
0x63, 0x85, 0x8c, 0xa3, 0xe2, 0xce, 0x69, 0x88,
0x7b, 0x57, 0x8a, 0x3c, 0x16, 0x7b, 0x42, 0x1c,
0x9c
};
static const uint8_t chacha20poly1305_enc_output031[] = {
0x35, 0x76, 0x64, 0x88, 0xd2, 0xbc, 0x7c, 0x2b,
0x8d, 0x17, 0xcb, 0xbb, 0x9a, 0xbf, 0xad, 0x9e,
0x6d, 0x1f, 0x39, 0x1e, 0x65, 0x7b, 0x27, 0x38,
0xdd, 0xa0, 0x84, 0x48, 0xcb, 0xa2, 0x81, 0x1c,
0xeb
};
static const uint8_t chacha20poly1305_enc_assoc031[] = {
0x9a, 0xaf, 0x29, 0x9e, 0xee, 0xa7, 0x8f, 0x79
};
static const uint8_t chacha20poly1305_enc_nonce031[] = {
0xf0, 0x38, 0x4f, 0xb8, 0x76, 0x12, 0x14, 0x10,
0x63, 0x3d, 0x99, 0x3d
};
static const uint8_t chacha20poly1305_enc_key031[] = {
0xf6, 0x0c, 0x6a, 0x1b, 0x62, 0x57, 0x25, 0xf7,
0x6c, 0x70, 0x37, 0xb4, 0x8f, 0xe3, 0x57, 0x7f,
0xa7, 0xf7, 0xb8, 0x7b, 0x1b, 0xd5, 0xa9, 0x82,
0x17, 0x6d, 0x18, 0x23, 0x06, 0xff, 0xb8, 0x70
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input032[] = {
0x10, 0xf1, 0xec, 0xf9, 0xc6, 0x05, 0x84, 0x66,
0x5d, 0x9a, 0xe5, 0xef, 0xe2, 0x79, 0xe7, 0xf7,
0x37, 0x7e, 0xea, 0x69, 0x16, 0xd2, 0xb1, 0x11
};
static const uint8_t chacha20poly1305_enc_output032[] = {
0x42, 0xf2, 0x6c, 0x56, 0xcb, 0x4b, 0xe2, 0x1d,
0x9d, 0x8d, 0x0c, 0x80, 0xfc, 0x99, 0xdd, 0xe0,
0x0d, 0x75, 0xf3, 0x80, 0x74, 0xbf, 0xe7, 0x64,
0x54, 0xaa, 0x7e, 0x13, 0xd4, 0x8f, 0xff, 0x7d,
0x75, 0x57, 0x03, 0x94, 0x57, 0x04, 0x0a, 0x3a
};
static const uint8_t chacha20poly1305_enc_assoc032[] = { };
static const uint8_t chacha20poly1305_enc_nonce032[] = {
0xe6, 0xb1, 0xad, 0xf2, 0xfd, 0x58, 0xa8, 0x76,
0x2c, 0x65, 0xf3, 0x1b
};
static const uint8_t chacha20poly1305_enc_key032[] = {
0x02, 0x12, 0xa8, 0xde, 0x50, 0x07, 0xed, 0x87,
0xb3, 0x3f, 0x1a, 0x70, 0x90, 0xb6, 0x11, 0x4f,
0x9e, 0x08, 0xce, 0xfd, 0x96, 0x07, 0xf2, 0xc2,
0x76, 0xbd, 0xcf, 0xdb, 0xc5, 0xce, 0x9c, 0xd7
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input033[] = {
0x92, 0x22, 0xf9, 0x01, 0x8e, 0x54, 0xfd, 0x6d,
0xe1, 0x20, 0x08, 0x06, 0xa9, 0xee, 0x8e, 0x4c,
0xc9, 0x04, 0xd2, 0x9f, 0x25, 0xcb, 0xa1, 0x93
};
static const uint8_t chacha20poly1305_enc_output033[] = {
0x12, 0x30, 0x32, 0x43, 0x7b, 0x4b, 0xfd, 0x69,
0x20, 0xe8, 0xf7, 0xe7, 0xe0, 0x08, 0x7a, 0xe4,
0x88, 0x9e, 0xbe, 0x7a, 0x0a, 0xd0, 0xe9, 0x00,
0x3c, 0xf6, 0x8f, 0x17, 0x95, 0x50, 0xda, 0x63,
0xd3, 0xb9, 0x6c, 0x2d, 0x55, 0x41, 0x18, 0x65
};
static const uint8_t chacha20poly1305_enc_assoc033[] = {
0x3e, 0x8b, 0xc5, 0xad, 0xe1, 0x82, 0xff, 0x08
};
static const uint8_t chacha20poly1305_enc_nonce033[] = {
0x6b, 0x28, 0x2e, 0xbe, 0xcc, 0x54, 0x1b, 0xcd,
0x78, 0x34, 0xed, 0x55
};
static const uint8_t chacha20poly1305_enc_key033[] = {
0xc5, 0xbc, 0x09, 0x56, 0x56, 0x46, 0xe7, 0xed,
0xda, 0x95, 0x4f, 0x1f, 0x73, 0x92, 0x23, 0xda,
0xda, 0x20, 0xb9, 0x5c, 0x44, 0xab, 0x03, 0x3d,
0x0f, 0xae, 0x4b, 0x02, 0x83, 0xd1, 0x8b, 0xe3
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input034[] = {
0xb0, 0x53, 0x99, 0x92, 0x86, 0xa2, 0x82, 0x4f,
0x42, 0xcc, 0x8c, 0x20, 0x3a, 0xb2, 0x4e, 0x2c,
0x97, 0xa6, 0x85, 0xad, 0xcc, 0x2a, 0xd3, 0x26,
0x62, 0x55, 0x8e, 0x55, 0xa5, 0xc7, 0x29
};
static const uint8_t chacha20poly1305_enc_output034[] = {
0x45, 0xc7, 0xd6, 0xb5, 0x3a, 0xca, 0xd4, 0xab,
0xb6, 0x88, 0x76, 0xa6, 0xe9, 0x6a, 0x48, 0xfb,
0x59, 0x52, 0x4d, 0x2c, 0x92, 0xc9, 0xd8, 0xa1,
0x89, 0xc9, 0xfd, 0x2d, 0xb9, 0x17, 0x46, 0x56,
0x6d, 0x3c, 0xa1, 0x0e, 0x31, 0x1b, 0x69, 0x5f,
0x3e, 0xae, 0x15, 0x51, 0x65, 0x24, 0x93
};
static const uint8_t chacha20poly1305_enc_assoc034[] = { };
static const uint8_t chacha20poly1305_enc_nonce034[] = {
0x04, 0xa9, 0xbe, 0x03, 0x50, 0x8a, 0x5f, 0x31,
0x37, 0x1a, 0x6f, 0xd2
};
static const uint8_t chacha20poly1305_enc_key034[] = {
0x2e, 0xb5, 0x1c, 0x46, 0x9a, 0xa8, 0xeb, 0x9e,
0x6c, 0x54, 0xa8, 0x34, 0x9b, 0xae, 0x50, 0xa2,
0x0f, 0x0e, 0x38, 0x27, 0x11, 0xbb, 0xa1, 0x15,
0x2c, 0x42, 0x4f, 0x03, 0xb6, 0x67, 0x1d, 0x71
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input035[] = {
0xf4, 0x52, 0x06, 0xab, 0xc2, 0x55, 0x52, 0xb2,
0xab, 0xc9, 0xab, 0x7f, 0xa2, 0x43, 0x03, 0x5f,
0xed, 0xaa, 0xdd, 0xc3, 0xb2, 0x29, 0x39, 0x56,
0xf1, 0xea, 0x6e, 0x71, 0x56, 0xe7, 0xeb
};
static const uint8_t chacha20poly1305_enc_output035[] = {
0x46, 0xa8, 0x0c, 0x41, 0x87, 0x02, 0x47, 0x20,
0x08, 0x46, 0x27, 0x58, 0x00, 0x80, 0xdd, 0xe5,
0xa3, 0xf4, 0xa1, 0x10, 0x93, 0xa7, 0x07, 0x6e,
0xd6, 0xf3, 0xd3, 0x26, 0xbc, 0x7b, 0x70, 0x53,
0x4d, 0x4a, 0xa2, 0x83, 0x5a, 0x52, 0xe7, 0x2d,
0x14, 0xdf, 0x0e, 0x4f, 0x47, 0xf2, 0x5f
};
static const uint8_t chacha20poly1305_enc_assoc035[] = {
0x37, 0x46, 0x18, 0xa0, 0x6e, 0xa9, 0x8a, 0x48
};
static const uint8_t chacha20poly1305_enc_nonce035[] = {
0x47, 0x0a, 0x33, 0x9e, 0xcb, 0x32, 0x19, 0xb8,
0xb8, 0x1a, 0x1f, 0x8b
};
static const uint8_t chacha20poly1305_enc_key035[] = {
0x7f, 0x5b, 0x74, 0xc0, 0x7e, 0xd1, 0xb4, 0x0f,
0xd1, 0x43, 0x58, 0xfe, 0x2f, 0xf2, 0xa7, 0x40,
0xc1, 0x16, 0xc7, 0x70, 0x65, 0x10, 0xe6, 0xa4,
0x37, 0xf1, 0x9e, 0xa4, 0x99, 0x11, 0xce, 0xc4
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input036[] = {
0xb9, 0xc5, 0x54, 0xcb, 0xc3, 0x6a, 0xc1, 0x8a,
0xe8, 0x97, 0xdf, 0x7b, 0xee, 0xca, 0xc1, 0xdb,
0xeb, 0x4e, 0xaf, 0xa1, 0x56, 0xbb, 0x60, 0xce,
0x2e, 0x5d, 0x48, 0xf0, 0x57, 0x15, 0xe6, 0x78
};
static const uint8_t chacha20poly1305_enc_output036[] = {
0xea, 0x29, 0xaf, 0xa4, 0x9d, 0x36, 0xe8, 0x76,
0x0f, 0x5f, 0xe1, 0x97, 0x23, 0xb9, 0x81, 0x1e,
0xd5, 0xd5, 0x19, 0x93, 0x4a, 0x44, 0x0f, 0x50,
0x81, 0xac, 0x43, 0x0b, 0x95, 0x3b, 0x0e, 0x21,
0x22, 0x25, 0x41, 0xaf, 0x46, 0xb8, 0x65, 0x33,
0xc6, 0xb6, 0x8d, 0x2f, 0xf1, 0x08, 0xa7, 0xea
};
static const uint8_t chacha20poly1305_enc_assoc036[] = { };
static const uint8_t chacha20poly1305_enc_nonce036[] = {
0x72, 0xcf, 0xd9, 0x0e, 0xf3, 0x02, 0x6c, 0xa2,
0x2b, 0x7e, 0x6e, 0x6a
};
static const uint8_t chacha20poly1305_enc_key036[] = {
0xe1, 0x73, 0x1d, 0x58, 0x54, 0xe1, 0xb7, 0x0c,
0xb3, 0xff, 0xe8, 0xb7, 0x86, 0xa2, 0xb3, 0xeb,
0xf0, 0x99, 0x43, 0x70, 0x95, 0x47, 0x57, 0xb9,
0xdc, 0x8c, 0x7b, 0xc5, 0x35, 0x46, 0x34, 0xa3
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input037[] = {
0x6b, 0x26, 0x04, 0x99, 0x6c, 0xd3, 0x0c, 0x14,
0xa1, 0x3a, 0x52, 0x57, 0xed, 0x6c, 0xff, 0xd3,
0xbc, 0x5e, 0x29, 0xd6, 0xb9, 0x7e, 0xb1, 0x79,
0x9e, 0xb3, 0x35, 0xe2, 0x81, 0xea, 0x45, 0x1e
};
static const uint8_t chacha20poly1305_enc_output037[] = {
0x6d, 0xad, 0x63, 0x78, 0x97, 0x54, 0x4d, 0x8b,
0xf6, 0xbe, 0x95, 0x07, 0xed, 0x4d, 0x1b, 0xb2,
0xe9, 0x54, 0xbc, 0x42, 0x7e, 0x5d, 0xe7, 0x29,
0xda, 0xf5, 0x07, 0x62, 0x84, 0x6f, 0xf2, 0xf4,
0x7b, 0x99, 0x7d, 0x93, 0xc9, 0x82, 0x18, 0x9d,
0x70, 0x95, 0xdc, 0x79, 0x4c, 0x74, 0x62, 0x32
};
static const uint8_t chacha20poly1305_enc_assoc037[] = {
0x23, 0x33, 0xe5, 0xce, 0x0f, 0x93, 0xb0, 0x59
};
static const uint8_t chacha20poly1305_enc_nonce037[] = {
0x26, 0x28, 0x80, 0xd4, 0x75, 0xf3, 0xda, 0xc5,
0x34, 0x0d, 0xd1, 0xb8
};
static const uint8_t chacha20poly1305_enc_key037[] = {
0x27, 0xd8, 0x60, 0x63, 0x1b, 0x04, 0x85, 0xa4,
0x10, 0x70, 0x2f, 0xea, 0x61, 0xbc, 0x87, 0x3f,
0x34, 0x42, 0x26, 0x0c, 0xad, 0xed, 0x4a, 0xbd,
0xe2, 0x5b, 0x78, 0x6a, 0x2d, 0x97, 0xf1, 0x45
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input038[] = {
0x97, 0x3d, 0x0c, 0x75, 0x38, 0x26, 0xba, 0xe4,
0x66, 0xcf, 0x9a, 0xbb, 0x34, 0x93, 0x15, 0x2e,
0x9d, 0xe7, 0x81, 0x9e, 0x2b, 0xd0, 0xc7, 0x11,
0x71, 0x34, 0x6b, 0x4d, 0x2c, 0xeb, 0xf8, 0x04,
0x1a, 0xa3, 0xce, 0xdc, 0x0d, 0xfd, 0x7b, 0x46,
0x7e, 0x26, 0x22, 0x8b, 0xc8, 0x6c, 0x9a
};
static const uint8_t chacha20poly1305_enc_output038[] = {
0xfb, 0xa7, 0x8a, 0xe4, 0xf9, 0xd8, 0x08, 0xa6,
0x2e, 0x3d, 0xa4, 0x0b, 0xe2, 0xcb, 0x77, 0x00,
0xc3, 0x61, 0x3d, 0x9e, 0xb2, 0xc5, 0x29, 0xc6,
0x52, 0xe7, 0x6a, 0x43, 0x2c, 0x65, 0x8d, 0x27,
0x09, 0x5f, 0x0e, 0xb8, 0xf9, 0x40, 0xc3, 0x24,
0x98, 0x1e, 0xa9, 0x35, 0xe5, 0x07, 0xf9, 0x8f,
0x04, 0x69, 0x56, 0xdb, 0x3a, 0x51, 0x29, 0x08,
0xbd, 0x7a, 0xfc, 0x8f, 0x2a, 0xb0, 0xa9
};
static const uint8_t chacha20poly1305_enc_assoc038[] = { };
static const uint8_t chacha20poly1305_enc_nonce038[] = {
0xe7, 0x4a, 0x51, 0x5e, 0x7e, 0x21, 0x02, 0xb9,
0x0b, 0xef, 0x55, 0xd2
};
static const uint8_t chacha20poly1305_enc_key038[] = {
0xcf, 0x0d, 0x40, 0xa4, 0x64, 0x4e, 0x5f, 0x51,
0x81, 0x51, 0x65, 0xd5, 0x30, 0x1b, 0x22, 0x63,
0x1f, 0x45, 0x44, 0xc4, 0x9a, 0x18, 0x78, 0xe3,
0xa0, 0xa5, 0xe8, 0xe1, 0xaa, 0xe0, 0xf2, 0x64
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input039[] = {
0xa9, 0x89, 0x95, 0x50, 0x4d, 0xf1, 0x6f, 0x74,
0x8b, 0xfb, 0x77, 0x85, 0xff, 0x91, 0xee, 0xb3,
0xb6, 0x60, 0xea, 0x9e, 0xd3, 0x45, 0x0c, 0x3d,
0x5e, 0x7b, 0x0e, 0x79, 0xef, 0x65, 0x36, 0x59,
0xa9, 0x97, 0x8d, 0x75, 0x54, 0x2e, 0xf9, 0x1c,
0x45, 0x67, 0x62, 0x21, 0x56, 0x40, 0xb9
};
static const uint8_t chacha20poly1305_enc_output039[] = {
0xa1, 0xff, 0xed, 0x80, 0x76, 0x18, 0x29, 0xec,
0xce, 0x24, 0x2e, 0x0e, 0x88, 0xb1, 0x38, 0x04,
0x90, 0x16, 0xbc, 0xa0, 0x18, 0xda, 0x2b, 0x6e,
0x19, 0x98, 0x6b, 0x3e, 0x31, 0x8c, 0xae, 0x8d,
0x80, 0x61, 0x98, 0xfb, 0x4c, 0x52, 0x7c, 0xc3,
0x93, 0x50, 0xeb, 0xdd, 0xea, 0xc5, 0x73, 0xc4,
0xcb, 0xf0, 0xbe, 0xfd, 0xa0, 0xb7, 0x02, 0x42,
0xc6, 0x40, 0xd7, 0xcd, 0x02, 0xd7, 0xa3
};
static const uint8_t chacha20poly1305_enc_assoc039[] = {
0xb3, 0xe4, 0x06, 0x46, 0x83, 0xb0, 0x2d, 0x84
};
static const uint8_t chacha20poly1305_enc_nonce039[] = {
0xd4, 0xd8, 0x07, 0x34, 0x16, 0x83, 0x82, 0x5b,
0x31, 0xcd, 0x4d, 0x95
};
static const uint8_t chacha20poly1305_enc_key039[] = {
0x6c, 0xbf, 0xd7, 0x1c, 0x64, 0x5d, 0x18, 0x4c,
0xf5, 0xd2, 0x3c, 0x40, 0x2b, 0xdb, 0x0d, 0x25,
0xec, 0x54, 0x89, 0x8c, 0x8a, 0x02, 0x73, 0xd4,
0x2e, 0xb5, 0xbe, 0x10, 0x9f, 0xdc, 0xb2, 0xac
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input040[] = {
0xd0, 0x96, 0x80, 0x31, 0x81, 0xbe, 0xef, 0x9e,
0x00, 0x8f, 0xf8, 0x5d, 0x5d, 0xdc, 0x38, 0xdd,
0xac, 0xf0, 0xf0, 0x9e, 0xe5, 0xf7, 0xe0, 0x7f,
0x1e, 0x40, 0x79, 0xcb, 0x64, 0xd0, 0xdc, 0x8f,
0x5e, 0x67, 0x11, 0xcd, 0x49, 0x21, 0xa7, 0x88,
0x7d, 0xe7, 0x6e, 0x26, 0x78, 0xfd, 0xc6, 0x76,
0x18, 0xf1, 0x18, 0x55, 0x86, 0xbf, 0xea, 0x9d,
0x4c, 0x68, 0x5d, 0x50, 0xe4, 0xbb, 0x9a, 0x82
};
static const uint8_t chacha20poly1305_enc_output040[] = {
0x9a, 0x4e, 0xf2, 0x2b, 0x18, 0x16, 0x77, 0xb5,
0x75, 0x5c, 0x08, 0xf7, 0x47, 0xc0, 0xf8, 0xd8,
0xe8, 0xd4, 0xc1, 0x8a, 0x9c, 0xc2, 0x40, 0x5c,
0x12, 0xbb, 0x51, 0xbb, 0x18, 0x72, 0xc8, 0xe8,
0xb8, 0x77, 0x67, 0x8b, 0xec, 0x44, 0x2c, 0xfc,
0xbb, 0x0f, 0xf4, 0x64, 0xa6, 0x4b, 0x74, 0x33,
0x2c, 0xf0, 0x72, 0x89, 0x8c, 0x7e, 0x0e, 0xdd,
0xf6, 0x23, 0x2e, 0xa6, 0xe2, 0x7e, 0xfe, 0x50,
0x9f, 0xf3, 0x42, 0x7a, 0x0f, 0x32, 0xfa, 0x56,
0x6d, 0x9c, 0xa0, 0xa7, 0x8a, 0xef, 0xc0, 0x13
};
static const uint8_t chacha20poly1305_enc_assoc040[] = { };
static const uint8_t chacha20poly1305_enc_nonce040[] = {
0xd6, 0x10, 0x40, 0xa3, 0x13, 0xed, 0x49, 0x28,
0x23, 0xcc, 0x06, 0x5b
};
static const uint8_t chacha20poly1305_enc_key040[] = {
0x5b, 0x1d, 0x10, 0x35, 0xc0, 0xb1, 0x7e, 0xe0,
0xb0, 0x44, 0x47, 0x67, 0xf8, 0x0a, 0x25, 0xb8,
0xc1, 0xb7, 0x41, 0xf4, 0xb5, 0x0a, 0x4d, 0x30,
0x52, 0x22, 0x6b, 0xaa, 0x1c, 0x6f, 0xb7, 0x01
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input041[] = {
0x94, 0xee, 0x16, 0x6d, 0x6d, 0x6e, 0xcf, 0x88,
0x32, 0x43, 0x71, 0x36, 0xb4, 0xae, 0x80, 0x5d,
0x42, 0x88, 0x64, 0x35, 0x95, 0x86, 0xd9, 0x19,
0x3a, 0x25, 0x01, 0x62, 0x93, 0xed, 0xba, 0x44,
0x3c, 0x58, 0xe0, 0x7e, 0x7b, 0x71, 0x95, 0xec,
0x5b, 0xd8, 0x45, 0x82, 0xa9, 0xd5, 0x6c, 0x8d,
0x4a, 0x10, 0x8c, 0x7d, 0x7c, 0xe3, 0x4e, 0x6c,
0x6f, 0x8e, 0xa1, 0xbe, 0xc0, 0x56, 0x73, 0x17
};
static const uint8_t chacha20poly1305_enc_output041[] = {
0x5f, 0xbb, 0xde, 0xcc, 0x34, 0xbe, 0x20, 0x16,
0x14, 0xf6, 0x36, 0x03, 0x1e, 0xeb, 0x42, 0xf1,
0xca, 0xce, 0x3c, 0x79, 0xa1, 0x2c, 0xff, 0xd8,
0x71, 0xee, 0x8e, 0x73, 0x82, 0x0c, 0x82, 0x97,
0x49, 0xf1, 0xab, 0xb4, 0x29, 0x43, 0x67, 0x84,
0x9f, 0xb6, 0xc2, 0xaa, 0x56, 0xbd, 0xa8, 0xa3,
0x07, 0x8f, 0x72, 0x3d, 0x7c, 0x1c, 0x85, 0x20,
0x24, 0xb0, 0x17, 0xb5, 0x89, 0x73, 0xfb, 0x1e,
0x09, 0x26, 0x3d, 0xa7, 0xb4, 0xcb, 0x92, 0x14,
0x52, 0xf9, 0x7d, 0xca, 0x40, 0xf5, 0x80, 0xec
};
static const uint8_t chacha20poly1305_enc_assoc041[] = {
0x71, 0x93, 0xf6, 0x23, 0x66, 0x33, 0x21, 0xa2
};
static const uint8_t chacha20poly1305_enc_nonce041[] = {
0xd3, 0x1c, 0x21, 0xab, 0xa1, 0x75, 0xb7, 0x0d,
0xe4, 0xeb, 0xb1, 0x9c
};
static const uint8_t chacha20poly1305_enc_key041[] = {
0x97, 0xd6, 0x35, 0xc4, 0xf4, 0x75, 0x74, 0xd9,
0x99, 0x8a, 0x90, 0x87, 0x5d, 0xa1, 0xd3, 0xa2,
0x84, 0xb7, 0x55, 0xb2, 0xd3, 0x92, 0x97, 0xa5,
0x72, 0x52, 0x35, 0x19, 0x0e, 0x10, 0xa9, 0x7e
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input042[] = {
0xb4, 0x29, 0xeb, 0x80, 0xfb, 0x8f, 0xe8, 0xba,
0xed, 0xa0, 0xc8, 0x5b, 0x9c, 0x33, 0x34, 0x58,
0xe7, 0xc2, 0x99, 0x2e, 0x55, 0x84, 0x75, 0x06,
0x9d, 0x12, 0xd4, 0x5c, 0x22, 0x21, 0x75, 0x64,
0x12, 0x15, 0x88, 0x03, 0x22, 0x97, 0xef, 0xf5,
0x67, 0x83, 0x74, 0x2a, 0x5f, 0xc2, 0x2d, 0x74,
0x10, 0xff, 0xb2, 0x9d, 0x66, 0x09, 0x86, 0x61,
0xd7, 0x6f, 0x12, 0x6c, 0x3c, 0x27, 0x68, 0x9e,
0x43, 0xb3, 0x72, 0x67, 0xca, 0xc5, 0xa3, 0xa6,
0xd3, 0xab, 0x49, 0xe3, 0x91, 0xda, 0x29, 0xcd,
0x30, 0x54, 0xa5, 0x69, 0x2e, 0x28, 0x07, 0xe4,
0xc3, 0xea, 0x46, 0xc8, 0x76, 0x1d, 0x50, 0xf5,
0x92
};
static const uint8_t chacha20poly1305_enc_output042[] = {
0xd0, 0x10, 0x2f, 0x6c, 0x25, 0x8b, 0xf4, 0x97,
0x42, 0xce, 0xc3, 0x4c, 0xf2, 0xd0, 0xfe, 0xdf,
0x23, 0xd1, 0x05, 0xfb, 0x4c, 0x84, 0xcf, 0x98,
0x51, 0x5e, 0x1b, 0xc9, 0xa6, 0x4f, 0x8a, 0xd5,
0xbe, 0x8f, 0x07, 0x21, 0xbd, 0xe5, 0x06, 0x45,
0xd0, 0x00, 0x83, 0xc3, 0xa2, 0x63, 0xa3, 0x10,
0x53, 0xb7, 0x60, 0x24, 0x5f, 0x52, 0xae, 0x28,
0x66, 0xa5, 0xec, 0x83, 0xb1, 0x9f, 0x61, 0xbe,
0x1d, 0x30, 0xd5, 0xc5, 0xd9, 0xfe, 0xcc, 0x4c,
0xbb, 0xe0, 0x8f, 0xd3, 0x85, 0x81, 0x3a, 0x2a,
0xa3, 0x9a, 0x00, 0xff, 0x9c, 0x10, 0xf7, 0xf2,
0x37, 0x02, 0xad, 0xd1, 0xe4, 0xb2, 0xff, 0xa3,
0x1c, 0x41, 0x86, 0x5f, 0xc7, 0x1d, 0xe1, 0x2b,
0x19, 0x61, 0x21, 0x27, 0xce, 0x49, 0x99, 0x3b,
0xb0
};
static const uint8_t chacha20poly1305_enc_assoc042[] = { };
static const uint8_t chacha20poly1305_enc_nonce042[] = {
0x17, 0xc8, 0x6a, 0x8a, 0xbb, 0xb7, 0xe0, 0x03,
0xac, 0xde, 0x27, 0x99
};
static const uint8_t chacha20poly1305_enc_key042[] = {
0xfe, 0x6e, 0x55, 0xbd, 0xae, 0xd1, 0xf7, 0x28,
0x4c, 0xa5, 0xfc, 0x0f, 0x8c, 0x5f, 0x2b, 0x8d,
0xf5, 0x6d, 0xc0, 0xf4, 0x9e, 0x8c, 0xa6, 0x6a,
0x41, 0x99, 0x5e, 0x78, 0x33, 0x51, 0xf9, 0x01
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input043[] = {
0xce, 0xb5, 0x34, 0xce, 0x50, 0xdc, 0x23, 0xff,
0x63, 0x8a, 0xce, 0x3e, 0xf6, 0x3a, 0xb2, 0xcc,
0x29, 0x73, 0xee, 0xad, 0xa8, 0x07, 0x85, 0xfc,
0x16, 0x5d, 0x06, 0xc2, 0xf5, 0x10, 0x0f, 0xf5,
0xe8, 0xab, 0x28, 0x82, 0xc4, 0x75, 0xaf, 0xcd,
0x05, 0xcc, 0xd4, 0x9f, 0x2e, 0x7d, 0x8f, 0x55,
0xef, 0x3a, 0x72, 0xe3, 0xdc, 0x51, 0xd6, 0x85,
0x2b, 0x8e, 0x6b, 0x9e, 0x7a, 0xec, 0xe5, 0x7b,
0xe6, 0x55, 0x6b, 0x0b, 0x6d, 0x94, 0x13, 0xe3,
0x3f, 0xc5, 0xfc, 0x24, 0xa9, 0xa2, 0x05, 0xad,
0x59, 0x57, 0x4b, 0xb3, 0x9d, 0x94, 0x4a, 0x92,
0xdc, 0x47, 0x97, 0x0d, 0x84, 0xa6, 0xad, 0x31,
0x76
};
static const uint8_t chacha20poly1305_enc_output043[] = {
0x75, 0x45, 0x39, 0x1b, 0x51, 0xde, 0x01, 0xd5,
0xc5, 0x3d, 0xfa, 0xca, 0x77, 0x79, 0x09, 0x06,
0x3e, 0x58, 0xed, 0xee, 0x4b, 0xb1, 0x22, 0x7e,
0x71, 0x10, 0xac, 0x4d, 0x26, 0x20, 0xc2, 0xae,
0xc2, 0xf8, 0x48, 0xf5, 0x6d, 0xee, 0xb0, 0x37,
0xa8, 0xdc, 0xed, 0x75, 0xaf, 0xa8, 0xa6, 0xc8,
0x90, 0xe2, 0xde, 0xe4, 0x2f, 0x95, 0x0b, 0xb3,
0x3d, 0x9e, 0x24, 0x24, 0xd0, 0x8a, 0x50, 0x5d,
0x89, 0x95, 0x63, 0x97, 0x3e, 0xd3, 0x88, 0x70,
0xf3, 0xde, 0x6e, 0xe2, 0xad, 0xc7, 0xfe, 0x07,
0x2c, 0x36, 0x6c, 0x14, 0xe2, 0xcf, 0x7c, 0xa6,
0x2f, 0xb3, 0xd3, 0x6b, 0xee, 0x11, 0x68, 0x54,
0x61, 0xb7, 0x0d, 0x44, 0xef, 0x8c, 0x66, 0xc5,
0xc7, 0xbb, 0xf1, 0x0d, 0xca, 0xdd, 0x7f, 0xac,
0xf6
};
static const uint8_t chacha20poly1305_enc_assoc043[] = {
0xa1, 0x1c, 0x40, 0xb6, 0x03, 0x76, 0x73, 0x30
};
static const uint8_t chacha20poly1305_enc_nonce043[] = {
0x46, 0x36, 0x2f, 0x45, 0xd6, 0x37, 0x9e, 0x63,
0xe5, 0x22, 0x94, 0x60
};
static const uint8_t chacha20poly1305_enc_key043[] = {
0xaa, 0xbc, 0x06, 0x34, 0x74, 0xe6, 0x5c, 0x4c,
0x3e, 0x9b, 0xdc, 0x48, 0x0d, 0xea, 0x97, 0xb4,
0x51, 0x10, 0xc8, 0x61, 0x88, 0x46, 0xff, 0x6b,
0x15, 0xbd, 0xd2, 0xa4, 0xa5, 0x68, 0x2c, 0x4e
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input044[] = {
0xe5, 0xcc, 0xaa, 0x44, 0x1b, 0xc8, 0x14, 0x68,
0x8f, 0x8f, 0x6e, 0x8f, 0x28, 0xb5, 0x00, 0xb2
};
static const uint8_t chacha20poly1305_enc_output044[] = {
0x7e, 0x72, 0xf5, 0xa1, 0x85, 0xaf, 0x16, 0xa6,
0x11, 0x92, 0x1b, 0x43, 0x8f, 0x74, 0x9f, 0x0b,
0x12, 0x42, 0xc6, 0x70, 0x73, 0x23, 0x34, 0x02,
0x9a, 0xdf, 0xe1, 0xc5, 0x00, 0x16, 0x51, 0xe4
};
static const uint8_t chacha20poly1305_enc_assoc044[] = {
0x02
};
static const uint8_t chacha20poly1305_enc_nonce044[] = {
0x87, 0x34, 0x5f, 0x10, 0x55, 0xfd, 0x9e, 0x21,
0x02, 0xd5, 0x06, 0x56
};
static const uint8_t chacha20poly1305_enc_key044[] = {
0x7d, 0x00, 0xb4, 0x80, 0x95, 0xad, 0xfa, 0x32,
0x72, 0x05, 0x06, 0x07, 0xb2, 0x64, 0x18, 0x50,
0x02, 0xba, 0x99, 0x95, 0x7c, 0x49, 0x8b, 0xe0,
0x22, 0x77, 0x0f, 0x2c, 0xe2, 0xf3, 0x14, 0x3c
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input045[] = {
0x02, 0xcd, 0xe1, 0x68, 0xfb, 0xa3, 0xf5, 0x44,
0xbb, 0xd0, 0x33, 0x2f, 0x7a, 0xde, 0xad, 0xa8
};
static const uint8_t chacha20poly1305_enc_output045[] = {
0x85, 0xf2, 0x9a, 0x71, 0x95, 0x57, 0xcd, 0xd1,
0x4d, 0x1f, 0x8f, 0xff, 0xab, 0x6d, 0x9e, 0x60,
0x73, 0x2c, 0xa3, 0x2b, 0xec, 0xd5, 0x15, 0xa1,
0xed, 0x35, 0x3f, 0x54, 0x2e, 0x99, 0x98, 0x58
};
static const uint8_t chacha20poly1305_enc_assoc045[] = {
0xb6, 0x48
};
static const uint8_t chacha20poly1305_enc_nonce045[] = {
0x87, 0xa3, 0x16, 0x3e, 0xc0, 0x59, 0x8a, 0xd9,
0x5b, 0x3a, 0xa7, 0x13
};
static const uint8_t chacha20poly1305_enc_key045[] = {
0x64, 0x32, 0x71, 0x7f, 0x1d, 0xb8, 0x5e, 0x41,
0xac, 0x78, 0x36, 0xbc, 0xe2, 0x51, 0x85, 0xa0,
0x80, 0xd5, 0x76, 0x2b, 0x9e, 0x2b, 0x18, 0x44,
0x4b, 0x6e, 0xc7, 0x2c, 0x3b, 0xd8, 0xe4, 0xdc
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input046[] = {
0x16, 0xdd, 0xd2, 0x3f, 0xf5, 0x3f, 0x3d, 0x23,
0xc0, 0x63, 0x34, 0x48, 0x70, 0x40, 0xeb, 0x47
};
static const uint8_t chacha20poly1305_enc_output046[] = {
0xc1, 0xb2, 0x95, 0x93, 0x6d, 0x56, 0xfa, 0xda,
0xc0, 0x3e, 0x5f, 0x74, 0x2b, 0xff, 0x73, 0xa1,
0x39, 0xc4, 0x57, 0xdb, 0xab, 0x66, 0x38, 0x2b,
0xab, 0xb3, 0xb5, 0x58, 0x00, 0xcd, 0xa5, 0xb8
};
static const uint8_t chacha20poly1305_enc_assoc046[] = {
0xbd, 0x4c, 0xd0, 0x2f, 0xc7, 0x50, 0x2b, 0xbd,
0xbd, 0xf6, 0xc9, 0xa3, 0xcb, 0xe8, 0xf0
};
static const uint8_t chacha20poly1305_enc_nonce046[] = {
0x6f, 0x57, 0x3a, 0xa8, 0x6b, 0xaa, 0x49, 0x2b,
0xa4, 0x65, 0x96, 0xdf
};
static const uint8_t chacha20poly1305_enc_key046[] = {
0x8e, 0x34, 0xcf, 0x73, 0xd2, 0x45, 0xa1, 0x08,
0x2a, 0x92, 0x0b, 0x86, 0x36, 0x4e, 0xb8, 0x96,
0xc4, 0x94, 0x64, 0x67, 0xbc, 0xb3, 0xd5, 0x89,
0x29, 0xfc, 0xb3, 0x66, 0x90, 0xe6, 0x39, 0x4f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input047[] = {
0x62, 0x3b, 0x78, 0x50, 0xc3, 0x21, 0xe2, 0xcf,
0x0c, 0x6f, 0xbc, 0xc8, 0xdf, 0xd1, 0xaf, 0xf2
};
static const uint8_t chacha20poly1305_enc_output047[] = {
0xc8, 0x4c, 0x9b, 0xb7, 0xc6, 0x1c, 0x1b, 0xcb,
0x17, 0x77, 0x2a, 0x1c, 0x50, 0x0c, 0x50, 0x95,
0xdb, 0xad, 0xf7, 0xa5, 0x13, 0x8c, 0xa0, 0x34,
0x59, 0xa2, 0xcd, 0x65, 0x83, 0x1e, 0x09, 0x2f
};
static const uint8_t chacha20poly1305_enc_assoc047[] = {
0x89, 0xcc, 0xe9, 0xfb, 0x47, 0x44, 0x1d, 0x07,
0xe0, 0x24, 0x5a, 0x66, 0xfe, 0x8b, 0x77, 0x8b
};
static const uint8_t chacha20poly1305_enc_nonce047[] = {
0x1a, 0x65, 0x18, 0xf0, 0x2e, 0xde, 0x1d, 0xa6,
0x80, 0x92, 0x66, 0xd9
};
static const uint8_t chacha20poly1305_enc_key047[] = {
0xcb, 0x55, 0x75, 0xf5, 0xc7, 0xc4, 0x5c, 0x91,
0xcf, 0x32, 0x0b, 0x13, 0x9f, 0xb5, 0x94, 0x23,
0x75, 0x60, 0xd0, 0xa3, 0xe6, 0xf8, 0x65, 0xa6,
0x7d, 0x4f, 0x63, 0x3f, 0x2c, 0x08, 0xf0, 0x16
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input048[] = {
0x87, 0xb3, 0xa4, 0xd7, 0xb2, 0x6d, 0x8d, 0x32,
0x03, 0xa0, 0xde, 0x1d, 0x64, 0xef, 0x82, 0xe3
};
static const uint8_t chacha20poly1305_enc_output048[] = {
0x94, 0xbc, 0x80, 0x62, 0x1e, 0xd1, 0xe7, 0x1b,
0x1f, 0xd2, 0xb5, 0xc3, 0xa1, 0x5e, 0x35, 0x68,
0x33, 0x35, 0x11, 0x86, 0x17, 0x96, 0x97, 0x84,
0x01, 0x59, 0x8b, 0x96, 0x37, 0x22, 0xf5, 0xb3
};
static const uint8_t chacha20poly1305_enc_assoc048[] = {
0xd1, 0x9f, 0x2d, 0x98, 0x90, 0x95, 0xf7, 0xab,
0x03, 0xa5, 0xfd, 0xe8, 0x44, 0x16, 0xe0, 0x0c,
0x0e
};
static const uint8_t chacha20poly1305_enc_nonce048[] = {
0x56, 0x4d, 0xee, 0x49, 0xab, 0x00, 0xd2, 0x40,
0xfc, 0x10, 0x68, 0xc3
};
static const uint8_t chacha20poly1305_enc_key048[] = {
0xa5, 0x56, 0x9e, 0x72, 0x9a, 0x69, 0xb2, 0x4b,
0xa6, 0xe0, 0xff, 0x15, 0xc4, 0x62, 0x78, 0x97,
0x43, 0x68, 0x24, 0xc9, 0x41, 0xe9, 0xd0, 0x0b,
0x2e, 0x93, 0xfd, 0xdc, 0x4b, 0xa7, 0x76, 0x57
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input049[] = {
0xe6, 0x01, 0xb3, 0x85, 0x57, 0x79, 0x7d, 0xa2,
0xf8, 0xa4, 0x10, 0x6a, 0x08, 0x9d, 0x1d, 0xa6
};
static const uint8_t chacha20poly1305_enc_output049[] = {
0x29, 0x9b, 0x5d, 0x3f, 0x3d, 0x03, 0xc0, 0x87,
0x20, 0x9a, 0x16, 0xe2, 0x85, 0x14, 0x31, 0x11,
0x4b, 0x45, 0x4e, 0xd1, 0x98, 0xde, 0x11, 0x7e,
0x83, 0xec, 0x49, 0xfa, 0x8d, 0x85, 0x08, 0xd6
};
static const uint8_t chacha20poly1305_enc_assoc049[] = {
0x5e, 0x64, 0x70, 0xfa, 0xcd, 0x99, 0xc1, 0xd8,
0x1e, 0x37, 0xcd, 0x44, 0x01, 0x5f, 0xe1, 0x94,
0x80, 0xa2, 0xa4, 0xd3, 0x35, 0x2a, 0x4f, 0xf5,
0x60, 0xc0, 0x64, 0x0f, 0xdb, 0xda
};
static const uint8_t chacha20poly1305_enc_nonce049[] = {
0xdf, 0x87, 0x13, 0xe8, 0x7e, 0xc3, 0xdb, 0xcf,
0xad, 0x14, 0xd5, 0x3e
};
static const uint8_t chacha20poly1305_enc_key049[] = {
0x56, 0x20, 0x74, 0x65, 0xb4, 0xe4, 0x8e, 0x6d,
0x04, 0x63, 0x0f, 0x4a, 0x42, 0xf3, 0x5c, 0xfc,
0x16, 0x3a, 0xb2, 0x89, 0xc2, 0x2a, 0x2b, 0x47,
0x84, 0xf6, 0xf9, 0x29, 0x03, 0x30, 0xbe, 0xe0
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input050[] = {
0xdc, 0x9e, 0x9e, 0xaf, 0x11, 0xe3, 0x14, 0x18,
0x2d, 0xf6, 0xa4, 0xeb, 0xa1, 0x7a, 0xec, 0x9c
};
static const uint8_t chacha20poly1305_enc_output050[] = {
0x60, 0x5b, 0xbf, 0x90, 0xae, 0xb9, 0x74, 0xf6,
0x60, 0x2b, 0xc7, 0x78, 0x05, 0x6f, 0x0d, 0xca,
0x38, 0xea, 0x23, 0xd9, 0x90, 0x54, 0xb4, 0x6b,
0x42, 0xff, 0xe0, 0x04, 0x12, 0x9d, 0x22, 0x04
};
static const uint8_t chacha20poly1305_enc_assoc050[] = {
0xba, 0x44, 0x6f, 0x6f, 0x9a, 0x0c, 0xed, 0x22,
0x45, 0x0f, 0xeb, 0x10, 0x73, 0x7d, 0x90, 0x07,
0xfd, 0x69, 0xab, 0xc1, 0x9b, 0x1d, 0x4d, 0x90,
0x49, 0xa5, 0x55, 0x1e, 0x86, 0xec, 0x2b, 0x37
};
static const uint8_t chacha20poly1305_enc_nonce050[] = {
0x8d, 0xf4, 0xb1, 0x5a, 0x88, 0x8c, 0x33, 0x28,
0x6a, 0x7b, 0x76, 0x51
};
static const uint8_t chacha20poly1305_enc_key050[] = {
0x39, 0x37, 0x98, 0x6a, 0xf8, 0x6d, 0xaf, 0xc1,
0xba, 0x0c, 0x46, 0x72, 0xd8, 0xab, 0xc4, 0x6c,
0x20, 0x70, 0x62, 0x68, 0x2d, 0x9c, 0x26, 0x4a,
0xb0, 0x6d, 0x6c, 0x58, 0x07, 0x20, 0x51, 0x30
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input051[] = {
0x81, 0xce, 0x84, 0xed, 0xe9, 0xb3, 0x58, 0x59,
0xcc, 0x8c, 0x49, 0xa8, 0xf6, 0xbe, 0x7d, 0xc6
};
static const uint8_t chacha20poly1305_enc_output051[] = {
0x7b, 0x7c, 0xe0, 0xd8, 0x24, 0x80, 0x9a, 0x70,
0xde, 0x32, 0x56, 0x2c, 0xcf, 0x2c, 0x2b, 0xbd,
0x15, 0xd4, 0x4a, 0x00, 0xce, 0x0d, 0x19, 0xb4,
0x23, 0x1f, 0x92, 0x1e, 0x22, 0xbc, 0x0a, 0x43
};
static const uint8_t chacha20poly1305_enc_assoc051[] = {
0xd4, 0x1a, 0x82, 0x8d, 0x5e, 0x71, 0x82, 0x92,
0x47, 0x02, 0x19, 0x05, 0x40, 0x2e, 0xa2, 0x57,
0xdc, 0xcb, 0xc3, 0xb8, 0x0f, 0xcd, 0x56, 0x75,
0x05, 0x6b, 0x68, 0xbb, 0x59, 0xe6, 0x2e, 0x88,
0x73
};
static const uint8_t chacha20poly1305_enc_nonce051[] = {
0xbe, 0x40, 0xe5, 0xf1, 0xa1, 0x18, 0x17, 0xa0,
0xa8, 0xfa, 0x89, 0x49
};
static const uint8_t chacha20poly1305_enc_key051[] = {
0x36, 0x37, 0x2a, 0xbc, 0xdb, 0x78, 0xe0, 0x27,
0x96, 0x46, 0xac, 0x3d, 0x17, 0x6b, 0x96, 0x74,
0xe9, 0x15, 0x4e, 0xec, 0xf0, 0xd5, 0x46, 0x9c,
0x65, 0x1e, 0xc7, 0xe1, 0x6b, 0x4c, 0x11, 0x99
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input052[] = {
0xa6, 0x67, 0x47, 0xc8, 0x9e, 0x85, 0x7a, 0xf3,
0xa1, 0x8e, 0x2c, 0x79, 0x50, 0x00, 0x87, 0xed
};
static const uint8_t chacha20poly1305_enc_output052[] = {
0xca, 0x82, 0xbf, 0xf3, 0xe2, 0xf3, 0x10, 0xcc,
0xc9, 0x76, 0x67, 0x2c, 0x44, 0x15, 0xe6, 0x9b,
0x57, 0x63, 0x8c, 0x62, 0xa5, 0xd8, 0x5d, 0xed,
0x77, 0x4f, 0x91, 0x3c, 0x81, 0x3e, 0xa0, 0x32
};
static const uint8_t chacha20poly1305_enc_assoc052[] = {
0x3f, 0x2d, 0xd4, 0x9b, 0xbf, 0x09, 0xd6, 0x9a,
0x78, 0xa3, 0xd8, 0x0e, 0xa2, 0x56, 0x66, 0x14,
0xfc, 0x37, 0x94, 0x74, 0x19, 0x6c, 0x1a, 0xae,
0x84, 0x58, 0x3d, 0xa7, 0x3d, 0x7f, 0xf8, 0x5c,
0x6f, 0x42, 0xca, 0x42, 0x05, 0x6a, 0x97, 0x92,
0xcc, 0x1b, 0x9f, 0xb3, 0xc7, 0xd2, 0x61
};
static const uint8_t chacha20poly1305_enc_nonce052[] = {
0x84, 0xc8, 0x7d, 0xae, 0x4e, 0xee, 0x27, 0x73,
0x0e, 0xc3, 0x5d, 0x12
};
static const uint8_t chacha20poly1305_enc_key052[] = {
0x9f, 0x14, 0x79, 0xed, 0x09, 0x7d, 0x7f, 0xe5,
0x29, 0xc1, 0x1f, 0x2f, 0x5a, 0xdd, 0x9a, 0xaf,
0xf4, 0xa1, 0xca, 0x0b, 0x68, 0x99, 0x7a, 0x2c,
0xb7, 0xf7, 0x97, 0x49, 0xbd, 0x90, 0xaa, 0xf4
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input053[] = {
0x25, 0x6d, 0x40, 0x88, 0x80, 0x94, 0x17, 0x83,
0x55, 0xd3, 0x04, 0x84, 0x64, 0x43, 0xfe, 0xe8,
0xdf, 0x99, 0x47, 0x03, 0x03, 0xfb, 0x3b, 0x7b,
0x80, 0xe0, 0x30, 0xbe, 0xeb, 0xd3, 0x29, 0xbe
};
static const uint8_t chacha20poly1305_enc_output053[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe6, 0xd3, 0xd7, 0x32, 0x4a, 0x1c, 0xbb, 0xa7,
0x77, 0xbb, 0xb0, 0xec, 0xdd, 0xa3, 0x78, 0x07
};
static const uint8_t chacha20poly1305_enc_assoc053[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce053[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key053[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input054[] = {
0x25, 0x6d, 0x40, 0x88, 0x80, 0x94, 0x17, 0x83,
0x55, 0xd3, 0x04, 0x84, 0x64, 0x43, 0xfe, 0xe8,
0xdf, 0x99, 0x47, 0x03, 0x03, 0xfb, 0x3b, 0x7b,
0x80, 0xe0, 0x30, 0xbe, 0xeb, 0xd3, 0x29, 0xbe,
0xe3, 0xbc, 0xdb, 0x5b, 0x1e, 0xde, 0xfc, 0xfe,
0x8b, 0xcd, 0xa1, 0xb6, 0xa1, 0x5c, 0x8c, 0x2b,
0x08, 0x69, 0xff, 0xd2, 0xec, 0x5e, 0x26, 0xe5,
0x53, 0xb7, 0xb2, 0x27, 0xfe, 0x87, 0xfd, 0xbd
};
static const uint8_t chacha20poly1305_enc_output054[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x06, 0x2d, 0xe6, 0x79, 0x5f, 0x27, 0x4f, 0xd2,
0xa3, 0x05, 0xd7, 0x69, 0x80, 0xbc, 0x9c, 0xce
};
static const uint8_t chacha20poly1305_enc_assoc054[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce054[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key054[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input055[] = {
0x25, 0x6d, 0x40, 0x88, 0x80, 0x94, 0x17, 0x83,
0x55, 0xd3, 0x04, 0x84, 0x64, 0x43, 0xfe, 0xe8,
0xdf, 0x99, 0x47, 0x03, 0x03, 0xfb, 0x3b, 0x7b,
0x80, 0xe0, 0x30, 0xbe, 0xeb, 0xd3, 0x29, 0xbe,
0xe3, 0xbc, 0xdb, 0x5b, 0x1e, 0xde, 0xfc, 0xfe,
0x8b, 0xcd, 0xa1, 0xb6, 0xa1, 0x5c, 0x8c, 0x2b,
0x08, 0x69, 0xff, 0xd2, 0xec, 0x5e, 0x26, 0xe5,
0x53, 0xb7, 0xb2, 0x27, 0xfe, 0x87, 0xfd, 0xbd,
0x7a, 0xda, 0x44, 0x42, 0x42, 0x69, 0xbf, 0xfa,
0x55, 0x27, 0xf2, 0x70, 0xac, 0xf6, 0x85, 0x02,
0xb7, 0x4c, 0x5a, 0xe2, 0xe6, 0x0c, 0x05, 0x80,
0x98, 0x1a, 0x49, 0x38, 0x45, 0x93, 0x92, 0xc4,
0x9b, 0xb2, 0xf2, 0x84, 0xb6, 0x46, 0xef, 0xc7,
0xf3, 0xf0, 0xb1, 0x36, 0x1d, 0xc3, 0x48, 0xed,
0x77, 0xd3, 0x0b, 0xc5, 0x76, 0x92, 0xed, 0x38,
0xfb, 0xac, 0x01, 0x88, 0x38, 0x04, 0x88, 0xc7
};
static const uint8_t chacha20poly1305_enc_output055[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xd8, 0xb4, 0x79, 0x02, 0xba, 0xae, 0xaf, 0xb3,
0x42, 0x03, 0x05, 0x15, 0x29, 0xaf, 0x28, 0x2e
};
static const uint8_t chacha20poly1305_enc_assoc055[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce055[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key055[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input056[] = {
0xda, 0x92, 0xbf, 0x77, 0x7f, 0x6b, 0xe8, 0x7c,
0xaa, 0x2c, 0xfb, 0x7b, 0x9b, 0xbc, 0x01, 0x17,
0x20, 0x66, 0xb8, 0xfc, 0xfc, 0x04, 0xc4, 0x84,
0x7f, 0x1f, 0xcf, 0x41, 0x14, 0x2c, 0xd6, 0x41
};
static const uint8_t chacha20poly1305_enc_output056[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xb3, 0x89, 0x1c, 0x84, 0x9c, 0xb5, 0x2c, 0x27,
0x74, 0x7e, 0xdf, 0xcf, 0x31, 0x21, 0x3b, 0xb6
};
static const uint8_t chacha20poly1305_enc_assoc056[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce056[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key056[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input057[] = {
0xda, 0x92, 0xbf, 0x77, 0x7f, 0x6b, 0xe8, 0x7c,
0xaa, 0x2c, 0xfb, 0x7b, 0x9b, 0xbc, 0x01, 0x17,
0x20, 0x66, 0xb8, 0xfc, 0xfc, 0x04, 0xc4, 0x84,
0x7f, 0x1f, 0xcf, 0x41, 0x14, 0x2c, 0xd6, 0x41,
0x1c, 0x43, 0x24, 0xa4, 0xe1, 0x21, 0x03, 0x01,
0x74, 0x32, 0x5e, 0x49, 0x5e, 0xa3, 0x73, 0xd4,
0xf7, 0x96, 0x00, 0x2d, 0x13, 0xa1, 0xd9, 0x1a,
0xac, 0x48, 0x4d, 0xd8, 0x01, 0x78, 0x02, 0x42
};
static const uint8_t chacha20poly1305_enc_output057[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xc1, 0x2d, 0x26, 0xef, 0x03, 0x02, 0x9b,
0x62, 0xc0, 0x08, 0xda, 0x27, 0xc5, 0xdc, 0x68
};
static const uint8_t chacha20poly1305_enc_assoc057[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce057[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key057[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input058[] = {
0xda, 0x92, 0xbf, 0x77, 0x7f, 0x6b, 0xe8, 0x7c,
0xaa, 0x2c, 0xfb, 0x7b, 0x9b, 0xbc, 0x01, 0x17,
0x20, 0x66, 0xb8, 0xfc, 0xfc, 0x04, 0xc4, 0x84,
0x7f, 0x1f, 0xcf, 0x41, 0x14, 0x2c, 0xd6, 0x41,
0x1c, 0x43, 0x24, 0xa4, 0xe1, 0x21, 0x03, 0x01,
0x74, 0x32, 0x5e, 0x49, 0x5e, 0xa3, 0x73, 0xd4,
0xf7, 0x96, 0x00, 0x2d, 0x13, 0xa1, 0xd9, 0x1a,
0xac, 0x48, 0x4d, 0xd8, 0x01, 0x78, 0x02, 0x42,
0x85, 0x25, 0xbb, 0xbd, 0xbd, 0x96, 0x40, 0x05,
0xaa, 0xd8, 0x0d, 0x8f, 0x53, 0x09, 0x7a, 0xfd,
0x48, 0xb3, 0xa5, 0x1d, 0x19, 0xf3, 0xfa, 0x7f,
0x67, 0xe5, 0xb6, 0xc7, 0xba, 0x6c, 0x6d, 0x3b,
0x64, 0x4d, 0x0d, 0x7b, 0x49, 0xb9, 0x10, 0x38,
0x0c, 0x0f, 0x4e, 0xc9, 0xe2, 0x3c, 0xb7, 0x12,
0x88, 0x2c, 0xf4, 0x3a, 0x89, 0x6d, 0x12, 0xc7,
0x04, 0x53, 0xfe, 0x77, 0xc7, 0xfb, 0x77, 0x38
};
static const uint8_t chacha20poly1305_enc_output058[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xee, 0x65, 0x78, 0x30, 0x01, 0xc2, 0x56, 0x91,
0xfa, 0x28, 0xd0, 0xf5, 0xf1, 0xc1, 0xd7, 0x62
};
static const uint8_t chacha20poly1305_enc_assoc058[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce058[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key058[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input059[] = {
0x25, 0x6d, 0x40, 0x08, 0x80, 0x94, 0x17, 0x03,
0x55, 0xd3, 0x04, 0x04, 0x64, 0x43, 0xfe, 0x68,
0xdf, 0x99, 0x47, 0x83, 0x03, 0xfb, 0x3b, 0xfb,
0x80, 0xe0, 0x30, 0x3e, 0xeb, 0xd3, 0x29, 0x3e
};
static const uint8_t chacha20poly1305_enc_output059[] = {
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x79, 0xba, 0x7a, 0x29, 0xf5, 0xa7, 0xbb, 0x75,
0x79, 0x7a, 0xf8, 0x7a, 0x61, 0x01, 0x29, 0xa4
};
static const uint8_t chacha20poly1305_enc_assoc059[] = {
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80
};
static const uint8_t chacha20poly1305_enc_nonce059[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key059[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input060[] = {
0x25, 0x6d, 0x40, 0x08, 0x80, 0x94, 0x17, 0x03,
0x55, 0xd3, 0x04, 0x04, 0x64, 0x43, 0xfe, 0x68,
0xdf, 0x99, 0x47, 0x83, 0x03, 0xfb, 0x3b, 0xfb,
0x80, 0xe0, 0x30, 0x3e, 0xeb, 0xd3, 0x29, 0x3e,
0xe3, 0xbc, 0xdb, 0xdb, 0x1e, 0xde, 0xfc, 0x7e,
0x8b, 0xcd, 0xa1, 0x36, 0xa1, 0x5c, 0x8c, 0xab,
0x08, 0x69, 0xff, 0x52, 0xec, 0x5e, 0x26, 0x65,
0x53, 0xb7, 0xb2, 0xa7, 0xfe, 0x87, 0xfd, 0x3d
};
static const uint8_t chacha20poly1305_enc_output060[] = {
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x36, 0xb1, 0x74, 0x38, 0x19, 0xe1, 0xb9, 0xba,
0x15, 0x51, 0xe8, 0xed, 0x92, 0x2a, 0x95, 0x9a
};
static const uint8_t chacha20poly1305_enc_assoc060[] = {
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80
};
static const uint8_t chacha20poly1305_enc_nonce060[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key060[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input061[] = {
0x25, 0x6d, 0x40, 0x08, 0x80, 0x94, 0x17, 0x03,
0x55, 0xd3, 0x04, 0x04, 0x64, 0x43, 0xfe, 0x68,
0xdf, 0x99, 0x47, 0x83, 0x03, 0xfb, 0x3b, 0xfb,
0x80, 0xe0, 0x30, 0x3e, 0xeb, 0xd3, 0x29, 0x3e,
0xe3, 0xbc, 0xdb, 0xdb, 0x1e, 0xde, 0xfc, 0x7e,
0x8b, 0xcd, 0xa1, 0x36, 0xa1, 0x5c, 0x8c, 0xab,
0x08, 0x69, 0xff, 0x52, 0xec, 0x5e, 0x26, 0x65,
0x53, 0xb7, 0xb2, 0xa7, 0xfe, 0x87, 0xfd, 0x3d,
0x7a, 0xda, 0x44, 0xc2, 0x42, 0x69, 0xbf, 0x7a,
0x55, 0x27, 0xf2, 0xf0, 0xac, 0xf6, 0x85, 0x82,
0xb7, 0x4c, 0x5a, 0x62, 0xe6, 0x0c, 0x05, 0x00,
0x98, 0x1a, 0x49, 0xb8, 0x45, 0x93, 0x92, 0x44,
0x9b, 0xb2, 0xf2, 0x04, 0xb6, 0x46, 0xef, 0x47,
0xf3, 0xf0, 0xb1, 0xb6, 0x1d, 0xc3, 0x48, 0x6d,
0x77, 0xd3, 0x0b, 0x45, 0x76, 0x92, 0xed, 0xb8,
0xfb, 0xac, 0x01, 0x08, 0x38, 0x04, 0x88, 0x47
};
static const uint8_t chacha20poly1305_enc_output061[] = {
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0xfe, 0xac, 0x49, 0x55, 0x55, 0x4e, 0x80, 0x6f,
0x3a, 0x19, 0x02, 0xe2, 0x44, 0x32, 0xc0, 0x8a
};
static const uint8_t chacha20poly1305_enc_assoc061[] = {
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80
};
static const uint8_t chacha20poly1305_enc_nonce061[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key061[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input062[] = {
0xda, 0x92, 0xbf, 0xf7, 0x7f, 0x6b, 0xe8, 0xfc,
0xaa, 0x2c, 0xfb, 0xfb, 0x9b, 0xbc, 0x01, 0x97,
0x20, 0x66, 0xb8, 0x7c, 0xfc, 0x04, 0xc4, 0x04,
0x7f, 0x1f, 0xcf, 0xc1, 0x14, 0x2c, 0xd6, 0xc1
};
static const uint8_t chacha20poly1305_enc_output062[] = {
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0x20, 0xa3, 0x79, 0x8d, 0xf1, 0x29, 0x2c, 0x59,
0x72, 0xbf, 0x97, 0x41, 0xae, 0xc3, 0x8a, 0x19
};
static const uint8_t chacha20poly1305_enc_assoc062[] = {
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f
};
static const uint8_t chacha20poly1305_enc_nonce062[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key062[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input063[] = {
0xda, 0x92, 0xbf, 0xf7, 0x7f, 0x6b, 0xe8, 0xfc,
0xaa, 0x2c, 0xfb, 0xfb, 0x9b, 0xbc, 0x01, 0x97,
0x20, 0x66, 0xb8, 0x7c, 0xfc, 0x04, 0xc4, 0x04,
0x7f, 0x1f, 0xcf, 0xc1, 0x14, 0x2c, 0xd6, 0xc1,
0x1c, 0x43, 0x24, 0x24, 0xe1, 0x21, 0x03, 0x81,
0x74, 0x32, 0x5e, 0xc9, 0x5e, 0xa3, 0x73, 0x54,
0xf7, 0x96, 0x00, 0xad, 0x13, 0xa1, 0xd9, 0x9a,
0xac, 0x48, 0x4d, 0x58, 0x01, 0x78, 0x02, 0xc2
};
static const uint8_t chacha20poly1305_enc_output063[] = {
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xc0, 0x3d, 0x9f, 0x67, 0x35, 0x4a, 0x97, 0xb2,
0xf0, 0x74, 0xf7, 0x55, 0x15, 0x57, 0xe4, 0x9c
};
static const uint8_t chacha20poly1305_enc_assoc063[] = {
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f
};
static const uint8_t chacha20poly1305_enc_nonce063[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key063[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input064[] = {
0xda, 0x92, 0xbf, 0xf7, 0x7f, 0x6b, 0xe8, 0xfc,
0xaa, 0x2c, 0xfb, 0xfb, 0x9b, 0xbc, 0x01, 0x97,
0x20, 0x66, 0xb8, 0x7c, 0xfc, 0x04, 0xc4, 0x04,
0x7f, 0x1f, 0xcf, 0xc1, 0x14, 0x2c, 0xd6, 0xc1,
0x1c, 0x43, 0x24, 0x24, 0xe1, 0x21, 0x03, 0x81,
0x74, 0x32, 0x5e, 0xc9, 0x5e, 0xa3, 0x73, 0x54,
0xf7, 0x96, 0x00, 0xad, 0x13, 0xa1, 0xd9, 0x9a,
0xac, 0x48, 0x4d, 0x58, 0x01, 0x78, 0x02, 0xc2,
0x85, 0x25, 0xbb, 0x3d, 0xbd, 0x96, 0x40, 0x85,
0xaa, 0xd8, 0x0d, 0x0f, 0x53, 0x09, 0x7a, 0x7d,
0x48, 0xb3, 0xa5, 0x9d, 0x19, 0xf3, 0xfa, 0xff,
0x67, 0xe5, 0xb6, 0x47, 0xba, 0x6c, 0x6d, 0xbb,
0x64, 0x4d, 0x0d, 0xfb, 0x49, 0xb9, 0x10, 0xb8,
0x0c, 0x0f, 0x4e, 0x49, 0xe2, 0x3c, 0xb7, 0x92,
0x88, 0x2c, 0xf4, 0xba, 0x89, 0x6d, 0x12, 0x47,
0x04, 0x53, 0xfe, 0xf7, 0xc7, 0xfb, 0x77, 0xb8
};
static const uint8_t chacha20poly1305_enc_output064[] = {
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xc8, 0x6d, 0xa8, 0xdd, 0x65, 0x22, 0x86, 0xd5,
0x02, 0x13, 0xd3, 0x28, 0xd6, 0x3e, 0x40, 0x06
};
static const uint8_t chacha20poly1305_enc_assoc064[] = {
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f
};
static const uint8_t chacha20poly1305_enc_nonce064[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key064[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input065[] = {
0x5a, 0x92, 0xbf, 0x77, 0xff, 0x6b, 0xe8, 0x7c,
0x2a, 0x2c, 0xfb, 0x7b, 0x1b, 0xbc, 0x01, 0x17,
0xa0, 0x66, 0xb8, 0xfc, 0x7c, 0x04, 0xc4, 0x84,
0xff, 0x1f, 0xcf, 0x41, 0x94, 0x2c, 0xd6, 0x41
};
static const uint8_t chacha20poly1305_enc_output065[] = {
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0xbe, 0xde, 0x90, 0x83, 0xce, 0xb3, 0x6d, 0xdf,
0xe5, 0xfa, 0x81, 0x1f, 0x95, 0x47, 0x1c, 0x67
};
static const uint8_t chacha20poly1305_enc_assoc065[] = {
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce065[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key065[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input066[] = {
0x5a, 0x92, 0xbf, 0x77, 0xff, 0x6b, 0xe8, 0x7c,
0x2a, 0x2c, 0xfb, 0x7b, 0x1b, 0xbc, 0x01, 0x17,
0xa0, 0x66, 0xb8, 0xfc, 0x7c, 0x04, 0xc4, 0x84,
0xff, 0x1f, 0xcf, 0x41, 0x94, 0x2c, 0xd6, 0x41,
0x9c, 0x43, 0x24, 0xa4, 0x61, 0x21, 0x03, 0x01,
0xf4, 0x32, 0x5e, 0x49, 0xde, 0xa3, 0x73, 0xd4,
0x77, 0x96, 0x00, 0x2d, 0x93, 0xa1, 0xd9, 0x1a,
0x2c, 0x48, 0x4d, 0xd8, 0x81, 0x78, 0x02, 0x42
};
static const uint8_t chacha20poly1305_enc_output066[] = {
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x30, 0x08, 0x74, 0xbb, 0x06, 0x92, 0xb6, 0x89,
0xde, 0xad, 0x9a, 0xe1, 0x5b, 0x06, 0x73, 0x90
};
static const uint8_t chacha20poly1305_enc_assoc066[] = {
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce066[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key066[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input067[] = {
0x5a, 0x92, 0xbf, 0x77, 0xff, 0x6b, 0xe8, 0x7c,
0x2a, 0x2c, 0xfb, 0x7b, 0x1b, 0xbc, 0x01, 0x17,
0xa0, 0x66, 0xb8, 0xfc, 0x7c, 0x04, 0xc4, 0x84,
0xff, 0x1f, 0xcf, 0x41, 0x94, 0x2c, 0xd6, 0x41,
0x9c, 0x43, 0x24, 0xa4, 0x61, 0x21, 0x03, 0x01,
0xf4, 0x32, 0x5e, 0x49, 0xde, 0xa3, 0x73, 0xd4,
0x77, 0x96, 0x00, 0x2d, 0x93, 0xa1, 0xd9, 0x1a,
0x2c, 0x48, 0x4d, 0xd8, 0x81, 0x78, 0x02, 0x42,
0x05, 0x25, 0xbb, 0xbd, 0x3d, 0x96, 0x40, 0x05,
0x2a, 0xd8, 0x0d, 0x8f, 0xd3, 0x09, 0x7a, 0xfd,
0xc8, 0xb3, 0xa5, 0x1d, 0x99, 0xf3, 0xfa, 0x7f,
0xe7, 0xe5, 0xb6, 0xc7, 0x3a, 0x6c, 0x6d, 0x3b,
0xe4, 0x4d, 0x0d, 0x7b, 0xc9, 0xb9, 0x10, 0x38,
0x8c, 0x0f, 0x4e, 0xc9, 0x62, 0x3c, 0xb7, 0x12,
0x08, 0x2c, 0xf4, 0x3a, 0x09, 0x6d, 0x12, 0xc7,
0x84, 0x53, 0xfe, 0x77, 0x47, 0xfb, 0x77, 0x38
};
static const uint8_t chacha20poly1305_enc_output067[] = {
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x99, 0xca, 0xd8, 0x5f, 0x45, 0xca, 0x40, 0x94,
0x2d, 0x0d, 0x4d, 0x5e, 0x95, 0x0a, 0xde, 0x22
};
static const uint8_t chacha20poly1305_enc_assoc067[] = {
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff,
0x7f, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce067[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key067[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input068[] = {
0x25, 0x6d, 0x40, 0x88, 0x7f, 0x6b, 0xe8, 0x7c,
0x55, 0xd3, 0x04, 0x84, 0x9b, 0xbc, 0x01, 0x17,
0xdf, 0x99, 0x47, 0x03, 0xfc, 0x04, 0xc4, 0x84,
0x80, 0xe0, 0x30, 0xbe, 0x14, 0x2c, 0xd6, 0x41
};
static const uint8_t chacha20poly1305_enc_output068[] = {
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x8b, 0xbe, 0x14, 0x52, 0x72, 0xe7, 0xc2, 0xd9,
0xa1, 0x89, 0x1a, 0x3a, 0xb0, 0x98, 0x3d, 0x9d
};
static const uint8_t chacha20poly1305_enc_assoc068[] = {
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce068[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key068[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input069[] = {
0x25, 0x6d, 0x40, 0x88, 0x7f, 0x6b, 0xe8, 0x7c,
0x55, 0xd3, 0x04, 0x84, 0x9b, 0xbc, 0x01, 0x17,
0xdf, 0x99, 0x47, 0x03, 0xfc, 0x04, 0xc4, 0x84,
0x80, 0xe0, 0x30, 0xbe, 0x14, 0x2c, 0xd6, 0x41,
0xe3, 0xbc, 0xdb, 0x5b, 0xe1, 0x21, 0x03, 0x01,
0x8b, 0xcd, 0xa1, 0xb6, 0x5e, 0xa3, 0x73, 0xd4,
0x08, 0x69, 0xff, 0xd2, 0x13, 0xa1, 0xd9, 0x1a,
0x53, 0xb7, 0xb2, 0x27, 0x01, 0x78, 0x02, 0x42
};
static const uint8_t chacha20poly1305_enc_output069[] = {
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x3b, 0x41, 0x86, 0x19, 0x13, 0xa8, 0xf6, 0xde,
0x7f, 0x61, 0xe2, 0x25, 0x63, 0x1b, 0xc3, 0x82
};
static const uint8_t chacha20poly1305_enc_assoc069[] = {
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce069[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key069[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input070[] = {
0x25, 0x6d, 0x40, 0x88, 0x7f, 0x6b, 0xe8, 0x7c,
0x55, 0xd3, 0x04, 0x84, 0x9b, 0xbc, 0x01, 0x17,
0xdf, 0x99, 0x47, 0x03, 0xfc, 0x04, 0xc4, 0x84,
0x80, 0xe0, 0x30, 0xbe, 0x14, 0x2c, 0xd6, 0x41,
0xe3, 0xbc, 0xdb, 0x5b, 0xe1, 0x21, 0x03, 0x01,
0x8b, 0xcd, 0xa1, 0xb6, 0x5e, 0xa3, 0x73, 0xd4,
0x08, 0x69, 0xff, 0xd2, 0x13, 0xa1, 0xd9, 0x1a,
0x53, 0xb7, 0xb2, 0x27, 0x01, 0x78, 0x02, 0x42,
0x7a, 0xda, 0x44, 0x42, 0xbd, 0x96, 0x40, 0x05,
0x55, 0x27, 0xf2, 0x70, 0x53, 0x09, 0x7a, 0xfd,
0xb7, 0x4c, 0x5a, 0xe2, 0x19, 0xf3, 0xfa, 0x7f,
0x98, 0x1a, 0x49, 0x38, 0xba, 0x6c, 0x6d, 0x3b,
0x9b, 0xb2, 0xf2, 0x84, 0x49, 0xb9, 0x10, 0x38,
0xf3, 0xf0, 0xb1, 0x36, 0xe2, 0x3c, 0xb7, 0x12,
0x77, 0xd3, 0x0b, 0xc5, 0x89, 0x6d, 0x12, 0xc7,
0xfb, 0xac, 0x01, 0x88, 0xc7, 0xfb, 0x77, 0x38
};
static const uint8_t chacha20poly1305_enc_output070[] = {
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x84, 0x28, 0xbc, 0xf0, 0x23, 0xec, 0x6b, 0xf3,
0x1f, 0xd9, 0xef, 0xb2, 0x03, 0xff, 0x08, 0x71
};
static const uint8_t chacha20poly1305_enc_assoc070[] = {
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce070[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key070[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input071[] = {
0xda, 0x92, 0xbf, 0x77, 0x80, 0x94, 0x17, 0x83,
0xaa, 0x2c, 0xfb, 0x7b, 0x64, 0x43, 0xfe, 0xe8,
0x20, 0x66, 0xb8, 0xfc, 0x03, 0xfb, 0x3b, 0x7b,
0x7f, 0x1f, 0xcf, 0x41, 0xeb, 0xd3, 0x29, 0xbe
};
static const uint8_t chacha20poly1305_enc_output071[] = {
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x13, 0x9f, 0xdf, 0x64, 0x74, 0xea, 0x24, 0xf5,
0x49, 0xb0, 0x75, 0x82, 0x5f, 0x2c, 0x76, 0x20
};
static const uint8_t chacha20poly1305_enc_assoc071[] = {
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce071[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key071[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input072[] = {
0xda, 0x92, 0xbf, 0x77, 0x80, 0x94, 0x17, 0x83,
0xaa, 0x2c, 0xfb, 0x7b, 0x64, 0x43, 0xfe, 0xe8,
0x20, 0x66, 0xb8, 0xfc, 0x03, 0xfb, 0x3b, 0x7b,
0x7f, 0x1f, 0xcf, 0x41, 0xeb, 0xd3, 0x29, 0xbe,
0x1c, 0x43, 0x24, 0xa4, 0x1e, 0xde, 0xfc, 0xfe,
0x74, 0x32, 0x5e, 0x49, 0xa1, 0x5c, 0x8c, 0x2b,
0xf7, 0x96, 0x00, 0x2d, 0xec, 0x5e, 0x26, 0xe5,
0xac, 0x48, 0x4d, 0xd8, 0xfe, 0x87, 0xfd, 0xbd
};
static const uint8_t chacha20poly1305_enc_output072[] = {
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xbb, 0xad, 0x8d, 0x86, 0x3b, 0x83, 0x5a, 0x8e,
0x86, 0x64, 0xfd, 0x1d, 0x45, 0x66, 0xb6, 0xb4
};
static const uint8_t chacha20poly1305_enc_assoc072[] = {
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce072[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key072[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - misc */
static const uint8_t chacha20poly1305_enc_input073[] = {
0xda, 0x92, 0xbf, 0x77, 0x80, 0x94, 0x17, 0x83,
0xaa, 0x2c, 0xfb, 0x7b, 0x64, 0x43, 0xfe, 0xe8,
0x20, 0x66, 0xb8, 0xfc, 0x03, 0xfb, 0x3b, 0x7b,
0x7f, 0x1f, 0xcf, 0x41, 0xeb, 0xd3, 0x29, 0xbe,
0x1c, 0x43, 0x24, 0xa4, 0x1e, 0xde, 0xfc, 0xfe,
0x74, 0x32, 0x5e, 0x49, 0xa1, 0x5c, 0x8c, 0x2b,
0xf7, 0x96, 0x00, 0x2d, 0xec, 0x5e, 0x26, 0xe5,
0xac, 0x48, 0x4d, 0xd8, 0xfe, 0x87, 0xfd, 0xbd,
0x85, 0x25, 0xbb, 0xbd, 0x42, 0x69, 0xbf, 0xfa,
0xaa, 0xd8, 0x0d, 0x8f, 0xac, 0xf6, 0x85, 0x02,
0x48, 0xb3, 0xa5, 0x1d, 0xe6, 0x0c, 0x05, 0x80,
0x67, 0xe5, 0xb6, 0xc7, 0x45, 0x93, 0x92, 0xc4,
0x64, 0x4d, 0x0d, 0x7b, 0xb6, 0x46, 0xef, 0xc7,
0x0c, 0x0f, 0x4e, 0xc9, 0x1d, 0xc3, 0x48, 0xed,
0x88, 0x2c, 0xf4, 0x3a, 0x76, 0x92, 0xed, 0x38,
0x04, 0x53, 0xfe, 0x77, 0x38, 0x04, 0x88, 0xc7
};
static const uint8_t chacha20poly1305_enc_output073[] = {
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x42, 0xf2, 0x35, 0x42, 0x97, 0x84, 0x9a, 0x51,
0x1d, 0x53, 0xe5, 0x57, 0x17, 0x72, 0xf7, 0x1f
};
static const uint8_t chacha20poly1305_enc_assoc073[] = {
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce073[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0xee, 0x32, 0x00
};
static const uint8_t chacha20poly1305_enc_key073[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input074[] = {
0xd4, 0x50, 0x0b, 0xf0, 0x09, 0x49, 0x35, 0x51,
0xc3, 0x80, 0xad, 0xf5, 0x2c, 0x57, 0x3a, 0x69,
0xdf, 0x7e, 0x8b, 0x76, 0x24, 0x63, 0x33, 0x0f,
0xac, 0xc1, 0x6a, 0x57, 0x26, 0xbe, 0x71, 0x90,
0xc6, 0x3c, 0x5a, 0x1c, 0x92, 0x65, 0x84, 0xa0,
0x96, 0x75, 0x68, 0x28, 0xdc, 0xdc, 0x64, 0xac,
0xdf, 0x96, 0x3d, 0x93, 0x1b, 0xf1, 0xda, 0xe2,
0x38, 0xf3, 0xf1, 0x57, 0x22, 0x4a, 0xc4, 0xb5,
0x42, 0xd7, 0x85, 0xb0, 0xdd, 0x84, 0xdb, 0x6b,
0xe3, 0xbc, 0x5a, 0x36, 0x63, 0xe8, 0x41, 0x49,
0xff, 0xbe, 0xd0, 0x9e, 0x54, 0xf7, 0x8f, 0x16,
0xa8, 0x22, 0x3b, 0x24, 0xcb, 0x01, 0x9f, 0x58,
0xb2, 0x1b, 0x0e, 0x55, 0x1e, 0x7a, 0xa0, 0x73,
0x27, 0x62, 0x95, 0x51, 0x37, 0x6c, 0xcb, 0xc3,
0x93, 0x76, 0x71, 0xa0, 0x62, 0x9b, 0xd9, 0x5c,
0x99, 0x15, 0xc7, 0x85, 0x55, 0x77, 0x1e, 0x7a
};
static const uint8_t chacha20poly1305_enc_output074[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0b, 0x30, 0x0d, 0x8d, 0xa5, 0x6c, 0x21, 0x85,
0x75, 0x52, 0x79, 0x55, 0x3c, 0x4c, 0x82, 0xca
};
static const uint8_t chacha20poly1305_enc_assoc074[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce074[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x00, 0x02, 0x50, 0x6e
};
static const uint8_t chacha20poly1305_enc_key074[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input075[] = {
0x7d, 0xe8, 0x7f, 0x67, 0x29, 0x94, 0x52, 0x75,
0xd0, 0x65, 0x5d, 0xa4, 0xc7, 0xfd, 0xe4, 0x56,
0x9e, 0x16, 0xf1, 0x11, 0xb5, 0xeb, 0x26, 0xc2,
0x2d, 0x85, 0x9e, 0x3f, 0xf8, 0x22, 0xec, 0xed,
0x3a, 0x6d, 0xd9, 0xa6, 0x0f, 0x22, 0x95, 0x7f,
0x7b, 0x7c, 0x85, 0x7e, 0x88, 0x22, 0xeb, 0x9f,
0xe0, 0xb8, 0xd7, 0x02, 0x21, 0x41, 0xf2, 0xd0,
0xb4, 0x8f, 0x4b, 0x56, 0x12, 0xd3, 0x22, 0xa8,
0x8d, 0xd0, 0xfe, 0x0b, 0x4d, 0x91, 0x79, 0x32,
0x4f, 0x7c, 0x6c, 0x9e, 0x99, 0x0e, 0xfb, 0xd8,
0x0e, 0x5e, 0xd6, 0x77, 0x58, 0x26, 0x49, 0x8b,
0x1e, 0xfe, 0x0f, 0x71, 0xa0, 0xf3, 0xec, 0x5b,
0x29, 0xcb, 0x28, 0xc2, 0x54, 0x0a, 0x7d, 0xcd,
0x51, 0xb7, 0xda, 0xae, 0xe0, 0xff, 0x4a, 0x7f,
0x3a, 0xc1, 0xee, 0x54, 0xc2, 0x9e, 0xe4, 0xc1,
0x70, 0xde, 0x40, 0x8f, 0x66, 0x69, 0x21, 0x94
};
static const uint8_t chacha20poly1305_enc_output075[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc5, 0x78, 0xe2, 0xaa, 0x44, 0xd3, 0x09, 0xb7,
0xb6, 0xa5, 0x19, 0x3b, 0xdc, 0x61, 0x18, 0xf5
};
static const uint8_t chacha20poly1305_enc_assoc075[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce075[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x00, 0x03, 0x18, 0xa5
};
static const uint8_t chacha20poly1305_enc_key075[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input076[] = {
0x1b, 0x99, 0x6f, 0x9a, 0x3c, 0xcc, 0x67, 0x85,
0xde, 0x22, 0xff, 0x5b, 0x8a, 0xdd, 0x95, 0x02,
0xce, 0x03, 0xa0, 0xfa, 0xf5, 0x99, 0x2a, 0x09,
0x52, 0x2c, 0xdd, 0x12, 0x06, 0xd2, 0x20, 0xb8,
0xf8, 0xbd, 0x07, 0xd1, 0xf1, 0xf5, 0xa1, 0xbd,
0x9a, 0x71, 0xd1, 0x1c, 0x7f, 0x57, 0x9b, 0x85,
0x58, 0x18, 0xc0, 0x8d, 0x4d, 0xe0, 0x36, 0x39,
0x31, 0x83, 0xb7, 0xf5, 0x90, 0xb3, 0x35, 0xae,
0xd8, 0xde, 0x5b, 0x57, 0xb1, 0x3c, 0x5f, 0xed,
0xe2, 0x44, 0x1c, 0x3e, 0x18, 0x4a, 0xa9, 0xd4,
0x6e, 0x61, 0x59, 0x85, 0x06, 0xb3, 0xe1, 0x1c,
0x43, 0xc6, 0x2c, 0xbc, 0xac, 0xec, 0xed, 0x33,
0x19, 0x08, 0x75, 0xb0, 0x12, 0x21, 0x8b, 0x19,
0x30, 0xfb, 0x7c, 0x38, 0xec, 0x45, 0xac, 0x11,
0xc3, 0x53, 0xd0, 0xcf, 0x93, 0x8d, 0xcc, 0xb9,
0xef, 0xad, 0x8f, 0xed, 0xbe, 0x46, 0xda, 0xa5
};
static const uint8_t chacha20poly1305_enc_output076[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x4b, 0x0b, 0xda, 0x8a, 0xd0, 0x43, 0x83, 0x0d,
0x83, 0x19, 0xab, 0x82, 0xc5, 0x0c, 0x76, 0x63
};
static const uint8_t chacha20poly1305_enc_assoc076[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce076[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xb4, 0xf0
};
static const uint8_t chacha20poly1305_enc_key076[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input077[] = {
0x86, 0xcb, 0xac, 0xae, 0x4d, 0x3f, 0x74, 0xae,
0x01, 0x21, 0x3e, 0x05, 0x51, 0xcc, 0x15, 0x16,
0x0e, 0xa1, 0xbe, 0x84, 0x08, 0xe3, 0xd5, 0xd7,
0x4f, 0x01, 0x46, 0x49, 0x95, 0xa6, 0x9e, 0x61,
0x76, 0xcb, 0x9e, 0x02, 0xb2, 0x24, 0x7e, 0xd2,
0x99, 0x89, 0x2f, 0x91, 0x82, 0xa4, 0x5c, 0xaf,
0x4c, 0x69, 0x40, 0x56, 0x11, 0x76, 0x6e, 0xdf,
0xaf, 0xdc, 0x28, 0x55, 0x19, 0xea, 0x30, 0x48,
0x0c, 0x44, 0xf0, 0x5e, 0x78, 0x1e, 0xac, 0xf8,
0xfc, 0xec, 0xc7, 0x09, 0x0a, 0xbb, 0x28, 0xfa,
0x5f, 0xd5, 0x85, 0xac, 0x8c, 0xda, 0x7e, 0x87,
0x72, 0xe5, 0x94, 0xe4, 0xce, 0x6c, 0x88, 0x32,
0x81, 0x93, 0x2e, 0x0f, 0x89, 0xf8, 0x77, 0xa1,
0xf0, 0x4d, 0x9c, 0x32, 0xb0, 0x6c, 0xf9, 0x0b,
0x0e, 0x76, 0x2b, 0x43, 0x0c, 0x4d, 0x51, 0x7c,
0x97, 0x10, 0x70, 0x68, 0xf4, 0x98, 0xef, 0x7f
};
static const uint8_t chacha20poly1305_enc_output077[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x4b, 0xc9, 0x8f, 0x72, 0xc4, 0x94, 0xc2, 0xa4,
0x3c, 0x2b, 0x15, 0xa1, 0x04, 0x3f, 0x1c, 0xfa
};
static const uint8_t chacha20poly1305_enc_assoc077[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce077[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xfb, 0x66
};
static const uint8_t chacha20poly1305_enc_key077[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input078[] = {
0xfa, 0xb1, 0xcd, 0xdf, 0x4f, 0xe1, 0x98, 0xef,
0x63, 0xad, 0xd8, 0x81, 0xd6, 0xea, 0xd6, 0xc5,
0x76, 0x37, 0xbb, 0xe9, 0x20, 0x18, 0xca, 0x7c,
0x0b, 0x96, 0xfb, 0xa0, 0x87, 0x1e, 0x93, 0x2d,
0xb1, 0xfb, 0xf9, 0x07, 0x61, 0xbe, 0x25, 0xdf,
0x8d, 0xfa, 0xf9, 0x31, 0xce, 0x57, 0x57, 0xe6,
0x17, 0xb3, 0xd7, 0xa9, 0xf0, 0xbf, 0x0f, 0xfe,
0x5d, 0x59, 0x1a, 0x33, 0xc1, 0x43, 0xb8, 0xf5,
0x3f, 0xd0, 0xb5, 0xa1, 0x96, 0x09, 0xfd, 0x62,
0xe5, 0xc2, 0x51, 0xa4, 0x28, 0x1a, 0x20, 0x0c,
0xfd, 0xc3, 0x4f, 0x28, 0x17, 0x10, 0x40, 0x6f,
0x4e, 0x37, 0x62, 0x54, 0x46, 0xff, 0x6e, 0xf2,
0x24, 0x91, 0x3d, 0xeb, 0x0d, 0x89, 0xaf, 0x33,
0x71, 0x28, 0xe3, 0xd1, 0x55, 0xd1, 0x6d, 0x3e,
0xc3, 0x24, 0x60, 0x41, 0x43, 0x21, 0x43, 0xe9,
0xab, 0x3a, 0x6d, 0x2c, 0xcc, 0x2f, 0x4d, 0x62
};
static const uint8_t chacha20poly1305_enc_output078[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xe9, 0xe1, 0x51, 0xb0, 0x25, 0x33, 0xc7,
0x46, 0x58, 0xbf, 0xc7, 0x73, 0x7c, 0x68, 0x0d
};
static const uint8_t chacha20poly1305_enc_assoc078[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce078[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xbb, 0x90
};
static const uint8_t chacha20poly1305_enc_key078[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input079[] = {
0x22, 0x72, 0x02, 0xbe, 0x7f, 0x35, 0x15, 0xe9,
0xd1, 0xc0, 0x2e, 0xea, 0x2f, 0x19, 0x50, 0xb6,
0x48, 0x1b, 0x04, 0x8a, 0x4c, 0x91, 0x50, 0x6c,
0xb4, 0x0d, 0x50, 0x4e, 0x6c, 0x94, 0x9f, 0x82,
0xd1, 0x97, 0xc2, 0x5a, 0xd1, 0x7d, 0xc7, 0x21,
0x65, 0x11, 0x25, 0x78, 0x2a, 0xc7, 0xa7, 0x12,
0x47, 0xfe, 0xae, 0xf3, 0x2f, 0x1f, 0x25, 0x0c,
0xe4, 0xbb, 0x8f, 0x79, 0xac, 0xaa, 0x17, 0x9d,
0x45, 0xa7, 0xb0, 0x54, 0x5f, 0x09, 0x24, 0x32,
0x5e, 0xfa, 0x87, 0xd5, 0xe4, 0x41, 0xd2, 0x84,
0x78, 0xc6, 0x1f, 0x22, 0x23, 0xee, 0x67, 0xc3,
0xb4, 0x1f, 0x43, 0x94, 0x53, 0x5e, 0x2a, 0x24,
0x36, 0x9a, 0x2e, 0x16, 0x61, 0x3c, 0x45, 0x94,
0x90, 0xc1, 0x4f, 0xb1, 0xd7, 0x55, 0xfe, 0x53,
0xfb, 0xe1, 0xee, 0x45, 0xb1, 0xb2, 0x1f, 0x71,
0x62, 0xe2, 0xfc, 0xaa, 0x74, 0x2a, 0xbe, 0xfd
};
static const uint8_t chacha20poly1305_enc_output079[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x79, 0x5b, 0xcf, 0xf6, 0x47, 0xc5, 0x53, 0xc2,
0xe4, 0xeb, 0x6e, 0x0e, 0xaf, 0xd9, 0xe0, 0x4e
};
static const uint8_t chacha20poly1305_enc_assoc079[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce079[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x48, 0x4a
};
static const uint8_t chacha20poly1305_enc_key079[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input080[] = {
0xfa, 0xe5, 0x83, 0x45, 0xc1, 0x6c, 0xb0, 0xf5,
0xcc, 0x53, 0x7f, 0x2b, 0x1b, 0x34, 0x69, 0xc9,
0x69, 0x46, 0x3b, 0x3e, 0xa7, 0x1b, 0xcf, 0x6b,
0x98, 0xd6, 0x69, 0xa8, 0xe6, 0x0e, 0x04, 0xfc,
0x08, 0xd5, 0xfd, 0x06, 0x9c, 0x36, 0x26, 0x38,
0xe3, 0x40, 0x0e, 0xf4, 0xcb, 0x24, 0x2e, 0x27,
0xe2, 0x24, 0x5e, 0x68, 0xcb, 0x9e, 0xc5, 0x83,
0xda, 0x53, 0x40, 0xb1, 0x2e, 0xdf, 0x42, 0x3b,
0x73, 0x26, 0xad, 0x20, 0xfe, 0xeb, 0x57, 0xda,
0xca, 0x2e, 0x04, 0x67, 0xa3, 0x28, 0x99, 0xb4,
0x2d, 0xf8, 0xe5, 0x6d, 0x84, 0xe0, 0x06, 0xbc,
0x8a, 0x7a, 0xcc, 0x73, 0x1e, 0x7c, 0x1f, 0x6b,
0xec, 0xb5, 0x71, 0x9f, 0x70, 0x77, 0xf0, 0xd4,
0xf4, 0xc6, 0x1a, 0xb1, 0x1e, 0xba, 0xc1, 0x00,
0x18, 0x01, 0xce, 0x33, 0xc4, 0xe4, 0xa7, 0x7d,
0x83, 0x1d, 0x3c, 0xe3, 0x4e, 0x84, 0x10, 0xe1
};
static const uint8_t chacha20poly1305_enc_output080[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x19, 0x46, 0xd6, 0x53, 0x96, 0x0f, 0x94, 0x7a,
0x74, 0xd3, 0xe8, 0x09, 0x3c, 0xf4, 0x85, 0x02
};
static const uint8_t chacha20poly1305_enc_assoc080[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce080[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x2f, 0x40
};
static const uint8_t chacha20poly1305_enc_key080[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input081[] = {
0xeb, 0xb2, 0x16, 0xdd, 0xd7, 0xca, 0x70, 0x92,
0x15, 0xf5, 0x03, 0xdf, 0x9c, 0xe6, 0x3c, 0x5c,
0xd2, 0x19, 0x4e, 0x7d, 0x90, 0x99, 0xe8, 0xa9,
0x0b, 0x2a, 0xfa, 0xad, 0x5e, 0xba, 0x35, 0x06,
0x99, 0x25, 0xa6, 0x03, 0xfd, 0xbc, 0x34, 0x1a,
0xae, 0xd4, 0x15, 0x05, 0xb1, 0x09, 0x41, 0xfa,
0x38, 0x56, 0xa7, 0xe2, 0x47, 0xb1, 0x04, 0x07,
0x09, 0x74, 0x6c, 0xfc, 0x20, 0x96, 0xca, 0xa6,
0x31, 0xb2, 0xff, 0xf4, 0x1c, 0x25, 0x05, 0x06,
0xd8, 0x89, 0xc1, 0xc9, 0x06, 0x71, 0xad, 0xe8,
0x53, 0xee, 0x63, 0x94, 0xc1, 0x91, 0x92, 0xa5,
0xcf, 0x37, 0x10, 0xd1, 0x07, 0x30, 0x99, 0xe5,
0xbc, 0x94, 0x65, 0x82, 0xfc, 0x0f, 0xab, 0x9f,
0x54, 0x3c, 0x71, 0x6a, 0xe2, 0x48, 0x6a, 0x86,
0x83, 0xfd, 0xca, 0x39, 0xd2, 0xe1, 0x4f, 0x23,
0xd0, 0x0a, 0x58, 0x26, 0x64, 0xf4, 0xec, 0xb1
};
static const uint8_t chacha20poly1305_enc_output081[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x36, 0xc3, 0x00, 0x29, 0x85, 0xdd, 0x21, 0xba,
0xf8, 0x95, 0xd6, 0x33, 0x57, 0x3f, 0x12, 0xc0
};
static const uint8_t chacha20poly1305_enc_assoc081[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce081[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x93, 0x35
};
static const uint8_t chacha20poly1305_enc_key081[] = {
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input082[] = {
0x40, 0x8a, 0xe6, 0xef, 0x1c, 0x7e, 0xf0, 0xfb,
0x2c, 0x2d, 0x61, 0x08, 0x16, 0xfc, 0x78, 0x49,
0xef, 0xa5, 0x8f, 0x78, 0x27, 0x3f, 0x5f, 0x16,
0x6e, 0xa6, 0x5f, 0x81, 0xb5, 0x75, 0x74, 0x7d,
0x03, 0x5b, 0x30, 0x40, 0xfe, 0xde, 0x1e, 0xb9,
0x45, 0x97, 0x88, 0x66, 0x97, 0x88, 0x40, 0x8e,
0x00, 0x41, 0x3b, 0x3e, 0x37, 0x6d, 0x15, 0x2d,
0x20, 0x4a, 0xa2, 0xb7, 0xa8, 0x35, 0x58, 0xfc,
0xd4, 0x8a, 0x0e, 0xf7, 0xa2, 0x6b, 0x1c, 0xd6,
0xd3, 0x5d, 0x23, 0xb3, 0xf5, 0xdf, 0xe0, 0xca,
0x77, 0xa4, 0xce, 0x32, 0xb9, 0x4a, 0xbf, 0x83,
0xda, 0x2a, 0xef, 0xca, 0xf0, 0x68, 0x38, 0x08,
0x79, 0xe8, 0x9f, 0xb0, 0xa3, 0x82, 0x95, 0x95,
0xcf, 0x44, 0xc3, 0x85, 0x2a, 0xe2, 0xcc, 0x66,
0x2b, 0x68, 0x9f, 0x93, 0x55, 0xd9, 0xc1, 0x83,
0x80, 0x1f, 0x6a, 0xcc, 0x31, 0x3f, 0x89, 0x07
};
static const uint8_t chacha20poly1305_enc_output082[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x65, 0x14, 0x51, 0x8e, 0x0a, 0x26, 0x41, 0x42,
0xe0, 0xb7, 0x35, 0x1f, 0x96, 0x7f, 0xc2, 0xae
};
static const uint8_t chacha20poly1305_enc_assoc082[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce082[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xf7, 0xd5
};
static const uint8_t chacha20poly1305_enc_key082[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input083[] = {
0x0a, 0x0a, 0x24, 0x49, 0x9b, 0xca, 0xde, 0x58,
0xcf, 0x15, 0x76, 0xc3, 0x12, 0xac, 0xa9, 0x84,
0x71, 0x8c, 0xb4, 0xcc, 0x7e, 0x01, 0x53, 0xf5,
0xa9, 0x01, 0x58, 0x10, 0x85, 0x96, 0x44, 0xdf,
0xc0, 0x21, 0x17, 0x4e, 0x0b, 0x06, 0x0a, 0x39,
0x74, 0x48, 0xde, 0x8b, 0x48, 0x4a, 0x86, 0x03,
0xbe, 0x68, 0x0a, 0x69, 0x34, 0xc0, 0x90, 0x6f,
0x30, 0xdd, 0x17, 0xea, 0xe2, 0xd4, 0xc5, 0xfa,
0xa7, 0x77, 0xf8, 0xca, 0x53, 0x37, 0x0e, 0x08,
0x33, 0x1b, 0x88, 0xc3, 0x42, 0xba, 0xc9, 0x59,
0x78, 0x7b, 0xbb, 0x33, 0x93, 0x0e, 0x3b, 0x56,
0xbe, 0x86, 0xda, 0x7f, 0x2a, 0x6e, 0xb1, 0xf9,
0x40, 0x89, 0xd1, 0xd1, 0x81, 0x07, 0x4d, 0x43,
0x02, 0xf8, 0xe0, 0x55, 0x2d, 0x0d, 0xe1, 0xfa,
0xb3, 0x06, 0xa2, 0x1b, 0x42, 0xd4, 0xc3, 0xba,
0x6e, 0x6f, 0x0c, 0xbc, 0xc8, 0x1e, 0x87, 0x7a
};
static const uint8_t chacha20poly1305_enc_output083[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x4c, 0x19, 0x4d, 0xa6, 0xa9, 0x9f, 0xd6, 0x5b,
0x40, 0xe9, 0xca, 0xd7, 0x98, 0xf4, 0x4b, 0x19
};
static const uint8_t chacha20poly1305_enc_assoc083[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce083[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xfc, 0xe4
};
static const uint8_t chacha20poly1305_enc_key083[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input084[] = {
0x4a, 0x0a, 0xaf, 0xf8, 0x49, 0x47, 0x29, 0x18,
0x86, 0x91, 0x70, 0x13, 0x40, 0xf3, 0xce, 0x2b,
0x8a, 0x78, 0xee, 0xd3, 0xa0, 0xf0, 0x65, 0x99,
0x4b, 0x72, 0x48, 0x4e, 0x79, 0x91, 0xd2, 0x5c,
0x29, 0xaa, 0x07, 0x5e, 0xb1, 0xfc, 0x16, 0xde,
0x93, 0xfe, 0x06, 0x90, 0x58, 0x11, 0x2a, 0xb2,
0x84, 0xa3, 0xed, 0x18, 0x78, 0x03, 0x26, 0xd1,
0x25, 0x8a, 0x47, 0x22, 0x2f, 0xa6, 0x33, 0xd8,
0xb2, 0x9f, 0x3b, 0xd9, 0x15, 0x0b, 0x23, 0x9b,
0x15, 0x46, 0xc2, 0xbb, 0x9b, 0x9f, 0x41, 0x0f,
0xeb, 0xea, 0xd3, 0x96, 0x00, 0x0e, 0xe4, 0x77,
0x70, 0x15, 0x32, 0xc3, 0xd0, 0xf5, 0xfb, 0xf8,
0x95, 0xd2, 0x80, 0x19, 0x6d, 0x2f, 0x73, 0x7c,
0x5e, 0x9f, 0xec, 0x50, 0xd9, 0x2b, 0xb0, 0xdf,
0x5d, 0x7e, 0x51, 0x3b, 0xe5, 0xb8, 0xea, 0x97,
0x13, 0x10, 0xd5, 0xbf, 0x16, 0xba, 0x7a, 0xee
};
static const uint8_t chacha20poly1305_enc_output084[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc8, 0xae, 0x77, 0x88, 0xcd, 0x28, 0x74, 0xab,
0xc1, 0x38, 0x54, 0x1e, 0x11, 0xfd, 0x05, 0x87
};
static const uint8_t chacha20poly1305_enc_assoc084[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce084[] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0x84, 0x86, 0xa8
};
static const uint8_t chacha20poly1305_enc_key084[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - checking for int overflows */
static const uint8_t chacha20poly1305_enc_input085[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x78, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x9f, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x9c, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0x47, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0xd4, 0xd2, 0x06, 0x61, 0x6f, 0x92, 0x93, 0xf6,
0x5b, 0x45, 0xdb, 0xbc, 0x74, 0xe7, 0xc2, 0xed,
0xfb, 0xcb, 0xbf, 0x1c, 0xfb, 0x67, 0x9b, 0xb7,
0x39, 0xa5, 0x86, 0x2d, 0xe2, 0xbc, 0xb9, 0x37,
0xf7, 0x4d, 0x5b, 0xf8, 0x67, 0x1c, 0x5a, 0x8a,
0x50, 0x92, 0xf6, 0x1d, 0x54, 0xc9, 0xaa, 0x5b
};
static const uint8_t chacha20poly1305_enc_output085[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x93, 0x3a, 0x51, 0x63, 0xc7, 0xf6, 0x23, 0x68,
0x32, 0x7b, 0x3f, 0xbc, 0x10, 0x36, 0xc9, 0x43
};
static const uint8_t chacha20poly1305_enc_assoc085[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce085[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key085[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input086[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output086[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
};
static const uint8_t chacha20poly1305_enc_assoc086[] = {
0x85, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xa6, 0x90, 0x2f, 0xcb, 0xc8, 0x83, 0xbb, 0xc1,
0x80, 0xb2, 0x56, 0xae, 0x34, 0xad, 0x7f, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce086[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key086[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input087[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output087[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_assoc087[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x24, 0x7e, 0x50, 0x64, 0x2a, 0x1c, 0x0a, 0x2f,
0x8f, 0x77, 0x21, 0x96, 0x09, 0xdb, 0xa9, 0x58
};
static const uint8_t chacha20poly1305_enc_nonce087[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key087[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input088[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output088[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_assoc088[] = {
0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xd9, 0xe7, 0x2c, 0x06, 0x4a, 0xc8, 0x96, 0x1f,
0x3f, 0xa5, 0x85, 0xe0, 0xe2, 0xab, 0xd6, 0x00
};
static const uint8_t chacha20poly1305_enc_nonce088[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key088[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input089[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output089[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80
};
static const uint8_t chacha20poly1305_enc_assoc089[] = {
0x65, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x95, 0xaf, 0x0f, 0x4d, 0x0b, 0x68, 0x6e, 0xae,
0xcc, 0xca, 0x43, 0x07, 0xd5, 0x96, 0xf5, 0x02
};
static const uint8_t chacha20poly1305_enc_nonce089[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key089[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input090[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output090[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f,
0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f
};
static const uint8_t chacha20poly1305_enc_assoc090[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x85, 0x40, 0xb4, 0x64, 0x35, 0x77, 0x07, 0xbe,
0x3a, 0x39, 0xd5, 0x5c, 0x34, 0xf8, 0xbc, 0xb3
};
static const uint8_t chacha20poly1305_enc_nonce090[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key090[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input091[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output091[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_assoc091[] = {
0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x66, 0x23, 0xd9, 0x90, 0xb8, 0x98, 0xd8, 0x30,
0xd2, 0x12, 0xaf, 0x23, 0x83, 0x33, 0x07, 0x01
};
static const uint8_t chacha20poly1305_enc_nonce091[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key091[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - special case tag */
static const uint8_t chacha20poly1305_enc_input092[] = {
0x9a, 0x49, 0xc4, 0x0f, 0x8b, 0x48, 0xd7, 0xc6,
0x6d, 0x1d, 0xb4, 0xe5, 0x3f, 0x20, 0xf2, 0xdd,
0x4a, 0xaa, 0x24, 0x1d, 0xda, 0xb2, 0x6b, 0x5b,
0xc0, 0xe2, 0x18, 0xb7, 0x2c, 0x33, 0x90, 0xf2,
0xdf, 0x3e, 0xbd, 0x01, 0x76, 0x70, 0x44, 0x19,
0x97, 0x2b, 0xcd, 0xbc, 0x6b, 0xbc, 0xb3, 0xe4,
0xe7, 0x4a, 0x71, 0x52, 0x8e, 0xf5, 0x12, 0x63,
0xce, 0x24, 0xe0, 0xd5, 0x75, 0xe0, 0xe4, 0x4d
};
static const uint8_t chacha20poly1305_enc_output092[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static const uint8_t chacha20poly1305_enc_assoc092[] = {
0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x5f, 0x16, 0xd0, 0x9f, 0x17, 0x78, 0x72, 0x11,
0xb7, 0xd4, 0x84, 0xe0, 0x24, 0xf8, 0x97, 0x01
};
static const uint8_t chacha20poly1305_enc_nonce092[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b
};
static const uint8_t chacha20poly1305_enc_key092[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input093[] = {
0x00, 0x52, 0x35, 0xd2, 0xa9, 0x19, 0xf2, 0x8d,
0x3d, 0xb7, 0x66, 0x4a, 0x34, 0xae, 0x6b, 0x44,
0x4d, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x5b, 0x8b, 0x94, 0x50, 0x9e, 0x2b, 0x74, 0xa3,
0x6d, 0x34, 0x6e, 0x33, 0xd5, 0x72, 0x65, 0x9b,
0xa9, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0x83, 0xdc, 0xe9, 0xf3, 0x07, 0x3e, 0xfa, 0xdb,
0x7d, 0x23, 0xb8, 0x7a, 0xce, 0x35, 0x16, 0x8c
};
static const uint8_t chacha20poly1305_enc_output093[] = {
0x00, 0x39, 0xe2, 0xfd, 0x2f, 0xd3, 0x12, 0x14,
0x9e, 0x98, 0x98, 0x80, 0x88, 0x48, 0x13, 0xe7,
0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x3b, 0x0e, 0x86, 0x9a, 0xaa, 0x8e, 0xa4, 0x96,
0x32, 0xff, 0xff, 0x37, 0xb9, 0xe8, 0xce, 0x00,
0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x3b, 0x0e, 0x86, 0x9a, 0xaa, 0x8e, 0xa4, 0x96,
0x32, 0xff, 0xff, 0x37, 0xb9, 0xe8, 0xce, 0x00,
0xa5, 0x19, 0xac, 0x1a, 0x35, 0xb4, 0xa5, 0x77,
0x87, 0x51, 0x0a, 0xf7, 0x8d, 0x8d, 0x20, 0x0a
};
static const uint8_t chacha20poly1305_enc_assoc093[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce093[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key093[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input094[] = {
0xd3, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xe5, 0xda, 0x78, 0x76, 0x6f, 0xa1, 0x92, 0x90,
0xc0, 0x31, 0xf7, 0x52, 0x08, 0x50, 0x67, 0x45,
0xae, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x49, 0x6d, 0xde, 0xb0, 0x55, 0x09, 0xc6, 0xef,
0xff, 0xab, 0x75, 0xeb, 0x2d, 0xf4, 0xab, 0x09,
0x76, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x01, 0x49, 0xef, 0x50, 0x4b, 0x71, 0xb1, 0x20,
0xca, 0x4f, 0xf3, 0x95, 0x19, 0xc2, 0xc2, 0x10
};
static const uint8_t chacha20poly1305_enc_output094[] = {
0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x62, 0x18, 0xb2, 0x7f, 0x83, 0xb8, 0xb4, 0x66,
0x02, 0xf6, 0xe1, 0xd8, 0x34, 0x20, 0x7b, 0x02,
0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x2a, 0x64, 0x16, 0xce, 0xdb, 0x1c, 0xdd, 0x29,
0x6e, 0xf5, 0xd7, 0xd6, 0x92, 0xda, 0xff, 0x02,
0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x2a, 0x64, 0x16, 0xce, 0xdb, 0x1c, 0xdd, 0x29,
0x6e, 0xf5, 0xd7, 0xd6, 0x92, 0xda, 0xff, 0x02,
0x30, 0x2f, 0xe8, 0x2a, 0xb0, 0xa0, 0x9a, 0xf6,
0x44, 0x00, 0xd0, 0x15, 0xae, 0x83, 0xd9, 0xcc
};
static const uint8_t chacha20poly1305_enc_assoc094[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce094[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key094[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input095[] = {
0xe9, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x6d, 0xf1, 0x39, 0x4e, 0xdc, 0x53, 0x9b, 0x5b,
0x3a, 0x09, 0x57, 0xbe, 0x0f, 0xb8, 0x59, 0x46,
0x80, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0xd1, 0x76, 0x9f, 0xe8, 0x06, 0xbb, 0xfe, 0xb6,
0xf5, 0x90, 0x95, 0x0f, 0x2e, 0xac, 0x9e, 0x0a,
0x58, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x99, 0x52, 0xae, 0x08, 0x18, 0xc3, 0x89, 0x79,
0xc0, 0x74, 0x13, 0x71, 0x1a, 0x9a, 0xf7, 0x13
};
static const uint8_t chacha20poly1305_enc_output095[] = {
0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xea, 0x33, 0xf3, 0x47, 0x30, 0x4a, 0xbd, 0xad,
0xf8, 0xce, 0x41, 0x34, 0x33, 0xc8, 0x45, 0x01,
0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xb2, 0x7f, 0x57, 0x96, 0x88, 0xae, 0xe5, 0x70,
0x64, 0xce, 0x37, 0x32, 0x91, 0x82, 0xca, 0x01,
0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xb2, 0x7f, 0x57, 0x96, 0x88, 0xae, 0xe5, 0x70,
0x64, 0xce, 0x37, 0x32, 0x91, 0x82, 0xca, 0x01,
0x98, 0xa7, 0xe8, 0x36, 0xe0, 0xee, 0x4d, 0x02,
0x35, 0x00, 0xd0, 0x55, 0x7e, 0xc2, 0xcb, 0xe0
};
static const uint8_t chacha20poly1305_enc_assoc095[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce095[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key095[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input096[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x64, 0xf9, 0x0f, 0x5b, 0x26, 0x92, 0xb8, 0x60,
0xd4, 0x59, 0x6f, 0xf4, 0xb3, 0x40, 0x2c, 0x5c,
0x00, 0xb9, 0xbb, 0x53, 0x70, 0x7a, 0xa6, 0x67,
0xd3, 0x56, 0xfe, 0x50, 0xc7, 0x19, 0x96, 0x94,
0x03, 0x35, 0x61, 0xe7, 0xca, 0xca, 0x6d, 0x94,
0x1d, 0xc3, 0xcd, 0x69, 0x14, 0xad, 0x69, 0x04
};
static const uint8_t chacha20poly1305_enc_output096[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xe3, 0x3b, 0xc5, 0x52, 0xca, 0x8b, 0x9e, 0x96,
0x16, 0x9e, 0x79, 0x7e, 0x8f, 0x30, 0x30, 0x1b,
0x60, 0x3c, 0xa9, 0x99, 0x44, 0xdf, 0x76, 0x52,
0x8c, 0x9d, 0x6f, 0x54, 0xab, 0x83, 0x3d, 0x0f,
0x60, 0x3c, 0xa9, 0x99, 0x44, 0xdf, 0x76, 0x52,
0x8c, 0x9d, 0x6f, 0x54, 0xab, 0x83, 0x3d, 0x0f,
0x6a, 0xb8, 0xdc, 0xe2, 0xc5, 0x9d, 0xa4, 0x73,
0x71, 0x30, 0xb0, 0x25, 0x2f, 0x68, 0xa8, 0xd8
};
static const uint8_t chacha20poly1305_enc_assoc096[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce096[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key096[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input097[] = {
0x68, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xb0, 0x8f, 0x25, 0x67, 0x5b, 0x9b, 0xcb, 0xf6,
0xe3, 0x84, 0x07, 0xde, 0x2e, 0xc7, 0x5a, 0x47,
0x9f, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x2d, 0x2a, 0xf7, 0xcd, 0x6b, 0x08, 0x05, 0x01,
0xd3, 0x1b, 0xa5, 0x4f, 0xb2, 0xeb, 0x75, 0x96,
0x47, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x65, 0x0e, 0xc6, 0x2d, 0x75, 0x70, 0x72, 0xce,
0xe6, 0xff, 0x23, 0x31, 0x86, 0xdd, 0x1c, 0x8f
};
static const uint8_t chacha20poly1305_enc_output097[] = {
0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x37, 0x4d, 0xef, 0x6e, 0xb7, 0x82, 0xed, 0x00,
0x21, 0x43, 0x11, 0x54, 0x12, 0xb7, 0x46, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x4e, 0x23, 0x3f, 0xb3, 0xe5, 0x1d, 0x1e, 0xc7,
0x42, 0x45, 0x07, 0x72, 0x0d, 0xc5, 0x21, 0x9d,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x4e, 0x23, 0x3f, 0xb3, 0xe5, 0x1d, 0x1e, 0xc7,
0x42, 0x45, 0x07, 0x72, 0x0d, 0xc5, 0x21, 0x9d,
0x04, 0x4d, 0xea, 0x60, 0x88, 0x80, 0x41, 0x2b,
0xfd, 0xff, 0xcf, 0x35, 0x57, 0x9e, 0x9b, 0x26
};
static const uint8_t chacha20poly1305_enc_assoc097[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce097[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key097[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input098[] = {
0x6d, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xa1, 0x61, 0xb5, 0xab, 0x04, 0x09, 0x00, 0x62,
0x9e, 0xfe, 0xff, 0x78, 0xd7, 0xd8, 0x6b, 0x45,
0x9f, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0xc6, 0xf8, 0x07, 0x8c, 0xc8, 0xef, 0x12, 0xa0,
0xff, 0x65, 0x7d, 0x6d, 0x08, 0xdb, 0x10, 0xb8,
0x47, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x8e, 0xdc, 0x36, 0x6c, 0xd6, 0x97, 0x65, 0x6f,
0xca, 0x81, 0xfb, 0x13, 0x3c, 0xed, 0x79, 0xa1
};
static const uint8_t chacha20poly1305_enc_output098[] = {
0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x26, 0xa3, 0x7f, 0xa2, 0xe8, 0x10, 0x26, 0x94,
0x5c, 0x39, 0xe9, 0xf2, 0xeb, 0xa8, 0x77, 0x02,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xa5, 0xf1, 0xcf, 0xf2, 0x46, 0xfa, 0x09, 0x66,
0x6e, 0x3b, 0xdf, 0x50, 0xb7, 0xf5, 0x44, 0xb3,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xa5, 0xf1, 0xcf, 0xf2, 0x46, 0xfa, 0x09, 0x66,
0x6e, 0x3b, 0xdf, 0x50, 0xb7, 0xf5, 0x44, 0xb3,
0x1e, 0x6b, 0xea, 0x63, 0x14, 0x54, 0x2e, 0x2e,
0xf9, 0xff, 0xcf, 0x45, 0x0b, 0x2e, 0x98, 0x2b
};
static const uint8_t chacha20poly1305_enc_assoc098[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce098[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key098[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input099[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xfc, 0x01, 0xb8, 0x91, 0xe5, 0xf0, 0xf9, 0x12,
0x8d, 0x7d, 0x1c, 0x57, 0x91, 0x92, 0xb6, 0x98,
0x63, 0x41, 0x44, 0x15, 0xb6, 0x99, 0x68, 0x95,
0x9a, 0x72, 0x91, 0xb7, 0xa5, 0xaf, 0x13, 0x48,
0x60, 0xcd, 0x9e, 0xa1, 0x0c, 0x29, 0xa3, 0x66,
0x54, 0xe7, 0xa2, 0x8e, 0x76, 0x1b, 0xec, 0xd8
};
static const uint8_t chacha20poly1305_enc_output099[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x7b, 0xc3, 0x72, 0x98, 0x09, 0xe9, 0xdf, 0xe4,
0x4f, 0xba, 0x0a, 0xdd, 0xad, 0xe2, 0xaa, 0xdf,
0x03, 0xc4, 0x56, 0xdf, 0x82, 0x3c, 0xb8, 0xa0,
0xc5, 0xb9, 0x00, 0xb3, 0xc9, 0x35, 0xb8, 0xd3,
0x03, 0xc4, 0x56, 0xdf, 0x82, 0x3c, 0xb8, 0xa0,
0xc5, 0xb9, 0x00, 0xb3, 0xc9, 0x35, 0xb8, 0xd3,
0xed, 0x20, 0x17, 0xc8, 0xdb, 0xa4, 0x77, 0x56,
0x29, 0x04, 0x9d, 0x78, 0x6e, 0x3b, 0xce, 0xb1
};
static const uint8_t chacha20poly1305_enc_assoc099[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce099[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key099[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input100[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x6b, 0x6d, 0xc9, 0xd2, 0x1a, 0x81, 0x9e, 0x70,
0xb5, 0x77, 0xf4, 0x41, 0x37, 0xd3, 0xd6, 0xbd,
0x13, 0x35, 0xf5, 0xeb, 0x44, 0x49, 0x40, 0x77,
0xb2, 0x64, 0x49, 0xa5, 0x4b, 0x6c, 0x7c, 0x75,
0x10, 0xb9, 0x2f, 0x5f, 0xfe, 0xf9, 0x8b, 0x84,
0x7c, 0xf1, 0x7a, 0x9c, 0x98, 0xd8, 0x83, 0xe5
};
static const uint8_t chacha20poly1305_enc_output100[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xec, 0xaf, 0x03, 0xdb, 0xf6, 0x98, 0xb8, 0x86,
0x77, 0xb0, 0xe2, 0xcb, 0x0b, 0xa3, 0xca, 0xfa,
0x73, 0xb0, 0xe7, 0x21, 0x70, 0xec, 0x90, 0x42,
0xed, 0xaf, 0xd8, 0xa1, 0x27, 0xf6, 0xd7, 0xee,
0x73, 0xb0, 0xe7, 0x21, 0x70, 0xec, 0x90, 0x42,
0xed, 0xaf, 0xd8, 0xa1, 0x27, 0xf6, 0xd7, 0xee,
0x07, 0x3f, 0x17, 0xcb, 0x67, 0x78, 0x64, 0x59,
0x25, 0x04, 0x9d, 0x88, 0x22, 0xcb, 0xca, 0xb6
};
static const uint8_t chacha20poly1305_enc_assoc100[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce100[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key100[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input101[] = {
0xff, 0xcb, 0x2b, 0x11, 0x06, 0xf8, 0x23, 0x4c,
0x5e, 0x99, 0xd4, 0xdb, 0x4c, 0x70, 0x48, 0xde,
0x32, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x16, 0xe9, 0x88, 0x4a, 0x11, 0x4f, 0x0e, 0x92,
0x66, 0xce, 0xa3, 0x88, 0x5f, 0xe3, 0x6b, 0x9f,
0xd6, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0xce, 0xbe, 0xf5, 0xe9, 0x88, 0x5a, 0x80, 0xea,
0x76, 0xd9, 0x75, 0xc1, 0x44, 0xa4, 0x18, 0x88
};
static const uint8_t chacha20poly1305_enc_output101[] = {
0xff, 0xa0, 0xfc, 0x3e, 0x80, 0x32, 0xc3, 0xd5,
0xfd, 0xb6, 0x2a, 0x11, 0xf0, 0x96, 0x30, 0x7d,
0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x76, 0x6c, 0x9a, 0x80, 0x25, 0xea, 0xde, 0xa7,
0x39, 0x05, 0x32, 0x8c, 0x33, 0x79, 0xc0, 0x04,
0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x76, 0x6c, 0x9a, 0x80, 0x25, 0xea, 0xde, 0xa7,
0x39, 0x05, 0x32, 0x8c, 0x33, 0x79, 0xc0, 0x04,
0x8b, 0x9b, 0xb4, 0xb4, 0x86, 0x12, 0x89, 0x65,
0x8c, 0x69, 0x6a, 0x83, 0x40, 0x15, 0x04, 0x05
};
static const uint8_t chacha20poly1305_enc_assoc101[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce101[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key101[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input102[] = {
0x6f, 0x9e, 0x70, 0xed, 0x3b, 0x8b, 0xac, 0xa0,
0x26, 0xe4, 0x6a, 0x5a, 0x09, 0x43, 0x15, 0x8d,
0x21, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x0c, 0x61, 0x2c, 0x5e, 0x8d, 0x89, 0xa8, 0x73,
0xdb, 0xca, 0xad, 0x5b, 0x73, 0x46, 0x42, 0x9b,
0xc5, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0xd4, 0x36, 0x51, 0xfd, 0x14, 0x9c, 0x26, 0x0b,
0xcb, 0xdd, 0x7b, 0x12, 0x68, 0x01, 0x31, 0x8c
};
static const uint8_t chacha20poly1305_enc_output102[] = {
0x6f, 0xf5, 0xa7, 0xc2, 0xbd, 0x41, 0x4c, 0x39,
0x85, 0xcb, 0x94, 0x90, 0xb5, 0xa5, 0x6d, 0x2e,
0xa6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x6c, 0xe4, 0x3e, 0x94, 0xb9, 0x2c, 0x78, 0x46,
0x84, 0x01, 0x3c, 0x5f, 0x1f, 0xdc, 0xe9, 0x00,
0xa6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x6c, 0xe4, 0x3e, 0x94, 0xb9, 0x2c, 0x78, 0x46,
0x84, 0x01, 0x3c, 0x5f, 0x1f, 0xdc, 0xe9, 0x00,
0x8b, 0x3b, 0xbd, 0x51, 0x64, 0x44, 0x59, 0x56,
0x8d, 0x81, 0xca, 0x1f, 0xa7, 0x2c, 0xe4, 0x04
};
static const uint8_t chacha20poly1305_enc_assoc102[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce102[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key102[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input103[] = {
0x41, 0x2b, 0x08, 0x0a, 0x3e, 0x19, 0xc1, 0x0d,
0x44, 0xa1, 0xaf, 0x1e, 0xab, 0xde, 0xb4, 0xce,
0x35, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x6b, 0x83, 0x94, 0x33, 0x09, 0x21, 0x48, 0x6c,
0xa1, 0x1d, 0x29, 0x1c, 0x3e, 0x97, 0xee, 0x9a,
0xd1, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0xb3, 0xd4, 0xe9, 0x90, 0x90, 0x34, 0xc6, 0x14,
0xb1, 0x0a, 0xff, 0x55, 0x25, 0xd0, 0x9d, 0x8d
};
static const uint8_t chacha20poly1305_enc_output103[] = {
0x41, 0x40, 0xdf, 0x25, 0xb8, 0xd3, 0x21, 0x94,
0xe7, 0x8e, 0x51, 0xd4, 0x17, 0x38, 0xcc, 0x6d,
0xb2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0b, 0x06, 0x86, 0xf9, 0x3d, 0x84, 0x98, 0x59,
0xfe, 0xd6, 0xb8, 0x18, 0x52, 0x0d, 0x45, 0x01,
0xb2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0b, 0x06, 0x86, 0xf9, 0x3d, 0x84, 0x98, 0x59,
0xfe, 0xd6, 0xb8, 0x18, 0x52, 0x0d, 0x45, 0x01,
0x86, 0xfb, 0xab, 0x2b, 0x4a, 0x94, 0xf4, 0x7a,
0xa5, 0x6f, 0x0a, 0xea, 0x65, 0xd1, 0x10, 0x08
};
static const uint8_t chacha20poly1305_enc_assoc103[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce103[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key103[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input104[] = {
0xb2, 0x47, 0xa7, 0x47, 0x23, 0x49, 0x1a, 0xac,
0xac, 0xaa, 0xd7, 0x09, 0xc9, 0x1e, 0x93, 0x2b,
0x31, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x9a, 0xde, 0x04, 0xe7, 0x5b, 0xb7, 0x01, 0xd9,
0x66, 0x06, 0x01, 0xb3, 0x47, 0x65, 0xde, 0x98,
0xd5, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0x42, 0x89, 0x79, 0x44, 0xc2, 0xa2, 0x8f, 0xa1,
0x76, 0x11, 0xd7, 0xfa, 0x5c, 0x22, 0xad, 0x8f
};
static const uint8_t chacha20poly1305_enc_output104[] = {
0xb2, 0x2c, 0x70, 0x68, 0xa5, 0x83, 0xfa, 0x35,
0x0f, 0x85, 0x29, 0xc3, 0x75, 0xf8, 0xeb, 0x88,
0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfa, 0x5b, 0x16, 0x2d, 0x6f, 0x12, 0xd1, 0xec,
0x39, 0xcd, 0x90, 0xb7, 0x2b, 0xff, 0x75, 0x03,
0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfa, 0x5b, 0x16, 0x2d, 0x6f, 0x12, 0xd1, 0xec,
0x39, 0xcd, 0x90, 0xb7, 0x2b, 0xff, 0x75, 0x03,
0xa0, 0x19, 0xac, 0x2e, 0xd6, 0x67, 0xe1, 0x7d,
0xa1, 0x6f, 0x0a, 0xfa, 0x19, 0x61, 0x0d, 0x0d
};
static const uint8_t chacha20poly1305_enc_assoc104[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce104[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key104[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input105[] = {
0x74, 0x0f, 0x9e, 0x49, 0xf6, 0x10, 0xef, 0xa5,
0x85, 0xb6, 0x59, 0xca, 0x6e, 0xd8, 0xb4, 0x99,
0x2d, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x41, 0x2d, 0x96, 0xaf, 0xbe, 0x80, 0xec, 0x3e,
0x79, 0xd4, 0x51, 0xb0, 0x0a, 0x2d, 0xb2, 0x9a,
0xc9, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0x99, 0x7a, 0xeb, 0x0c, 0x27, 0x95, 0x62, 0x46,
0x69, 0xc3, 0x87, 0xf9, 0x11, 0x6a, 0xc1, 0x8d
};
static const uint8_t chacha20poly1305_enc_output105[] = {
0x74, 0x64, 0x49, 0x66, 0x70, 0xda, 0x0f, 0x3c,
0x26, 0x99, 0xa7, 0x00, 0xd2, 0x3e, 0xcc, 0x3a,
0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x21, 0xa8, 0x84, 0x65, 0x8a, 0x25, 0x3c, 0x0b,
0x26, 0x1f, 0xc0, 0xb4, 0x66, 0xb7, 0x19, 0x01,
0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x21, 0xa8, 0x84, 0x65, 0x8a, 0x25, 0x3c, 0x0b,
0x26, 0x1f, 0xc0, 0xb4, 0x66, 0xb7, 0x19, 0x01,
0x73, 0x6e, 0x18, 0x18, 0x16, 0x96, 0xa5, 0x88,
0x9c, 0x31, 0x59, 0xfa, 0xab, 0xab, 0x20, 0xfd
};
static const uint8_t chacha20poly1305_enc_assoc105[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce105[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key105[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input106[] = {
0xad, 0xba, 0x5d, 0x10, 0x5b, 0xc8, 0xaa, 0x06,
0x2c, 0x23, 0x36, 0xcb, 0x88, 0x9d, 0xdb, 0xd5,
0x37, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x17, 0x7c, 0x5f, 0xfe, 0x28, 0x75, 0xf4, 0x68,
0xf6, 0xc2, 0x96, 0x57, 0x48, 0xf3, 0x59, 0x9a,
0xd3, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0xcf, 0x2b, 0x22, 0x5d, 0xb1, 0x60, 0x7a, 0x10,
0xe6, 0xd5, 0x40, 0x1e, 0x53, 0xb4, 0x2a, 0x8d
};
static const uint8_t chacha20poly1305_enc_output106[] = {
0xad, 0xd1, 0x8a, 0x3f, 0xdd, 0x02, 0x4a, 0x9f,
0x8f, 0x0c, 0xc8, 0x01, 0x34, 0x7b, 0xa3, 0x76,
0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x77, 0xf9, 0x4d, 0x34, 0x1c, 0xd0, 0x24, 0x5d,
0xa9, 0x09, 0x07, 0x53, 0x24, 0x69, 0xf2, 0x01,
0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x77, 0xf9, 0x4d, 0x34, 0x1c, 0xd0, 0x24, 0x5d,
0xa9, 0x09, 0x07, 0x53, 0x24, 0x69, 0xf2, 0x01,
0xba, 0xd5, 0x8f, 0x10, 0xa9, 0x1e, 0x6a, 0x88,
0x9a, 0xba, 0x32, 0xfd, 0x17, 0xd8, 0x33, 0x1a
};
static const uint8_t chacha20poly1305_enc_assoc106[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce106[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key106[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input107[] = {
0xfe, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xc0, 0x01, 0xed, 0xc5, 0xda, 0x44, 0x2e, 0x71,
0x9b, 0xce, 0x9a, 0xbe, 0x27, 0x3a, 0xf1, 0x44,
0xb4, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x48, 0x02, 0x5f, 0x41, 0xfa, 0x4e, 0x33, 0x6c,
0x78, 0x69, 0x57, 0xa2, 0xa7, 0xc4, 0x93, 0x0a,
0x6c, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x00, 0x26, 0x6e, 0xa1, 0xe4, 0x36, 0x44, 0xa3,
0x4d, 0x8d, 0xd1, 0xdc, 0x93, 0xf2, 0xfa, 0x13
};
static const uint8_t chacha20poly1305_enc_output107[] = {
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x47, 0xc3, 0x27, 0xcc, 0x36, 0x5d, 0x08, 0x87,
0x59, 0x09, 0x8c, 0x34, 0x1b, 0x4a, 0xed, 0x03,
0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x2b, 0x0b, 0x97, 0x3f, 0x74, 0x5b, 0x28, 0xaa,
0xe9, 0x37, 0xf5, 0x9f, 0x18, 0xea, 0xc7, 0x01,
0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x2b, 0x0b, 0x97, 0x3f, 0x74, 0x5b, 0x28, 0xaa,
0xe9, 0x37, 0xf5, 0x9f, 0x18, 0xea, 0xc7, 0x01,
0xd6, 0x8c, 0xe1, 0x74, 0x07, 0x9a, 0xdd, 0x02,
0x8d, 0xd0, 0x5c, 0xf8, 0x14, 0x63, 0x04, 0x88
};
static const uint8_t chacha20poly1305_enc_assoc107[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce107[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key107[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input108[] = {
0xb5, 0x13, 0xb0, 0x6a, 0xb9, 0xac, 0x14, 0x43,
0x5a, 0xcb, 0x8a, 0xa3, 0xa3, 0x7a, 0xfd, 0xb6,
0x54, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x61, 0x95, 0x01, 0x93, 0xb1, 0xbf, 0x03, 0x11,
0xff, 0x11, 0x79, 0x89, 0xae, 0xd9, 0xa9, 0x99,
0xb0, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0xb9, 0xc2, 0x7c, 0x30, 0x28, 0xaa, 0x8d, 0x69,
0xef, 0x06, 0xaf, 0xc0, 0xb5, 0x9e, 0xda, 0x8e
};
static const uint8_t chacha20poly1305_enc_output108[] = {
0xb5, 0x78, 0x67, 0x45, 0x3f, 0x66, 0xf4, 0xda,
0xf9, 0xe4, 0x74, 0x69, 0x1f, 0x9c, 0x85, 0x15,
0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x01, 0x10, 0x13, 0x59, 0x85, 0x1a, 0xd3, 0x24,
0xa0, 0xda, 0xe8, 0x8d, 0xc2, 0x43, 0x02, 0x02,
0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x01, 0x10, 0x13, 0x59, 0x85, 0x1a, 0xd3, 0x24,
0xa0, 0xda, 0xe8, 0x8d, 0xc2, 0x43, 0x02, 0x02,
0xaa, 0x48, 0xa3, 0x88, 0x7d, 0x4b, 0x05, 0x96,
0x99, 0xc2, 0xfd, 0xf9, 0xc6, 0x78, 0x7e, 0x0a
};
static const uint8_t chacha20poly1305_enc_assoc108[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce108[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key108[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input109[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xd4, 0xf1, 0x09, 0xe8, 0x14, 0xce, 0xa8, 0x5a,
0x08, 0xc0, 0x11, 0xd8, 0x50, 0xdd, 0x1d, 0xcb,
0xcf, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x53, 0x40, 0xb8, 0x5a, 0x9a, 0xa0, 0x82, 0x96,
0xb7, 0x7a, 0x5f, 0xc3, 0x96, 0x1f, 0x66, 0x0f,
0x17, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x1b, 0x64, 0x89, 0xba, 0x84, 0xd8, 0xf5, 0x59,
0x82, 0x9e, 0xd9, 0xbd, 0xa2, 0x29, 0x0f, 0x16
};
static const uint8_t chacha20poly1305_enc_output109[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x53, 0x33, 0xc3, 0xe1, 0xf8, 0xd7, 0x8e, 0xac,
0xca, 0x07, 0x07, 0x52, 0x6c, 0xad, 0x01, 0x8c,
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x30, 0x49, 0x70, 0x24, 0x14, 0xb5, 0x99, 0x50,
0x26, 0x24, 0xfd, 0xfe, 0x29, 0x31, 0x32, 0x04,
0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x30, 0x49, 0x70, 0x24, 0x14, 0xb5, 0x99, 0x50,
0x26, 0x24, 0xfd, 0xfe, 0x29, 0x31, 0x32, 0x04,
0xb9, 0x36, 0xa8, 0x17, 0xf2, 0x21, 0x1a, 0xf1,
0x29, 0xe2, 0xcf, 0x16, 0x0f, 0xd4, 0x2b, 0xcb
};
static const uint8_t chacha20poly1305_enc_assoc109[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce109[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key109[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input110[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xdf, 0x4c, 0x62, 0x03, 0x2d, 0x41, 0x19, 0xb5,
0x88, 0x47, 0x7e, 0x99, 0x92, 0x5a, 0x56, 0xd9,
0xd6, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0xfa, 0x84, 0xf0, 0x64, 0x55, 0x36, 0x42, 0x1b,
0x2b, 0xb9, 0x24, 0x6e, 0xc2, 0x19, 0xed, 0x0b,
0x0e, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0xb2, 0xa0, 0xc1, 0x84, 0x4b, 0x4e, 0x35, 0xd4,
0x1e, 0x5d, 0xa2, 0x10, 0xf6, 0x2f, 0x84, 0x12
};
static const uint8_t chacha20poly1305_enc_output110[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x58, 0x8e, 0xa8, 0x0a, 0xc1, 0x58, 0x3f, 0x43,
0x4a, 0x80, 0x68, 0x13, 0xae, 0x2a, 0x4a, 0x9e,
0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x99, 0x8d, 0x38, 0x1a, 0xdb, 0x23, 0x59, 0xdd,
0xba, 0xe7, 0x86, 0x53, 0x7d, 0x37, 0xb9, 0x00,
0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x99, 0x8d, 0x38, 0x1a, 0xdb, 0x23, 0x59, 0xdd,
0xba, 0xe7, 0x86, 0x53, 0x7d, 0x37, 0xb9, 0x00,
0x9f, 0x7a, 0xc4, 0x35, 0x1f, 0x6b, 0x91, 0xe6,
0x30, 0x97, 0xa7, 0x13, 0x11, 0x5d, 0x05, 0xbe
};
static const uint8_t chacha20poly1305_enc_assoc110[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce110[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key110[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input111[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x13, 0xf8, 0x0a, 0x00, 0x6d, 0xc1, 0xbb, 0xda,
0xd6, 0x39, 0xa9, 0x2f, 0xc7, 0xec, 0xa6, 0x55,
0xf7, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x63, 0x48, 0xb8, 0xfd, 0x29, 0xbf, 0x96, 0xd5,
0x63, 0xa5, 0x17, 0xe2, 0x7d, 0x7b, 0xfc, 0x0f,
0x2f, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x2b, 0x6c, 0x89, 0x1d, 0x37, 0xc7, 0xe1, 0x1a,
0x56, 0x41, 0x91, 0x9c, 0x49, 0x4d, 0x95, 0x16
};
static const uint8_t chacha20poly1305_enc_output111[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x94, 0x3a, 0xc0, 0x09, 0x81, 0xd8, 0x9d, 0x2c,
0x14, 0xfe, 0xbf, 0xa5, 0xfb, 0x9c, 0xba, 0x12,
0x97, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x41, 0x70, 0x83, 0xa7, 0xaa, 0x8d, 0x13,
0xf2, 0xfb, 0xb5, 0xdf, 0xc2, 0x55, 0xa8, 0x04,
0x97, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x00, 0x41, 0x70, 0x83, 0xa7, 0xaa, 0x8d, 0x13,
0xf2, 0xfb, 0xb5, 0xdf, 0xc2, 0x55, 0xa8, 0x04,
0x9a, 0x18, 0xa8, 0x28, 0x07, 0x02, 0x69, 0xf4,
0x47, 0x00, 0xd0, 0x09, 0xe7, 0x17, 0x1c, 0xc9
};
static const uint8_t chacha20poly1305_enc_assoc111[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce111[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key111[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input112[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x82, 0xe5, 0x9b, 0x45, 0x82, 0x91, 0x50, 0x38,
0xf9, 0x33, 0x81, 0x1e, 0x65, 0x2d, 0xc6, 0x6a,
0xfc, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0xb6, 0x71, 0xc8, 0xca, 0xc2, 0x70, 0xc2, 0x65,
0xa0, 0xac, 0x2f, 0x53, 0x57, 0x99, 0x88, 0x0a,
0x24, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0xfe, 0x55, 0xf9, 0x2a, 0xdc, 0x08, 0xb5, 0xaa,
0x95, 0x48, 0xa9, 0x2d, 0x63, 0xaf, 0xe1, 0x13
};
static const uint8_t chacha20poly1305_enc_output112[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x05, 0x27, 0x51, 0x4c, 0x6e, 0x88, 0x76, 0xce,
0x3b, 0xf4, 0x97, 0x94, 0x59, 0x5d, 0xda, 0x2d,
0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xd5, 0x78, 0x00, 0xb4, 0x4c, 0x65, 0xd9, 0xa3,
0x31, 0xf2, 0x8d, 0x6e, 0xe8, 0xb7, 0xdc, 0x01,
0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xd5, 0x78, 0x00, 0xb4, 0x4c, 0x65, 0xd9, 0xa3,
0x31, 0xf2, 0x8d, 0x6e, 0xe8, 0xb7, 0xdc, 0x01,
0xb4, 0x36, 0xa8, 0x2b, 0x93, 0xd5, 0x55, 0xf7,
0x43, 0x00, 0xd0, 0x19, 0x9b, 0xa7, 0x18, 0xce
};
static const uint8_t chacha20poly1305_enc_assoc112[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce112[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key112[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input113[] = {
0xff, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0xf1, 0xd1, 0x28, 0x87, 0xb7, 0x21, 0x69, 0x86,
0xa1, 0x2d, 0x79, 0x09, 0x8b, 0x6d, 0xe6, 0x0f,
0xc0, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0xa7, 0xc7, 0x58, 0x99, 0xf3, 0xe6, 0x0a, 0xf1,
0xfc, 0xb6, 0xc7, 0x30, 0x7d, 0x87, 0x59, 0x0f,
0x18, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0xef, 0xe3, 0x69, 0x79, 0xed, 0x9e, 0x7d, 0x3e,
0xc9, 0x52, 0x41, 0x4e, 0x49, 0xb1, 0x30, 0x16
};
static const uint8_t chacha20poly1305_enc_output113[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x76, 0x13, 0xe2, 0x8e, 0x5b, 0x38, 0x4f, 0x70,
0x63, 0xea, 0x6f, 0x83, 0xb7, 0x1d, 0xfa, 0x48,
0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc4, 0xce, 0x90, 0xe7, 0x7d, 0xf3, 0x11, 0x37,
0x6d, 0xe8, 0x65, 0x0d, 0xc2, 0xa9, 0x0d, 0x04,
0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xc4, 0xce, 0x90, 0xe7, 0x7d, 0xf3, 0x11, 0x37,
0x6d, 0xe8, 0x65, 0x0d, 0xc2, 0xa9, 0x0d, 0x04,
0xce, 0x54, 0xa8, 0x2e, 0x1f, 0xa9, 0x42, 0xfa,
0x3f, 0x00, 0xd0, 0x29, 0x4f, 0x37, 0x15, 0xd3
};
static const uint8_t chacha20poly1305_enc_assoc113[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce113[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key113[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input114[] = {
0xcb, 0xf1, 0xda, 0x9e, 0x0b, 0xa9, 0x37, 0x73,
0x74, 0xe6, 0x9e, 0x1c, 0x0e, 0x60, 0x0c, 0xfc,
0x34, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0xbe, 0x3f, 0xa6, 0x6b, 0x6c, 0xe7, 0x80, 0x8a,
0xa3, 0xe4, 0x59, 0x49, 0xf9, 0x44, 0x64, 0x9f,
0xd0, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0x66, 0x68, 0xdb, 0xc8, 0xf5, 0xf2, 0x0e, 0xf2,
0xb3, 0xf3, 0x8f, 0x00, 0xe2, 0x03, 0x17, 0x88
};
static const uint8_t chacha20poly1305_enc_output114[] = {
0xcb, 0x9a, 0x0d, 0xb1, 0x8d, 0x63, 0xd7, 0xea,
0xd7, 0xc9, 0x60, 0xd6, 0xb2, 0x86, 0x74, 0x5f,
0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xde, 0xba, 0xb4, 0xa1, 0x58, 0x42, 0x50, 0xbf,
0xfc, 0x2f, 0xc8, 0x4d, 0x95, 0xde, 0xcf, 0x04,
0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xde, 0xba, 0xb4, 0xa1, 0x58, 0x42, 0x50, 0xbf,
0xfc, 0x2f, 0xc8, 0x4d, 0x95, 0xde, 0xcf, 0x04,
0x23, 0x83, 0xab, 0x0b, 0x79, 0x92, 0x05, 0x69,
0x9b, 0x51, 0x0a, 0xa7, 0x09, 0xbf, 0x31, 0xf1
};
static const uint8_t chacha20poly1305_enc_assoc114[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce114[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key114[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input115[] = {
0x8f, 0x27, 0x86, 0x94, 0xc4, 0xe9, 0xda, 0xeb,
0xd5, 0x8d, 0x3e, 0x5b, 0x96, 0x6e, 0x8b, 0x68,
0x42, 0x3d, 0x35, 0xf6, 0x13, 0xe6, 0xd9, 0x09,
0x3d, 0x38, 0xe9, 0x75, 0xc3, 0x8f, 0xe3, 0xb8,
0x06, 0x53, 0xe7, 0xa3, 0x31, 0x71, 0x88, 0x33,
0xac, 0xc3, 0xb9, 0xad, 0xff, 0x1c, 0x31, 0x98,
0xa6, 0xf6, 0x37, 0x81, 0x71, 0xea, 0xe4, 0x39,
0x6e, 0xa1, 0x5d, 0xc2, 0x40, 0xd1, 0xab, 0xf4,
0xde, 0x04, 0x9a, 0x00, 0xa8, 0x64, 0x06, 0x4b,
0xbc, 0xd4, 0x6f, 0xe4, 0xe4, 0x5b, 0x42, 0x8f
};
static const uint8_t chacha20poly1305_enc_output115[] = {
0x8f, 0x4c, 0x51, 0xbb, 0x42, 0x23, 0x3a, 0x72,
0x76, 0xa2, 0xc0, 0x91, 0x2a, 0x88, 0xf3, 0xcb,
0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x66, 0xd6, 0xf5, 0x69, 0x05, 0xd4, 0x58, 0x06,
0xf3, 0x08, 0x28, 0xa9, 0x93, 0x86, 0x9a, 0x03,
0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x66, 0xd6, 0xf5, 0x69, 0x05, 0xd4, 0x58, 0x06,
0xf3, 0x08, 0x28, 0xa9, 0x93, 0x86, 0x9a, 0x03,
0x8b, 0xfb, 0xab, 0x17, 0xa9, 0xe0, 0xb8, 0x74,
0x8b, 0x51, 0x0a, 0xe7, 0xd9, 0xfd, 0x23, 0x05
};
static const uint8_t chacha20poly1305_enc_assoc115[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce115[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key115[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input116[] = {
0xd5, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x9a, 0x22, 0xd7, 0x0a, 0x48, 0xe2, 0x4f, 0xdd,
0xcd, 0xd4, 0x41, 0x9d, 0xe6, 0x4c, 0x8f, 0x44,
0xfc, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x77, 0xb5, 0xc9, 0x07, 0xd9, 0xc9, 0xe1, 0xea,
0x51, 0x85, 0x1a, 0x20, 0x4a, 0xad, 0x9f, 0x0a,
0x24, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x3f, 0x91, 0xf8, 0xe7, 0xc7, 0xb1, 0x96, 0x25,
0x64, 0x61, 0x9c, 0x5e, 0x7e, 0x9b, 0xf6, 0x13
};
static const uint8_t chacha20poly1305_enc_output116[] = {
0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x1d, 0xe0, 0x1d, 0x03, 0xa4, 0xfb, 0x69, 0x2b,
0x0f, 0x13, 0x57, 0x17, 0xda, 0x3c, 0x93, 0x03,
0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x14, 0xbc, 0x01, 0x79, 0x57, 0xdc, 0xfa, 0x2c,
0xc0, 0xdb, 0xb8, 0x1d, 0xf5, 0x83, 0xcb, 0x01,
0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x14, 0xbc, 0x01, 0x79, 0x57, 0xdc, 0xfa, 0x2c,
0xc0, 0xdb, 0xb8, 0x1d, 0xf5, 0x83, 0xcb, 0x01,
0x49, 0xbc, 0x6e, 0x9f, 0xc5, 0x1c, 0x4d, 0x50,
0x30, 0x36, 0x64, 0x4d, 0x84, 0x27, 0x73, 0xd2
};
static const uint8_t chacha20poly1305_enc_assoc116[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce116[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key116[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input117[] = {
0xdb, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x75, 0xd5, 0x64, 0x3a, 0xa5, 0xaf, 0x93, 0x4d,
0x8c, 0xce, 0x39, 0x2c, 0xc3, 0xee, 0xdb, 0x47,
0xc0, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0x60, 0x1b, 0x5a, 0xd2, 0x06, 0x7f, 0x28, 0x06,
0x6a, 0x8f, 0x32, 0x81, 0x71, 0x5b, 0xa8, 0x08,
0x18, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x28, 0x3f, 0x6b, 0x32, 0x18, 0x07, 0x5f, 0xc9,
0x5f, 0x6b, 0xb4, 0xff, 0x45, 0x6d, 0xc1, 0x11
};
static const uint8_t chacha20poly1305_enc_output117[] = {
0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf2, 0x17, 0xae, 0x33, 0x49, 0xb6, 0xb5, 0xbb,
0x4e, 0x09, 0x2f, 0xa6, 0xff, 0x9e, 0xc7, 0x00,
0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x03, 0x12, 0x92, 0xac, 0x88, 0x6a, 0x33, 0xc0,
0xfb, 0xd1, 0x90, 0xbc, 0xce, 0x75, 0xfc, 0x03,
0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x03, 0x12, 0x92, 0xac, 0x88, 0x6a, 0x33, 0xc0,
0xfb, 0xd1, 0x90, 0xbc, 0xce, 0x75, 0xfc, 0x03,
0x63, 0xda, 0x6e, 0xa2, 0x51, 0xf0, 0x39, 0x53,
0x2c, 0x36, 0x64, 0x5d, 0x38, 0xb7, 0x6f, 0xd7
};
static const uint8_t chacha20poly1305_enc_assoc117[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce117[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key117[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
/* wycheproof - edge case intermediate sums in poly1305 */
static const uint8_t chacha20poly1305_enc_input118[] = {
0x93, 0x94, 0x28, 0xd0, 0x79, 0x35, 0x1f, 0x66,
0x5c, 0xd0, 0x01, 0x35, 0x43, 0x19, 0x87, 0x5c,
0x62, 0x48, 0x39, 0x60, 0x42, 0x16, 0xe4, 0x03,
0xeb, 0xcc, 0x6a, 0xf5, 0x59, 0xec, 0x8b, 0x43,
0x97, 0x7a, 0xed, 0x35, 0xcb, 0x5a, 0x2f, 0xca,
0xa0, 0x34, 0x6e, 0xfb, 0x93, 0x65, 0x54, 0x64,
0xd8, 0xc8, 0xc3, 0xfa, 0x1a, 0x9e, 0x47, 0x4a,
0xbe, 0x52, 0xd0, 0x2c, 0x81, 0x87, 0xe9, 0x0f,
0x4f, 0x2d, 0x90, 0x96, 0x52, 0x4f, 0xa1, 0xb2,
0xb0, 0x23, 0xb8, 0xb2, 0x88, 0x22, 0x27, 0x73,
0x90, 0xec, 0xf2, 0x1a, 0x04, 0xe6, 0x30, 0x85,
0x8b, 0xb6, 0x56, 0x52, 0xb5, 0xb1, 0x80, 0x16
};
static const uint8_t chacha20poly1305_enc_output118[] = {
0x93, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xe5, 0x8a, 0xf3, 0x69, 0xae, 0x0f, 0xc2, 0xf5,
0x29, 0x0b, 0x7c, 0x7f, 0x65, 0x9c, 0x97, 0x04,
0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbb, 0xc1, 0x0b, 0x84, 0x94, 0x8b, 0x5c, 0x8c,
0x2f, 0x0c, 0x72, 0x11, 0x3e, 0xa9, 0xbd, 0x04,
0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xbb, 0xc1, 0x0b, 0x84, 0x94, 0x8b, 0x5c, 0x8c,
0x2f, 0x0c, 0x72, 0x11, 0x3e, 0xa9, 0xbd, 0x04,
0x73, 0xeb, 0x27, 0x24, 0xb5, 0xc4, 0x05, 0xf0,
0x4d, 0x00, 0xd0, 0xf1, 0x58, 0x40, 0xa1, 0xc1
};
static const uint8_t chacha20poly1305_enc_assoc118[] = {
0xff, 0xff, 0xff, 0xff
};
static const uint8_t chacha20poly1305_enc_nonce118[] = {
0x00, 0x00, 0x00, 0x00, 0x06, 0x4c, 0x2d, 0x52
};
static const uint8_t chacha20poly1305_enc_key118[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
};
static const struct chacha20poly1305_testvec chacha20poly1305_enc_vectors[] = {
{ chacha20poly1305_enc_input001, chacha20poly1305_enc_output001, chacha20poly1305_enc_assoc001, chacha20poly1305_enc_nonce001, chacha20poly1305_enc_key001,
sizeof(chacha20poly1305_enc_input001), sizeof(chacha20poly1305_enc_assoc001), sizeof(chacha20poly1305_enc_nonce001) },
{ chacha20poly1305_enc_input002, chacha20poly1305_enc_output002, chacha20poly1305_enc_assoc002, chacha20poly1305_enc_nonce002, chacha20poly1305_enc_key002,
sizeof(chacha20poly1305_enc_input002), sizeof(chacha20poly1305_enc_assoc002), sizeof(chacha20poly1305_enc_nonce002) },
{ chacha20poly1305_enc_input003, chacha20poly1305_enc_output003, chacha20poly1305_enc_assoc003, chacha20poly1305_enc_nonce003, chacha20poly1305_enc_key003,
sizeof(chacha20poly1305_enc_input003), sizeof(chacha20poly1305_enc_assoc003), sizeof(chacha20poly1305_enc_nonce003) },
{ chacha20poly1305_enc_input004, chacha20poly1305_enc_output004, chacha20poly1305_enc_assoc004, chacha20poly1305_enc_nonce004, chacha20poly1305_enc_key004,
sizeof(chacha20poly1305_enc_input004), sizeof(chacha20poly1305_enc_assoc004), sizeof(chacha20poly1305_enc_nonce004) },
{ chacha20poly1305_enc_input005, chacha20poly1305_enc_output005, chacha20poly1305_enc_assoc005, chacha20poly1305_enc_nonce005, chacha20poly1305_enc_key005,
sizeof(chacha20poly1305_enc_input005), sizeof(chacha20poly1305_enc_assoc005), sizeof(chacha20poly1305_enc_nonce005) },
{ chacha20poly1305_enc_input006, chacha20poly1305_enc_output006, chacha20poly1305_enc_assoc006, chacha20poly1305_enc_nonce006, chacha20poly1305_enc_key006,
sizeof(chacha20poly1305_enc_input006), sizeof(chacha20poly1305_enc_assoc006), sizeof(chacha20poly1305_enc_nonce006) },
{ chacha20poly1305_enc_input007, chacha20poly1305_enc_output007, chacha20poly1305_enc_assoc007, chacha20poly1305_enc_nonce007, chacha20poly1305_enc_key007,
sizeof(chacha20poly1305_enc_input007), sizeof(chacha20poly1305_enc_assoc007), sizeof(chacha20poly1305_enc_nonce007) },
{ chacha20poly1305_enc_input008, chacha20poly1305_enc_output008, chacha20poly1305_enc_assoc008, chacha20poly1305_enc_nonce008, chacha20poly1305_enc_key008,
sizeof(chacha20poly1305_enc_input008), sizeof(chacha20poly1305_enc_assoc008), sizeof(chacha20poly1305_enc_nonce008) },
{ chacha20poly1305_enc_input009, chacha20poly1305_enc_output009, chacha20poly1305_enc_assoc009, chacha20poly1305_enc_nonce009, chacha20poly1305_enc_key009,
sizeof(chacha20poly1305_enc_input009), sizeof(chacha20poly1305_enc_assoc009), sizeof(chacha20poly1305_enc_nonce009) },
{ chacha20poly1305_enc_input010, chacha20poly1305_enc_output010, chacha20poly1305_enc_assoc010, chacha20poly1305_enc_nonce010, chacha20poly1305_enc_key010,
sizeof(chacha20poly1305_enc_input010), sizeof(chacha20poly1305_enc_assoc010), sizeof(chacha20poly1305_enc_nonce010) },
{ chacha20poly1305_enc_input011, chacha20poly1305_enc_output011, chacha20poly1305_enc_assoc011, chacha20poly1305_enc_nonce011, chacha20poly1305_enc_key011,
sizeof(chacha20poly1305_enc_input011), sizeof(chacha20poly1305_enc_assoc011), sizeof(chacha20poly1305_enc_nonce011) },
{ chacha20poly1305_enc_input012, chacha20poly1305_enc_output012, chacha20poly1305_enc_assoc012, chacha20poly1305_enc_nonce012, chacha20poly1305_enc_key012,
sizeof(chacha20poly1305_enc_input012), sizeof(chacha20poly1305_enc_assoc012), sizeof(chacha20poly1305_enc_nonce012) },
{ chacha20poly1305_enc_input013, chacha20poly1305_enc_output013, chacha20poly1305_enc_assoc013, chacha20poly1305_enc_nonce013, chacha20poly1305_enc_key013,
sizeof(chacha20poly1305_enc_input013), sizeof(chacha20poly1305_enc_assoc013), sizeof(chacha20poly1305_enc_nonce013) },
{ chacha20poly1305_enc_input014, chacha20poly1305_enc_output014, chacha20poly1305_enc_assoc014, chacha20poly1305_enc_nonce014, chacha20poly1305_enc_key014,
sizeof(chacha20poly1305_enc_input014), sizeof(chacha20poly1305_enc_assoc014), sizeof(chacha20poly1305_enc_nonce014) },
{ chacha20poly1305_enc_input015, chacha20poly1305_enc_output015, chacha20poly1305_enc_assoc015, chacha20poly1305_enc_nonce015, chacha20poly1305_enc_key015,
sizeof(chacha20poly1305_enc_input015), sizeof(chacha20poly1305_enc_assoc015), sizeof(chacha20poly1305_enc_nonce015) },
{ chacha20poly1305_enc_input016, chacha20poly1305_enc_output016, chacha20poly1305_enc_assoc016, chacha20poly1305_enc_nonce016, chacha20poly1305_enc_key016,
sizeof(chacha20poly1305_enc_input016), sizeof(chacha20poly1305_enc_assoc016), sizeof(chacha20poly1305_enc_nonce016) },
{ chacha20poly1305_enc_input017, chacha20poly1305_enc_output017, chacha20poly1305_enc_assoc017, chacha20poly1305_enc_nonce017, chacha20poly1305_enc_key017,
sizeof(chacha20poly1305_enc_input017), sizeof(chacha20poly1305_enc_assoc017), sizeof(chacha20poly1305_enc_nonce017) },
{ chacha20poly1305_enc_input018, chacha20poly1305_enc_output018, chacha20poly1305_enc_assoc018, chacha20poly1305_enc_nonce018, chacha20poly1305_enc_key018,
sizeof(chacha20poly1305_enc_input018), sizeof(chacha20poly1305_enc_assoc018), sizeof(chacha20poly1305_enc_nonce018) },
{ chacha20poly1305_enc_input019, chacha20poly1305_enc_output019, chacha20poly1305_enc_assoc019, chacha20poly1305_enc_nonce019, chacha20poly1305_enc_key019,
sizeof(chacha20poly1305_enc_input019), sizeof(chacha20poly1305_enc_assoc019), sizeof(chacha20poly1305_enc_nonce019) },
{ chacha20poly1305_enc_input020, chacha20poly1305_enc_output020, chacha20poly1305_enc_assoc020, chacha20poly1305_enc_nonce020, chacha20poly1305_enc_key020,
sizeof(chacha20poly1305_enc_input020), sizeof(chacha20poly1305_enc_assoc020), sizeof(chacha20poly1305_enc_nonce020) },
{ chacha20poly1305_enc_input021, chacha20poly1305_enc_output021, chacha20poly1305_enc_assoc021, chacha20poly1305_enc_nonce021, chacha20poly1305_enc_key021,
sizeof(chacha20poly1305_enc_input021), sizeof(chacha20poly1305_enc_assoc021), sizeof(chacha20poly1305_enc_nonce021) },
{ chacha20poly1305_enc_input022, chacha20poly1305_enc_output022, chacha20poly1305_enc_assoc022, chacha20poly1305_enc_nonce022, chacha20poly1305_enc_key022,
sizeof(chacha20poly1305_enc_input022), sizeof(chacha20poly1305_enc_assoc022), sizeof(chacha20poly1305_enc_nonce022) },
{ chacha20poly1305_enc_input023, chacha20poly1305_enc_output023, chacha20poly1305_enc_assoc023, chacha20poly1305_enc_nonce023, chacha20poly1305_enc_key023,
sizeof(chacha20poly1305_enc_input023), sizeof(chacha20poly1305_enc_assoc023), sizeof(chacha20poly1305_enc_nonce023) },
{ chacha20poly1305_enc_input024, chacha20poly1305_enc_output024, chacha20poly1305_enc_assoc024, chacha20poly1305_enc_nonce024, chacha20poly1305_enc_key024,
sizeof(chacha20poly1305_enc_input024), sizeof(chacha20poly1305_enc_assoc024), sizeof(chacha20poly1305_enc_nonce024) },
{ chacha20poly1305_enc_input025, chacha20poly1305_enc_output025, chacha20poly1305_enc_assoc025, chacha20poly1305_enc_nonce025, chacha20poly1305_enc_key025,
sizeof(chacha20poly1305_enc_input025), sizeof(chacha20poly1305_enc_assoc025), sizeof(chacha20poly1305_enc_nonce025) },
{ chacha20poly1305_enc_input026, chacha20poly1305_enc_output026, chacha20poly1305_enc_assoc026, chacha20poly1305_enc_nonce026, chacha20poly1305_enc_key026,
sizeof(chacha20poly1305_enc_input026), sizeof(chacha20poly1305_enc_assoc026), sizeof(chacha20poly1305_enc_nonce026) },
{ chacha20poly1305_enc_input027, chacha20poly1305_enc_output027, chacha20poly1305_enc_assoc027, chacha20poly1305_enc_nonce027, chacha20poly1305_enc_key027,
sizeof(chacha20poly1305_enc_input027), sizeof(chacha20poly1305_enc_assoc027), sizeof(chacha20poly1305_enc_nonce027) },
{ chacha20poly1305_enc_input028, chacha20poly1305_enc_output028, chacha20poly1305_enc_assoc028, chacha20poly1305_enc_nonce028, chacha20poly1305_enc_key028,
sizeof(chacha20poly1305_enc_input028), sizeof(chacha20poly1305_enc_assoc028), sizeof(chacha20poly1305_enc_nonce028) },
{ chacha20poly1305_enc_input029, chacha20poly1305_enc_output029, chacha20poly1305_enc_assoc029, chacha20poly1305_enc_nonce029, chacha20poly1305_enc_key029,
sizeof(chacha20poly1305_enc_input029), sizeof(chacha20poly1305_enc_assoc029), sizeof(chacha20poly1305_enc_nonce029) },
{ chacha20poly1305_enc_input030, chacha20poly1305_enc_output030, chacha20poly1305_enc_assoc030, chacha20poly1305_enc_nonce030, chacha20poly1305_enc_key030,
sizeof(chacha20poly1305_enc_input030), sizeof(chacha20poly1305_enc_assoc030), sizeof(chacha20poly1305_enc_nonce030) },
{ chacha20poly1305_enc_input031, chacha20poly1305_enc_output031, chacha20poly1305_enc_assoc031, chacha20poly1305_enc_nonce031, chacha20poly1305_enc_key031,
sizeof(chacha20poly1305_enc_input031), sizeof(chacha20poly1305_enc_assoc031), sizeof(chacha20poly1305_enc_nonce031) },
{ chacha20poly1305_enc_input032, chacha20poly1305_enc_output032, chacha20poly1305_enc_assoc032, chacha20poly1305_enc_nonce032, chacha20poly1305_enc_key032,
sizeof(chacha20poly1305_enc_input032), sizeof(chacha20poly1305_enc_assoc032), sizeof(chacha20poly1305_enc_nonce032) },
{ chacha20poly1305_enc_input033, chacha20poly1305_enc_output033, chacha20poly1305_enc_assoc033, chacha20poly1305_enc_nonce033, chacha20poly1305_enc_key033,
sizeof(chacha20poly1305_enc_input033), sizeof(chacha20poly1305_enc_assoc033), sizeof(chacha20poly1305_enc_nonce033) },
{ chacha20poly1305_enc_input034, chacha20poly1305_enc_output034, chacha20poly1305_enc_assoc034, chacha20poly1305_enc_nonce034, chacha20poly1305_enc_key034,
sizeof(chacha20poly1305_enc_input034), sizeof(chacha20poly1305_enc_assoc034), sizeof(chacha20poly1305_enc_nonce034) },
{ chacha20poly1305_enc_input035, chacha20poly1305_enc_output035, chacha20poly1305_enc_assoc035, chacha20poly1305_enc_nonce035, chacha20poly1305_enc_key035,
sizeof(chacha20poly1305_enc_input035), sizeof(chacha20poly1305_enc_assoc035), sizeof(chacha20poly1305_enc_nonce035) },
{ chacha20poly1305_enc_input036, chacha20poly1305_enc_output036, chacha20poly1305_enc_assoc036, chacha20poly1305_enc_nonce036, chacha20poly1305_enc_key036,
sizeof(chacha20poly1305_enc_input036), sizeof(chacha20poly1305_enc_assoc036), sizeof(chacha20poly1305_enc_nonce036) },
{ chacha20poly1305_enc_input037, chacha20poly1305_enc_output037, chacha20poly1305_enc_assoc037, chacha20poly1305_enc_nonce037, chacha20poly1305_enc_key037,
sizeof(chacha20poly1305_enc_input037), sizeof(chacha20poly1305_enc_assoc037), sizeof(chacha20poly1305_enc_nonce037) },
{ chacha20poly1305_enc_input038, chacha20poly1305_enc_output038, chacha20poly1305_enc_assoc038, chacha20poly1305_enc_nonce038, chacha20poly1305_enc_key038,
sizeof(chacha20poly1305_enc_input038), sizeof(chacha20poly1305_enc_assoc038), sizeof(chacha20poly1305_enc_nonce038) },
{ chacha20poly1305_enc_input039, chacha20poly1305_enc_output039, chacha20poly1305_enc_assoc039, chacha20poly1305_enc_nonce039, chacha20poly1305_enc_key039,
sizeof(chacha20poly1305_enc_input039), sizeof(chacha20poly1305_enc_assoc039), sizeof(chacha20poly1305_enc_nonce039) },
{ chacha20poly1305_enc_input040, chacha20poly1305_enc_output040, chacha20poly1305_enc_assoc040, chacha20poly1305_enc_nonce040, chacha20poly1305_enc_key040,
sizeof(chacha20poly1305_enc_input040), sizeof(chacha20poly1305_enc_assoc040), sizeof(chacha20poly1305_enc_nonce040) },
{ chacha20poly1305_enc_input041, chacha20poly1305_enc_output041, chacha20poly1305_enc_assoc041, chacha20poly1305_enc_nonce041, chacha20poly1305_enc_key041,
sizeof(chacha20poly1305_enc_input041), sizeof(chacha20poly1305_enc_assoc041), sizeof(chacha20poly1305_enc_nonce041) },
{ chacha20poly1305_enc_input042, chacha20poly1305_enc_output042, chacha20poly1305_enc_assoc042, chacha20poly1305_enc_nonce042, chacha20poly1305_enc_key042,
sizeof(chacha20poly1305_enc_input042), sizeof(chacha20poly1305_enc_assoc042), sizeof(chacha20poly1305_enc_nonce042) },
{ chacha20poly1305_enc_input043, chacha20poly1305_enc_output043, chacha20poly1305_enc_assoc043, chacha20poly1305_enc_nonce043, chacha20poly1305_enc_key043,
sizeof(chacha20poly1305_enc_input043), sizeof(chacha20poly1305_enc_assoc043), sizeof(chacha20poly1305_enc_nonce043) },
{ chacha20poly1305_enc_input044, chacha20poly1305_enc_output044, chacha20poly1305_enc_assoc044, chacha20poly1305_enc_nonce044, chacha20poly1305_enc_key044,
sizeof(chacha20poly1305_enc_input044), sizeof(chacha20poly1305_enc_assoc044), sizeof(chacha20poly1305_enc_nonce044) },
{ chacha20poly1305_enc_input045, chacha20poly1305_enc_output045, chacha20poly1305_enc_assoc045, chacha20poly1305_enc_nonce045, chacha20poly1305_enc_key045,
sizeof(chacha20poly1305_enc_input045), sizeof(chacha20poly1305_enc_assoc045), sizeof(chacha20poly1305_enc_nonce045) },
{ chacha20poly1305_enc_input046, chacha20poly1305_enc_output046, chacha20poly1305_enc_assoc046, chacha20poly1305_enc_nonce046, chacha20poly1305_enc_key046,
sizeof(chacha20poly1305_enc_input046), sizeof(chacha20poly1305_enc_assoc046), sizeof(chacha20poly1305_enc_nonce046) },
{ chacha20poly1305_enc_input047, chacha20poly1305_enc_output047, chacha20poly1305_enc_assoc047, chacha20poly1305_enc_nonce047, chacha20poly1305_enc_key047,
sizeof(chacha20poly1305_enc_input047), sizeof(chacha20poly1305_enc_assoc047), sizeof(chacha20poly1305_enc_nonce047) },
{ chacha20poly1305_enc_input048, chacha20poly1305_enc_output048, chacha20poly1305_enc_assoc048, chacha20poly1305_enc_nonce048, chacha20poly1305_enc_key048,
sizeof(chacha20poly1305_enc_input048), sizeof(chacha20poly1305_enc_assoc048), sizeof(chacha20poly1305_enc_nonce048) },
{ chacha20poly1305_enc_input049, chacha20poly1305_enc_output049, chacha20poly1305_enc_assoc049, chacha20poly1305_enc_nonce049, chacha20poly1305_enc_key049,
sizeof(chacha20poly1305_enc_input049), sizeof(chacha20poly1305_enc_assoc049), sizeof(chacha20poly1305_enc_nonce049) },
{ chacha20poly1305_enc_input050, chacha20poly1305_enc_output050, chacha20poly1305_enc_assoc050, chacha20poly1305_enc_nonce050, chacha20poly1305_enc_key050,
sizeof(chacha20poly1305_enc_input050), sizeof(chacha20poly1305_enc_assoc050), sizeof(chacha20poly1305_enc_nonce050) },
{ chacha20poly1305_enc_input051, chacha20poly1305_enc_output051, chacha20poly1305_enc_assoc051, chacha20poly1305_enc_nonce051, chacha20poly1305_enc_key051,
sizeof(chacha20poly1305_enc_input051), sizeof(chacha20poly1305_enc_assoc051), sizeof(chacha20poly1305_enc_nonce051) },
{ chacha20poly1305_enc_input052, chacha20poly1305_enc_output052, chacha20poly1305_enc_assoc052, chacha20poly1305_enc_nonce052, chacha20poly1305_enc_key052,
sizeof(chacha20poly1305_enc_input052), sizeof(chacha20poly1305_enc_assoc052), sizeof(chacha20poly1305_enc_nonce052) },
{ chacha20poly1305_enc_input053, chacha20poly1305_enc_output053, chacha20poly1305_enc_assoc053, chacha20poly1305_enc_nonce053, chacha20poly1305_enc_key053,
sizeof(chacha20poly1305_enc_input053), sizeof(chacha20poly1305_enc_assoc053), sizeof(chacha20poly1305_enc_nonce053) },
{ chacha20poly1305_enc_input054, chacha20poly1305_enc_output054, chacha20poly1305_enc_assoc054, chacha20poly1305_enc_nonce054, chacha20poly1305_enc_key054,
sizeof(chacha20poly1305_enc_input054), sizeof(chacha20poly1305_enc_assoc054), sizeof(chacha20poly1305_enc_nonce054) },
{ chacha20poly1305_enc_input055, chacha20poly1305_enc_output055, chacha20poly1305_enc_assoc055, chacha20poly1305_enc_nonce055, chacha20poly1305_enc_key055,
sizeof(chacha20poly1305_enc_input055), sizeof(chacha20poly1305_enc_assoc055), sizeof(chacha20poly1305_enc_nonce055) },
{ chacha20poly1305_enc_input056, chacha20poly1305_enc_output056, chacha20poly1305_enc_assoc056, chacha20poly1305_enc_nonce056, chacha20poly1305_enc_key056,
sizeof(chacha20poly1305_enc_input056), sizeof(chacha20poly1305_enc_assoc056), sizeof(chacha20poly1305_enc_nonce056) },
{ chacha20poly1305_enc_input057, chacha20poly1305_enc_output057, chacha20poly1305_enc_assoc057, chacha20poly1305_enc_nonce057, chacha20poly1305_enc_key057,
sizeof(chacha20poly1305_enc_input057), sizeof(chacha20poly1305_enc_assoc057), sizeof(chacha20poly1305_enc_nonce057) },
{ chacha20poly1305_enc_input058, chacha20poly1305_enc_output058, chacha20poly1305_enc_assoc058, chacha20poly1305_enc_nonce058, chacha20poly1305_enc_key058,
sizeof(chacha20poly1305_enc_input058), sizeof(chacha20poly1305_enc_assoc058), sizeof(chacha20poly1305_enc_nonce058) },
{ chacha20poly1305_enc_input059, chacha20poly1305_enc_output059, chacha20poly1305_enc_assoc059, chacha20poly1305_enc_nonce059, chacha20poly1305_enc_key059,
sizeof(chacha20poly1305_enc_input059), sizeof(chacha20poly1305_enc_assoc059), sizeof(chacha20poly1305_enc_nonce059) },
{ chacha20poly1305_enc_input060, chacha20poly1305_enc_output060, chacha20poly1305_enc_assoc060, chacha20poly1305_enc_nonce060, chacha20poly1305_enc_key060,
sizeof(chacha20poly1305_enc_input060), sizeof(chacha20poly1305_enc_assoc060), sizeof(chacha20poly1305_enc_nonce060) },
{ chacha20poly1305_enc_input061, chacha20poly1305_enc_output061, chacha20poly1305_enc_assoc061, chacha20poly1305_enc_nonce061, chacha20poly1305_enc_key061,
sizeof(chacha20poly1305_enc_input061), sizeof(chacha20poly1305_enc_assoc061), sizeof(chacha20poly1305_enc_nonce061) },
{ chacha20poly1305_enc_input062, chacha20poly1305_enc_output062, chacha20poly1305_enc_assoc062, chacha20poly1305_enc_nonce062, chacha20poly1305_enc_key062,
sizeof(chacha20poly1305_enc_input062), sizeof(chacha20poly1305_enc_assoc062), sizeof(chacha20poly1305_enc_nonce062) },
{ chacha20poly1305_enc_input063, chacha20poly1305_enc_output063, chacha20poly1305_enc_assoc063, chacha20poly1305_enc_nonce063, chacha20poly1305_enc_key063,
sizeof(chacha20poly1305_enc_input063), sizeof(chacha20poly1305_enc_assoc063), sizeof(chacha20poly1305_enc_nonce063) },
{ chacha20poly1305_enc_input064, chacha20poly1305_enc_output064, chacha20poly1305_enc_assoc064, chacha20poly1305_enc_nonce064, chacha20poly1305_enc_key064,
sizeof(chacha20poly1305_enc_input064), sizeof(chacha20poly1305_enc_assoc064), sizeof(chacha20poly1305_enc_nonce064) },
{ chacha20poly1305_enc_input065, chacha20poly1305_enc_output065, chacha20poly1305_enc_assoc065, chacha20poly1305_enc_nonce065, chacha20poly1305_enc_key065,
sizeof(chacha20poly1305_enc_input065), sizeof(chacha20poly1305_enc_assoc065), sizeof(chacha20poly1305_enc_nonce065) },
{ chacha20poly1305_enc_input066, chacha20poly1305_enc_output066, chacha20poly1305_enc_assoc066, chacha20poly1305_enc_nonce066, chacha20poly1305_enc_key066,
sizeof(chacha20poly1305_enc_input066), sizeof(chacha20poly1305_enc_assoc066), sizeof(chacha20poly1305_enc_nonce066) },
{ chacha20poly1305_enc_input067, chacha20poly1305_enc_output067, chacha20poly1305_enc_assoc067, chacha20poly1305_enc_nonce067, chacha20poly1305_enc_key067,
sizeof(chacha20poly1305_enc_input067), sizeof(chacha20poly1305_enc_assoc067), sizeof(chacha20poly1305_enc_nonce067) },
{ chacha20poly1305_enc_input068, chacha20poly1305_enc_output068, chacha20poly1305_enc_assoc068, chacha20poly1305_enc_nonce068, chacha20poly1305_enc_key068,
sizeof(chacha20poly1305_enc_input068), sizeof(chacha20poly1305_enc_assoc068), sizeof(chacha20poly1305_enc_nonce068) },
{ chacha20poly1305_enc_input069, chacha20poly1305_enc_output069, chacha20poly1305_enc_assoc069, chacha20poly1305_enc_nonce069, chacha20poly1305_enc_key069,
sizeof(chacha20poly1305_enc_input069), sizeof(chacha20poly1305_enc_assoc069), sizeof(chacha20poly1305_enc_nonce069) },
{ chacha20poly1305_enc_input070, chacha20poly1305_enc_output070, chacha20poly1305_enc_assoc070, chacha20poly1305_enc_nonce070, chacha20poly1305_enc_key070,
sizeof(chacha20poly1305_enc_input070), sizeof(chacha20poly1305_enc_assoc070), sizeof(chacha20poly1305_enc_nonce070) },
{ chacha20poly1305_enc_input071, chacha20poly1305_enc_output071, chacha20poly1305_enc_assoc071, chacha20poly1305_enc_nonce071, chacha20poly1305_enc_key071,
sizeof(chacha20poly1305_enc_input071), sizeof(chacha20poly1305_enc_assoc071), sizeof(chacha20poly1305_enc_nonce071) },
{ chacha20poly1305_enc_input072, chacha20poly1305_enc_output072, chacha20poly1305_enc_assoc072, chacha20poly1305_enc_nonce072, chacha20poly1305_enc_key072,
sizeof(chacha20poly1305_enc_input072), sizeof(chacha20poly1305_enc_assoc072), sizeof(chacha20poly1305_enc_nonce072) },
{ chacha20poly1305_enc_input073, chacha20poly1305_enc_output073, chacha20poly1305_enc_assoc073, chacha20poly1305_enc_nonce073, chacha20poly1305_enc_key073,
sizeof(chacha20poly1305_enc_input073), sizeof(chacha20poly1305_enc_assoc073), sizeof(chacha20poly1305_enc_nonce073) },
{ chacha20poly1305_enc_input074, chacha20poly1305_enc_output074, chacha20poly1305_enc_assoc074, chacha20poly1305_enc_nonce074, chacha20poly1305_enc_key074,
sizeof(chacha20poly1305_enc_input074), sizeof(chacha20poly1305_enc_assoc074), sizeof(chacha20poly1305_enc_nonce074) },
{ chacha20poly1305_enc_input075, chacha20poly1305_enc_output075, chacha20poly1305_enc_assoc075, chacha20poly1305_enc_nonce075, chacha20poly1305_enc_key075,
sizeof(chacha20poly1305_enc_input075), sizeof(chacha20poly1305_enc_assoc075), sizeof(chacha20poly1305_enc_nonce075) },
{ chacha20poly1305_enc_input076, chacha20poly1305_enc_output076, chacha20poly1305_enc_assoc076, chacha20poly1305_enc_nonce076, chacha20poly1305_enc_key076,
sizeof(chacha20poly1305_enc_input076), sizeof(chacha20poly1305_enc_assoc076), sizeof(chacha20poly1305_enc_nonce076) },
{ chacha20poly1305_enc_input077, chacha20poly1305_enc_output077, chacha20poly1305_enc_assoc077, chacha20poly1305_enc_nonce077, chacha20poly1305_enc_key077,
sizeof(chacha20poly1305_enc_input077), sizeof(chacha20poly1305_enc_assoc077), sizeof(chacha20poly1305_enc_nonce077) },
{ chacha20poly1305_enc_input078, chacha20poly1305_enc_output078, chacha20poly1305_enc_assoc078, chacha20poly1305_enc_nonce078, chacha20poly1305_enc_key078,
sizeof(chacha20poly1305_enc_input078), sizeof(chacha20poly1305_enc_assoc078), sizeof(chacha20poly1305_enc_nonce078) },
{ chacha20poly1305_enc_input079, chacha20poly1305_enc_output079, chacha20poly1305_enc_assoc079, chacha20poly1305_enc_nonce079, chacha20poly1305_enc_key079,
sizeof(chacha20poly1305_enc_input079), sizeof(chacha20poly1305_enc_assoc079), sizeof(chacha20poly1305_enc_nonce079) },
{ chacha20poly1305_enc_input080, chacha20poly1305_enc_output080, chacha20poly1305_enc_assoc080, chacha20poly1305_enc_nonce080, chacha20poly1305_enc_key080,
sizeof(chacha20poly1305_enc_input080), sizeof(chacha20poly1305_enc_assoc080), sizeof(chacha20poly1305_enc_nonce080) },
{ chacha20poly1305_enc_input081, chacha20poly1305_enc_output081, chacha20poly1305_enc_assoc081, chacha20poly1305_enc_nonce081, chacha20poly1305_enc_key081,
sizeof(chacha20poly1305_enc_input081), sizeof(chacha20poly1305_enc_assoc081), sizeof(chacha20poly1305_enc_nonce081) },
{ chacha20poly1305_enc_input082, chacha20poly1305_enc_output082, chacha20poly1305_enc_assoc082, chacha20poly1305_enc_nonce082, chacha20poly1305_enc_key082,
sizeof(chacha20poly1305_enc_input082), sizeof(chacha20poly1305_enc_assoc082), sizeof(chacha20poly1305_enc_nonce082) },
{ chacha20poly1305_enc_input083, chacha20poly1305_enc_output083, chacha20poly1305_enc_assoc083, chacha20poly1305_enc_nonce083, chacha20poly1305_enc_key083,
sizeof(chacha20poly1305_enc_input083), sizeof(chacha20poly1305_enc_assoc083), sizeof(chacha20poly1305_enc_nonce083) },
{ chacha20poly1305_enc_input084, chacha20poly1305_enc_output084, chacha20poly1305_enc_assoc084, chacha20poly1305_enc_nonce084, chacha20poly1305_enc_key084,
sizeof(chacha20poly1305_enc_input084), sizeof(chacha20poly1305_enc_assoc084), sizeof(chacha20poly1305_enc_nonce084) },
{ chacha20poly1305_enc_input085, chacha20poly1305_enc_output085, chacha20poly1305_enc_assoc085, chacha20poly1305_enc_nonce085, chacha20poly1305_enc_key085,
sizeof(chacha20poly1305_enc_input085), sizeof(chacha20poly1305_enc_assoc085), sizeof(chacha20poly1305_enc_nonce085) },
{ chacha20poly1305_enc_input086, chacha20poly1305_enc_output086, chacha20poly1305_enc_assoc086, chacha20poly1305_enc_nonce086, chacha20poly1305_enc_key086,
sizeof(chacha20poly1305_enc_input086), sizeof(chacha20poly1305_enc_assoc086), sizeof(chacha20poly1305_enc_nonce086) },
{ chacha20poly1305_enc_input087, chacha20poly1305_enc_output087, chacha20poly1305_enc_assoc087, chacha20poly1305_enc_nonce087, chacha20poly1305_enc_key087,
sizeof(chacha20poly1305_enc_input087), sizeof(chacha20poly1305_enc_assoc087), sizeof(chacha20poly1305_enc_nonce087) },
{ chacha20poly1305_enc_input088, chacha20poly1305_enc_output088, chacha20poly1305_enc_assoc088, chacha20poly1305_enc_nonce088, chacha20poly1305_enc_key088,
sizeof(chacha20poly1305_enc_input088), sizeof(chacha20poly1305_enc_assoc088), sizeof(chacha20poly1305_enc_nonce088) },
{ chacha20poly1305_enc_input089, chacha20poly1305_enc_output089, chacha20poly1305_enc_assoc089, chacha20poly1305_enc_nonce089, chacha20poly1305_enc_key089,
sizeof(chacha20poly1305_enc_input089), sizeof(chacha20poly1305_enc_assoc089), sizeof(chacha20poly1305_enc_nonce089) },
{ chacha20poly1305_enc_input090, chacha20poly1305_enc_output090, chacha20poly1305_enc_assoc090, chacha20poly1305_enc_nonce090, chacha20poly1305_enc_key090,
sizeof(chacha20poly1305_enc_input090), sizeof(chacha20poly1305_enc_assoc090), sizeof(chacha20poly1305_enc_nonce090) },
{ chacha20poly1305_enc_input091, chacha20poly1305_enc_output091, chacha20poly1305_enc_assoc091, chacha20poly1305_enc_nonce091, chacha20poly1305_enc_key091,
sizeof(chacha20poly1305_enc_input091), sizeof(chacha20poly1305_enc_assoc091), sizeof(chacha20poly1305_enc_nonce091) },
{ chacha20poly1305_enc_input092, chacha20poly1305_enc_output092, chacha20poly1305_enc_assoc092, chacha20poly1305_enc_nonce092, chacha20poly1305_enc_key092,
sizeof(chacha20poly1305_enc_input092), sizeof(chacha20poly1305_enc_assoc092), sizeof(chacha20poly1305_enc_nonce092) },
{ chacha20poly1305_enc_input093, chacha20poly1305_enc_output093, chacha20poly1305_enc_assoc093, chacha20poly1305_enc_nonce093, chacha20poly1305_enc_key093,
sizeof(chacha20poly1305_enc_input093), sizeof(chacha20poly1305_enc_assoc093), sizeof(chacha20poly1305_enc_nonce093) },
{ chacha20poly1305_enc_input094, chacha20poly1305_enc_output094, chacha20poly1305_enc_assoc094, chacha20poly1305_enc_nonce094, chacha20poly1305_enc_key094,
sizeof(chacha20poly1305_enc_input094), sizeof(chacha20poly1305_enc_assoc094), sizeof(chacha20poly1305_enc_nonce094) },
{ chacha20poly1305_enc_input095, chacha20poly1305_enc_output095, chacha20poly1305_enc_assoc095, chacha20poly1305_enc_nonce095, chacha20poly1305_enc_key095,
sizeof(chacha20poly1305_enc_input095), sizeof(chacha20poly1305_enc_assoc095), sizeof(chacha20poly1305_enc_nonce095) },
{ chacha20poly1305_enc_input096, chacha20poly1305_enc_output096, chacha20poly1305_enc_assoc096, chacha20poly1305_enc_nonce096, chacha20poly1305_enc_key096,
sizeof(chacha20poly1305_enc_input096), sizeof(chacha20poly1305_enc_assoc096), sizeof(chacha20poly1305_enc_nonce096) },
{ chacha20poly1305_enc_input097, chacha20poly1305_enc_output097, chacha20poly1305_enc_assoc097, chacha20poly1305_enc_nonce097, chacha20poly1305_enc_key097,
sizeof(chacha20poly1305_enc_input097), sizeof(chacha20poly1305_enc_assoc097), sizeof(chacha20poly1305_enc_nonce097) },
{ chacha20poly1305_enc_input098, chacha20poly1305_enc_output098, chacha20poly1305_enc_assoc098, chacha20poly1305_enc_nonce098, chacha20poly1305_enc_key098,
sizeof(chacha20poly1305_enc_input098), sizeof(chacha20poly1305_enc_assoc098), sizeof(chacha20poly1305_enc_nonce098) },
{ chacha20poly1305_enc_input099, chacha20poly1305_enc_output099, chacha20poly1305_enc_assoc099, chacha20poly1305_enc_nonce099, chacha20poly1305_enc_key099,
sizeof(chacha20poly1305_enc_input099), sizeof(chacha20poly1305_enc_assoc099), sizeof(chacha20poly1305_enc_nonce099) },
{ chacha20poly1305_enc_input100, chacha20poly1305_enc_output100, chacha20poly1305_enc_assoc100, chacha20poly1305_enc_nonce100, chacha20poly1305_enc_key100,
sizeof(chacha20poly1305_enc_input100), sizeof(chacha20poly1305_enc_assoc100), sizeof(chacha20poly1305_enc_nonce100) },
{ chacha20poly1305_enc_input101, chacha20poly1305_enc_output101, chacha20poly1305_enc_assoc101, chacha20poly1305_enc_nonce101, chacha20poly1305_enc_key101,
sizeof(chacha20poly1305_enc_input101), sizeof(chacha20poly1305_enc_assoc101), sizeof(chacha20poly1305_enc_nonce101) },
{ chacha20poly1305_enc_input102, chacha20poly1305_enc_output102, chacha20poly1305_enc_assoc102, chacha20poly1305_enc_nonce102, chacha20poly1305_enc_key102,
sizeof(chacha20poly1305_enc_input102), sizeof(chacha20poly1305_enc_assoc102), sizeof(chacha20poly1305_enc_nonce102) },
{ chacha20poly1305_enc_input103, chacha20poly1305_enc_output103, chacha20poly1305_enc_assoc103, chacha20poly1305_enc_nonce103, chacha20poly1305_enc_key103,
sizeof(chacha20poly1305_enc_input103), sizeof(chacha20poly1305_enc_assoc103), sizeof(chacha20poly1305_enc_nonce103) },
{ chacha20poly1305_enc_input104, chacha20poly1305_enc_output104, chacha20poly1305_enc_assoc104, chacha20poly1305_enc_nonce104, chacha20poly1305_enc_key104,
sizeof(chacha20poly1305_enc_input104), sizeof(chacha20poly1305_enc_assoc104), sizeof(chacha20poly1305_enc_nonce104) },
{ chacha20poly1305_enc_input105, chacha20poly1305_enc_output105, chacha20poly1305_enc_assoc105, chacha20poly1305_enc_nonce105, chacha20poly1305_enc_key105,
sizeof(chacha20poly1305_enc_input105), sizeof(chacha20poly1305_enc_assoc105), sizeof(chacha20poly1305_enc_nonce105) },
{ chacha20poly1305_enc_input106, chacha20poly1305_enc_output106, chacha20poly1305_enc_assoc106, chacha20poly1305_enc_nonce106, chacha20poly1305_enc_key106,
sizeof(chacha20poly1305_enc_input106), sizeof(chacha20poly1305_enc_assoc106), sizeof(chacha20poly1305_enc_nonce106) },
{ chacha20poly1305_enc_input107, chacha20poly1305_enc_output107, chacha20poly1305_enc_assoc107, chacha20poly1305_enc_nonce107, chacha20poly1305_enc_key107,
sizeof(chacha20poly1305_enc_input107), sizeof(chacha20poly1305_enc_assoc107), sizeof(chacha20poly1305_enc_nonce107) },
{ chacha20poly1305_enc_input108, chacha20poly1305_enc_output108, chacha20poly1305_enc_assoc108, chacha20poly1305_enc_nonce108, chacha20poly1305_enc_key108,
sizeof(chacha20poly1305_enc_input108), sizeof(chacha20poly1305_enc_assoc108), sizeof(chacha20poly1305_enc_nonce108) },
{ chacha20poly1305_enc_input109, chacha20poly1305_enc_output109, chacha20poly1305_enc_assoc109, chacha20poly1305_enc_nonce109, chacha20poly1305_enc_key109,
sizeof(chacha20poly1305_enc_input109), sizeof(chacha20poly1305_enc_assoc109), sizeof(chacha20poly1305_enc_nonce109) },
{ chacha20poly1305_enc_input110, chacha20poly1305_enc_output110, chacha20poly1305_enc_assoc110, chacha20poly1305_enc_nonce110, chacha20poly1305_enc_key110,
sizeof(chacha20poly1305_enc_input110), sizeof(chacha20poly1305_enc_assoc110), sizeof(chacha20poly1305_enc_nonce110) },
{ chacha20poly1305_enc_input111, chacha20poly1305_enc_output111, chacha20poly1305_enc_assoc111, chacha20poly1305_enc_nonce111, chacha20poly1305_enc_key111,
sizeof(chacha20poly1305_enc_input111), sizeof(chacha20poly1305_enc_assoc111), sizeof(chacha20poly1305_enc_nonce111) },
{ chacha20poly1305_enc_input112, chacha20poly1305_enc_output112, chacha20poly1305_enc_assoc112, chacha20poly1305_enc_nonce112, chacha20poly1305_enc_key112,
sizeof(chacha20poly1305_enc_input112), sizeof(chacha20poly1305_enc_assoc112), sizeof(chacha20poly1305_enc_nonce112) },
{ chacha20poly1305_enc_input113, chacha20poly1305_enc_output113, chacha20poly1305_enc_assoc113, chacha20poly1305_enc_nonce113, chacha20poly1305_enc_key113,
sizeof(chacha20poly1305_enc_input113), sizeof(chacha20poly1305_enc_assoc113), sizeof(chacha20poly1305_enc_nonce113) },
{ chacha20poly1305_enc_input114, chacha20poly1305_enc_output114, chacha20poly1305_enc_assoc114, chacha20poly1305_enc_nonce114, chacha20poly1305_enc_key114,
sizeof(chacha20poly1305_enc_input114), sizeof(chacha20poly1305_enc_assoc114), sizeof(chacha20poly1305_enc_nonce114) },
{ chacha20poly1305_enc_input115, chacha20poly1305_enc_output115, chacha20poly1305_enc_assoc115, chacha20poly1305_enc_nonce115, chacha20poly1305_enc_key115,
sizeof(chacha20poly1305_enc_input115), sizeof(chacha20poly1305_enc_assoc115), sizeof(chacha20poly1305_enc_nonce115) },
{ chacha20poly1305_enc_input116, chacha20poly1305_enc_output116, chacha20poly1305_enc_assoc116, chacha20poly1305_enc_nonce116, chacha20poly1305_enc_key116,
sizeof(chacha20poly1305_enc_input116), sizeof(chacha20poly1305_enc_assoc116), sizeof(chacha20poly1305_enc_nonce116) },
{ chacha20poly1305_enc_input117, chacha20poly1305_enc_output117, chacha20poly1305_enc_assoc117, chacha20poly1305_enc_nonce117, chacha20poly1305_enc_key117,
sizeof(chacha20poly1305_enc_input117), sizeof(chacha20poly1305_enc_assoc117), sizeof(chacha20poly1305_enc_nonce117) },
{ chacha20poly1305_enc_input118, chacha20poly1305_enc_output118, chacha20poly1305_enc_assoc118, chacha20poly1305_enc_nonce118, chacha20poly1305_enc_key118,
sizeof(chacha20poly1305_enc_input118), sizeof(chacha20poly1305_enc_assoc118), sizeof(chacha20poly1305_enc_nonce118) }
};
static const uint8_t chacha20poly1305_dec_input001[] = {
0x64, 0xa0, 0x86, 0x15, 0x75, 0x86, 0x1a, 0xf4,
0x60, 0xf0, 0x62, 0xc7, 0x9b, 0xe6, 0x43, 0xbd,
0x5e, 0x80, 0x5c, 0xfd, 0x34, 0x5c, 0xf3, 0x89,
0xf1, 0x08, 0x67, 0x0a, 0xc7, 0x6c, 0x8c, 0xb2,
0x4c, 0x6c, 0xfc, 0x18, 0x75, 0x5d, 0x43, 0xee,
0xa0, 0x9e, 0xe9, 0x4e, 0x38, 0x2d, 0x26, 0xb0,
0xbd, 0xb7, 0xb7, 0x3c, 0x32, 0x1b, 0x01, 0x00,
0xd4, 0xf0, 0x3b, 0x7f, 0x35, 0x58, 0x94, 0xcf,
0x33, 0x2f, 0x83, 0x0e, 0x71, 0x0b, 0x97, 0xce,
0x98, 0xc8, 0xa8, 0x4a, 0xbd, 0x0b, 0x94, 0x81,
0x14, 0xad, 0x17, 0x6e, 0x00, 0x8d, 0x33, 0xbd,
0x60, 0xf9, 0x82, 0xb1, 0xff, 0x37, 0xc8, 0x55,
0x97, 0x97, 0xa0, 0x6e, 0xf4, 0xf0, 0xef, 0x61,
0xc1, 0x86, 0x32, 0x4e, 0x2b, 0x35, 0x06, 0x38,
0x36, 0x06, 0x90, 0x7b, 0x6a, 0x7c, 0x02, 0xb0,
0xf9, 0xf6, 0x15, 0x7b, 0x53, 0xc8, 0x67, 0xe4,
0xb9, 0x16, 0x6c, 0x76, 0x7b, 0x80, 0x4d, 0x46,
0xa5, 0x9b, 0x52, 0x16, 0xcd, 0xe7, 0xa4, 0xe9,
0x90, 0x40, 0xc5, 0xa4, 0x04, 0x33, 0x22, 0x5e,
0xe2, 0x82, 0xa1, 0xb0, 0xa0, 0x6c, 0x52, 0x3e,
0xaf, 0x45, 0x34, 0xd7, 0xf8, 0x3f, 0xa1, 0x15,
0x5b, 0x00, 0x47, 0x71, 0x8c, 0xbc, 0x54, 0x6a,
0x0d, 0x07, 0x2b, 0x04, 0xb3, 0x56, 0x4e, 0xea,
0x1b, 0x42, 0x22, 0x73, 0xf5, 0x48, 0x27, 0x1a,
0x0b, 0xb2, 0x31, 0x60, 0x53, 0xfa, 0x76, 0x99,
0x19, 0x55, 0xeb, 0xd6, 0x31, 0x59, 0x43, 0x4e,
0xce, 0xbb, 0x4e, 0x46, 0x6d, 0xae, 0x5a, 0x10,
0x73, 0xa6, 0x72, 0x76, 0x27, 0x09, 0x7a, 0x10,
0x49, 0xe6, 0x17, 0xd9, 0x1d, 0x36, 0x10, 0x94,
0xfa, 0x68, 0xf0, 0xff, 0x77, 0x98, 0x71, 0x30,
0x30, 0x5b, 0xea, 0xba, 0x2e, 0xda, 0x04, 0xdf,
0x99, 0x7b, 0x71, 0x4d, 0x6c, 0x6f, 0x2c, 0x29,
0xa6, 0xad, 0x5c, 0xb4, 0x02, 0x2b, 0x02, 0x70,
0x9b, 0xee, 0xad, 0x9d, 0x67, 0x89, 0x0c, 0xbb,
0x22, 0x39, 0x23, 0x36, 0xfe, 0xa1, 0x85, 0x1f,
0x38
};
static const uint8_t chacha20poly1305_dec_output001[] = {
0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,
0x2d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x73, 0x20,
0x61, 0x72, 0x65, 0x20, 0x64, 0x72, 0x61, 0x66,
0x74, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20,
0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
0x6f, 0x66, 0x20, 0x73, 0x69, 0x78, 0x20, 0x6d,
0x6f, 0x6e, 0x74, 0x68, 0x73, 0x20, 0x61, 0x6e,
0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65,
0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x2c, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,
0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6f,
0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x20, 0x62, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x61, 0x74, 0x20, 0x61,
0x6e, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69,
0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72,
0x69, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20,
0x75, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x2d, 0x44, 0x72, 0x61,
0x66, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
0x6c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x20,
0x63, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65,
0x6d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x20,
0x2f, 0xe2, 0x80, 0x9c, 0x77, 0x6f, 0x72, 0x6b,
0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x67,
0x72, 0x65, 0x73, 0x73, 0x2e, 0x2f, 0xe2, 0x80,
0x9d
};
static const uint8_t chacha20poly1305_dec_assoc001[] = {
0xf3, 0x33, 0x88, 0x86, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4e, 0x91
};
static const uint8_t chacha20poly1305_dec_nonce001[] = {
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
};
static const uint8_t chacha20poly1305_dec_key001[] = {
0x1c, 0x92, 0x40, 0xa5, 0xeb, 0x55, 0xd3, 0x8a,
0xf3, 0x33, 0x88, 0x86, 0x04, 0xf6, 0xb5, 0xf0,
0x47, 0x39, 0x17, 0xc1, 0x40, 0x2b, 0x80, 0x09,
0x9d, 0xca, 0x5c, 0xbc, 0x20, 0x70, 0x75, 0xc0
};
static const uint8_t chacha20poly1305_dec_input002[] = {
0xea, 0xe0, 0x1e, 0x9e, 0x2c, 0x91, 0xaa, 0xe1,
0xdb, 0x5d, 0x99, 0x3f, 0x8a, 0xf7, 0x69, 0x92
};
static const uint8_t chacha20poly1305_dec_output002[] = { };
static const uint8_t chacha20poly1305_dec_assoc002[] = { };
static const uint8_t chacha20poly1305_dec_nonce002[] = {
0xca, 0xbf, 0x33, 0x71, 0x32, 0x45, 0x77, 0x8e
};
static const uint8_t chacha20poly1305_dec_key002[] = {
0x4c, 0xf5, 0x96, 0x83, 0x38, 0xe6, 0xae, 0x7f,
0x2d, 0x29, 0x25, 0x76, 0xd5, 0x75, 0x27, 0x86,
0x91, 0x9a, 0x27, 0x7a, 0xfb, 0x46, 0xc5, 0xef,
0x94, 0x81, 0x79, 0x57, 0x14, 0x59, 0x40, 0x68
};
static const uint8_t chacha20poly1305_dec_input003[] = {
0xdd, 0x6b, 0x3b, 0x82, 0xce, 0x5a, 0xbd, 0xd6,
0xa9, 0x35, 0x83, 0xd8, 0x8c, 0x3d, 0x85, 0x77
};
static const uint8_t chacha20poly1305_dec_output003[] = { };
static const uint8_t chacha20poly1305_dec_assoc003[] = {
0x33, 0x10, 0x41, 0x12, 0x1f, 0xf3, 0xd2, 0x6b
};
static const uint8_t chacha20poly1305_dec_nonce003[] = {
0x3d, 0x86, 0xb5, 0x6b, 0xc8, 0xa3, 0x1f, 0x1d
};
static const uint8_t chacha20poly1305_dec_key003[] = {
0x2d, 0xb0, 0x5d, 0x40, 0xc8, 0xed, 0x44, 0x88,
0x34, 0xd1, 0x13, 0xaf, 0x57, 0xa1, 0xeb, 0x3a,
0x2a, 0x80, 0x51, 0x36, 0xec, 0x5b, 0xbc, 0x08,
0x93, 0x84, 0x21, 0xb5, 0x13, 0x88, 0x3c, 0x0d
};
static const uint8_t chacha20poly1305_dec_input004[] = {
0xb7, 0x1b, 0xb0, 0x73, 0x59, 0xb0, 0x84, 0xb2,
0x6d, 0x8e, 0xab, 0x94, 0x31, 0xa1, 0xae, 0xac,
0x89
};
static const uint8_t chacha20poly1305_dec_output004[] = {
0xa4
};
static const uint8_t chacha20poly1305_dec_assoc004[] = {
0x6a, 0xe2, 0xad, 0x3f, 0x88, 0x39, 0x5a, 0x40
};
static const uint8_t chacha20poly1305_dec_nonce004[] = {
0xd2, 0x32, 0x1f, 0x29, 0x28, 0xc6, 0xc4, 0xc4
};
static const uint8_t chacha20poly1305_dec_key004[] = {
0x4b, 0x28, 0x4b, 0xa3, 0x7b, 0xbe, 0xe9, 0xf8,
0x31, 0x80, 0x82, 0xd7, 0xd8, 0xe8, 0xb5, 0xa1,
0xe2, 0x18, 0x18, 0x8a, 0x9c, 0xfa, 0xa3, 0x3d,
0x25, 0x71, 0x3e, 0x40, 0xbc, 0x54, 0x7a, 0x3e
};
static const uint8_t chacha20poly1305_dec_input005[] = {
0xbf, 0xe1, 0x5b, 0x0b, 0xdb, 0x6b, 0xf5, 0x5e,
0x6c, 0x5d, 0x84, 0x44, 0x39, 0x81, 0xc1, 0x9c,
0xac
};
static const uint8_t chacha20poly1305_dec_output005[] = {
0x2d
};
static const uint8_t chacha20poly1305_dec_assoc005[] = { };
static const uint8_t chacha20poly1305_dec_nonce005[] = {
0x20, 0x1c, 0xaa, 0x5f, 0x9c, 0xbf, 0x92, 0x30
};
static const uint8_t chacha20poly1305_dec_key005[] = {
0x66, 0xca, 0x9c, 0x23, 0x2a, 0x4b, 0x4b, 0x31,
0x0e, 0x92, 0x89, 0x8b, 0xf4, 0x93, 0xc7, 0x87,
0x98, 0xa3, 0xd8, 0x39, 0xf8, 0xf4, 0xa7, 0x01,
0xc0, 0x2e, 0x0a, 0xa6, 0x7e, 0x5a, 0x78, 0x87
};
static const uint8_t chacha20poly1305_dec_input006[] = {
0x8b, 0x06, 0xd3, 0x31, 0xb0, 0x93, 0x45, 0xb1,
0x75, 0x6e, 0x26, 0xf9, 0x67, 0xbc, 0x90, 0x15,
0x81, 0x2c, 0xb5, 0xf0, 0xc6, 0x2b, 0xc7, 0x8c,
0x56, 0xd1, 0xbf, 0x69, 0x6c, 0x07, 0xa0, 0xda,
0x65, 0x27, 0xc9, 0x90, 0x3d, 0xef, 0x4b, 0x11,
0x0f, 0x19, 0x07, 0xfd, 0x29, 0x92, 0xd9, 0xc8,
0xf7, 0x99, 0x2e, 0x4a, 0xd0, 0xb8, 0x2c, 0xdc,
0x93, 0xf5, 0x9e, 0x33, 0x78, 0xd1, 0x37, 0xc3,
0x66, 0xd7, 0x5e, 0xbc, 0x44, 0xbf, 0x53, 0xa5,
0xbc, 0xc4, 0xcb, 0x7b, 0x3a, 0x8e, 0x7f, 0x02,
0xbd, 0xbb, 0xe7, 0xca, 0xa6, 0x6c, 0x6b, 0x93,
0x21, 0x93, 0x10, 0x61, 0xe7, 0x69, 0xd0, 0x78,
0xf3, 0x07, 0x5a, 0x1a, 0x8f, 0x73, 0xaa, 0xb1,
0x4e, 0xd3, 0xda, 0x4f, 0xf3, 0x32, 0xe1, 0x66,
0x3e, 0x6c, 0xc6, 0x13, 0xba, 0x06, 0x5b, 0xfc,
0x6a, 0xe5, 0x6f, 0x60, 0xfb, 0x07, 0x40, 0xb0,
0x8c, 0x9d, 0x84, 0x43, 0x6b, 0xc1, 0xf7, 0x8d,
0x8d, 0x31, 0xf7, 0x7a, 0x39, 0x4d, 0x8f, 0x9a,
0xeb
};
static const uint8_t chacha20poly1305_dec_output006[] = {
0x33, 0x2f, 0x94, 0xc1, 0xa4, 0xef, 0xcc, 0x2a,
0x5b, 0xa6, 0xe5, 0x8f, 0x1d, 0x40, 0xf0, 0x92,
0x3c, 0xd9, 0x24, 0x11, 0xa9, 0x71, 0xf9, 0x37,
0x14, 0x99, 0xfa, 0xbe, 0xe6, 0x80, 0xde, 0x50,
0xc9, 0x96, 0xd4, 0xb0, 0xec, 0x9e, 0x17, 0xec,
0xd2, 0x5e, 0x72, 0x99, 0xfc, 0x0a, 0xe1, 0xcb,
0x48, 0xd2, 0x85, 0xdd, 0x2f, 0x90, 0xe0, 0x66,
0x3b, 0xe6, 0x20, 0x74, 0xbe, 0x23, 0x8f, 0xcb,
0xb4, 0xe4, 0xda, 0x48, 0x40, 0xa6, 0xd1, 0x1b,
0xc7, 0x42, 0xce, 0x2f, 0x0c, 0xa6, 0x85, 0x6e,
0x87, 0x37, 0x03, 0xb1, 0x7c, 0x25, 0x96, 0xa3,
0x05, 0xd8, 0xb0, 0xf4, 0xed, 0xea, 0xc2, 0xf0,
0x31, 0x98, 0x6c, 0xd1, 0x14, 0x25, 0xc0, 0xcb,
0x01, 0x74, 0xd0, 0x82, 0xf4, 0x36, 0xf5, 0x41,
0xd5, 0xdc, 0xca, 0xc5, 0xbb, 0x98, 0xfe, 0xfc,
0x69, 0x21, 0x70, 0xd8, 0xa4, 0x4b, 0xc8, 0xde,
0x8f
};
static const uint8_t chacha20poly1305_dec_assoc006[] = {
0x70, 0xd3, 0x33, 0xf3, 0x8b, 0x18, 0x0b
};
static const uint8_t chacha20poly1305_dec_nonce006[] = {
0xdf, 0x51, 0x84, 0x82, 0x42, 0x0c, 0x75, 0x9c
};
static const uint8_t chacha20poly1305_dec_key006[] = {
0x68, 0x7b, 0x8d, 0x8e, 0xe3, 0xc4, 0xdd, 0xae,
0xdf, 0x72, 0x7f, 0x53, 0x72, 0x25, 0x1e, 0x78,
0x91, 0xcb, 0x69, 0x76, 0x1f, 0x49, 0x93, 0xf9,
0x6f, 0x21, 0xcc, 0x39, 0x9c, 0xad, 0xb1, 0x01
};
static const uint8_t chacha20poly1305_dec_input007[] = {
0x85, 0x04, 0xc2, 0xed, 0x8d, 0xfd, 0x97, 0x5c,
0xd2, 0xb7, 0xe2, 0xc1, 0x6b, 0xa3, 0xba, 0xf8,
0xc9, 0x50, 0xc3, 0xc6, 0xa5, 0xe3, 0xa4, 0x7c,
0xc3, 0x23, 0x49, 0x5e, 0xa9, 0xb9, 0x32, 0xeb,
0x8a, 0x7c, 0xca, 0xe5, 0xec, 0xfb, 0x7c, 0xc0,
0xcb, 0x7d, 0xdc, 0x2c, 0x9d, 0x92, 0x55, 0x21,
0x0a, 0xc8, 0x43, 0x63, 0x59, 0x0a, 0x31, 0x70,
0x82, 0x67, 0x41, 0x03, 0xf8, 0xdf, 0xf2, 0xac,
0xa7, 0x02, 0xd4, 0xd5, 0x8a, 0x2d, 0xc8, 0x99,
0x19, 0x66, 0xd0, 0xf6, 0x88, 0x2c, 0x77, 0xd9,
0xd4, 0x0d, 0x6c, 0xbd, 0x98, 0xde, 0xe7, 0x7f,
0xad, 0x7e, 0x8a, 0xfb, 0xe9, 0x4b, 0xe5, 0xf7,
0xe5, 0x50, 0xa0, 0x90, 0x3f, 0xd6, 0x22, 0x53,
0xe3, 0xfe, 0x1b, 0xcc, 0x79, 0x3b, 0xec, 0x12,
0x47, 0x52, 0xa7, 0xd6, 0x04, 0xe3, 0x52, 0xe6,
0x93, 0x90, 0x91, 0x32, 0x73, 0x79, 0xb8, 0xd0,
0x31, 0xde, 0x1f, 0x9f, 0x2f, 0x05, 0x38, 0x54,
0x2f, 0x35, 0x04, 0x39, 0xe0, 0xa7, 0xba, 0xc6,
0x52, 0xf6, 0x37, 0x65, 0x4c, 0x07, 0xa9, 0x7e,
0xb3, 0x21, 0x6f, 0x74, 0x8c, 0xc9, 0xde, 0xdb,
0x65, 0x1b, 0x9b, 0xaa, 0x60, 0xb1, 0x03, 0x30,
0x6b, 0xb2, 0x03, 0xc4, 0x1c, 0x04, 0xf8, 0x0f,
0x64, 0xaf, 0x46, 0xe4, 0x65, 0x99, 0x49, 0xe2,
0xea, 0xce, 0x78, 0x00, 0xd8, 0x8b, 0xd5, 0x2e,
0xcf, 0xfc, 0x40, 0x49, 0xe8, 0x58, 0xdc, 0x34,
0x9c, 0x8c, 0x61, 0xbf, 0x0a, 0x8e, 0xec, 0x39,
0xa9, 0x30, 0x05, 0x5a, 0xd2, 0x56, 0x01, 0xc7,
0xda, 0x8f, 0x4e, 0xbb, 0x43, 0xa3, 0x3a, 0xf9,
0x15, 0x2a, 0xd0, 0xa0, 0x7a, 0x87, 0x34, 0x82,
0xfe, 0x8a, 0xd1, 0x2d, 0x5e, 0xc7, 0xbf, 0x04,
0x53, 0x5f, 0x3b, 0x36, 0xd4, 0x25, 0x5c, 0x34,
0x7a, 0x8d, 0xd5, 0x05, 0xce, 0x72, 0xca, 0xef,
0x7a, 0x4b, 0xbc, 0xb0, 0x10, 0x5c, 0x96, 0x42,
0x3a, 0x00, 0x98, 0xcd, 0x15, 0xe8, 0xb7, 0x53
};
static const uint8_t chacha20poly1305_dec_output007[] = {
0x9b, 0x18, 0xdb, 0xdd, 0x9a, 0x0f, 0x3e, 0xa5,
0x15, 0x17, 0xde, 0xdf, 0x08, 0x9d, 0x65, 0x0a,
0x67, 0x30, 0x12, 0xe2, 0x34, 0x77, 0x4b, 0xc1,
0xd9, 0xc6, 0x1f, 0xab, 0xc6, 0x18, 0x50, 0x17,
0xa7, 0x9d, 0x3c, 0xa6, 0xc5, 0x35, 0x8c, 0x1c,
0xc0, 0xa1, 0x7c, 0x9f, 0x03, 0x89, 0xca, 0xe1,
0xe6, 0xe9, 0xd4, 0xd3, 0x88, 0xdb, 0xb4, 0x51,
0x9d, 0xec, 0xb4, 0xfc, 0x52, 0xee, 0x6d, 0xf1,
0x75, 0x42, 0xc6, 0xfd, 0xbd, 0x7a, 0x8e, 0x86,
0xfc, 0x44, 0xb3, 0x4f, 0xf3, 0xea, 0x67, 0x5a,
0x41, 0x13, 0xba, 0xb0, 0xdc, 0xe1, 0xd3, 0x2a,
0x7c, 0x22, 0xb3, 0xca, 0xac, 0x6a, 0x37, 0x98,
0x3e, 0x1d, 0x40, 0x97, 0xf7, 0x9b, 0x1d, 0x36,
0x6b, 0xb3, 0x28, 0xbd, 0x60, 0x82, 0x47, 0x34,
0xaa, 0x2f, 0x7d, 0xe9, 0xa8, 0x70, 0x81, 0x57,
0xd4, 0xb9, 0x77, 0x0a, 0x9d, 0x29, 0xa7, 0x84,
0x52, 0x4f, 0xc2, 0x4a, 0x40, 0x3b, 0x3c, 0xd4,
0xc9, 0x2a, 0xdb, 0x4a, 0x53, 0xc4, 0xbe, 0x80,
0xe9, 0x51, 0x7f, 0x8f, 0xc7, 0xa2, 0xce, 0x82,
0x5c, 0x91, 0x1e, 0x74, 0xd9, 0xd0, 0xbd, 0xd5,
0xf3, 0xfd, 0xda, 0x4d, 0x25, 0xb4, 0xbb, 0x2d,
0xac, 0x2f, 0x3d, 0x71, 0x85, 0x7b, 0xcf, 0x3c,
0x7b, 0x3e, 0x0e, 0x22, 0x78, 0x0c, 0x29, 0xbf,
0xe4, 0xf4, 0x57, 0xb3, 0xcb, 0x49, 0xa0, 0xfc,
0x1e, 0x05, 0x4e, 0x16, 0xbc, 0xd5, 0xa8, 0xa3,
0xee, 0x05, 0x35, 0xc6, 0x7c, 0xab, 0x60, 0x14,
0x55, 0x1a, 0x8e, 0xc5, 0x88, 0x5d, 0xd5, 0x81,
0xc2, 0x81, 0xa5, 0xc4, 0x60, 0xdb, 0xaf, 0x77,
0x91, 0xe1, 0xce, 0xa2, 0x7e, 0x7f, 0x42, 0xe3,
0xb0, 0x13, 0x1c, 0x1f, 0x25, 0x60, 0x21, 0xe2,
0x40, 0x5f, 0x99, 0xb7, 0x73, 0xec, 0x9b, 0x2b,
0xf0, 0x65, 0x11, 0xc8, 0xd0, 0x0a, 0x9f, 0xd3
};
static const uint8_t chacha20poly1305_dec_assoc007[] = { };
static const uint8_t chacha20poly1305_dec_nonce007[] = {
0xde, 0x7b, 0xef, 0xc3, 0x65, 0x1b, 0x68, 0xb0
};
static const uint8_t chacha20poly1305_dec_key007[] = {
0x8d, 0xb8, 0x91, 0x48, 0xf0, 0xe7, 0x0a, 0xbd,
0xf9, 0x3f, 0xcd, 0xd9, 0xa0, 0x1e, 0x42, 0x4c,
0xe7, 0xde, 0x25, 0x3d, 0xa3, 0xd7, 0x05, 0x80,
0x8d, 0xf2, 0x82, 0xac, 0x44, 0x16, 0x51, 0x01
};
static const uint8_t chacha20poly1305_dec_input008[] = {
0x14, 0xf6, 0x41, 0x37, 0xa6, 0xd4, 0x27, 0xcd,
0xdb, 0x06, 0x3e, 0x9a, 0x4e, 0xab, 0xd5, 0xb1,
0x1e, 0x6b, 0xd2, 0xbc, 0x11, 0xf4, 0x28, 0x93,
0x63, 0x54, 0xef, 0xbb, 0x5e, 0x1d, 0x3a, 0x1d,
0x37, 0x3c, 0x0a, 0x6c, 0x1e, 0xc2, 0xd1, 0x2c,
0xb5, 0xa3, 0xb5, 0x7b, 0xb8, 0x8f, 0x25, 0xa6,
0x1b, 0x61, 0x1c, 0xec, 0x28, 0x58, 0x26, 0xa4,
0xa8, 0x33, 0x28, 0x25, 0x5c, 0x45, 0x05, 0xe5,
0x6c, 0x99, 0xe5, 0x45, 0xc4, 0xa2, 0x03, 0x84,
0x03, 0x73, 0x1e, 0x8c, 0x49, 0xac, 0x20, 0xdd,
0x8d, 0xb3, 0xc4, 0xf5, 0xe7, 0x4f, 0xf1, 0xed,
0xa1, 0x98, 0xde, 0xa4, 0x96, 0xdd, 0x2f, 0xab,
0xab, 0x97, 0xcf, 0x3e, 0xd2, 0x9e, 0xb8, 0x13,
0x07, 0x28, 0x29, 0x19, 0xaf, 0xfd, 0xf2, 0x49,
0x43, 0xea, 0x49, 0x26, 0x91, 0xc1, 0x07, 0xd6,
0xbb, 0x81, 0x75, 0x35, 0x0d, 0x24, 0x7f, 0xc8,
0xda, 0xd4, 0xb7, 0xeb, 0xe8, 0x5c, 0x09, 0xa2,
0x2f, 0xdc, 0x28, 0x7d, 0x3a, 0x03, 0xfa, 0x94,
0xb5, 0x1d, 0x17, 0x99, 0x36, 0xc3, 0x1c, 0x18,
0x34, 0xe3, 0x9f, 0xf5, 0x55, 0x7c, 0xb0, 0x60,
0x9d, 0xff, 0xac, 0xd4, 0x61, 0xf2, 0xad, 0xf8,
0xce, 0xc7, 0xbe, 0x5c, 0xd2, 0x95, 0xa8, 0x4b,
0x77, 0x13, 0x19, 0x59, 0x26, 0xc9, 0xb7, 0x8f,
0x6a, 0xcb, 0x2d, 0x37, 0x91, 0xea, 0x92, 0x9c,
0x94, 0x5b, 0xda, 0x0b, 0xce, 0xfe, 0x30, 0x20,
0xf8, 0x51, 0xad, 0xf2, 0xbe, 0xe7, 0xc7, 0xff,
0xb3, 0x33, 0x91, 0x6a, 0xc9, 0x1a, 0x41, 0xc9,
0x0f, 0xf3, 0x10, 0x0e, 0xfd, 0x53, 0xff, 0x6c,
0x16, 0x52, 0xd9, 0xf3, 0xf7, 0x98, 0x2e, 0xc9,
0x07, 0x31, 0x2c, 0x0c, 0x72, 0xd7, 0xc5, 0xc6,
0x08, 0x2a, 0x7b, 0xda, 0xbd, 0x7e, 0x02, 0xea,
0x1a, 0xbb, 0xf2, 0x04, 0x27, 0x61, 0x28, 0x8e,
0xf5, 0x04, 0x03, 0x1f, 0x4c, 0x07, 0x55, 0x82,
0xec, 0x1e, 0xd7, 0x8b, 0x2f, 0x65, 0x56, 0xd1,
0xd9, 0x1e, 0x3c, 0xe9, 0x1f, 0x5e, 0x98, 0x70,
0x38, 0x4a, 0x8c, 0x49, 0xc5, 0x43, 0xa0, 0xa1,
0x8b, 0x74, 0x9d, 0x4c, 0x62, 0x0d, 0x10, 0x0c,
0xf4, 0x6c, 0x8f, 0xe0, 0xaa, 0x9a, 0x8d, 0xb7,
0xe0, 0xbe, 0x4c, 0x87, 0xf1, 0x98, 0x2f, 0xcc,
0xed, 0xc0, 0x52, 0x29, 0xdc, 0x83, 0xf8, 0xfc,
0x2c, 0x0e, 0xa8, 0x51, 0x4d, 0x80, 0x0d, 0xa3,
0xfe, 0xd8, 0x37, 0xe7, 0x41, 0x24, 0xfc, 0xfb,
0x75, 0xe3, 0x71, 0x7b, 0x57, 0x45, 0xf5, 0x97,
0x73, 0x65, 0x63, 0x14, 0x74, 0xb8, 0x82, 0x9f,
0xf8, 0x60, 0x2f, 0x8a, 0xf2, 0x4e, 0xf1, 0x39,
0xda, 0x33, 0x91, 0xf8, 0x36, 0xe0, 0x8d, 0x3f,
0x1f, 0x3b, 0x56, 0xdc, 0xa0, 0x8f, 0x3c, 0x9d,
0x71, 0x52, 0xa7, 0xb8, 0xc0, 0xa5, 0xc6, 0xa2,
0x73, 0xda, 0xf4, 0x4b, 0x74, 0x5b, 0x00, 0x3d,
0x99, 0xd7, 0x96, 0xba, 0xe6, 0xe1, 0xa6, 0x96,
0x38, 0xad, 0xb3, 0xc0, 0xd2, 0xba, 0x91, 0x6b,
0xf9, 0x19, 0xdd, 0x3b, 0xbe, 0xbe, 0x9c, 0x20,
0x50, 0xba, 0xa1, 0xd0, 0xce, 0x11, 0xbd, 0x95,
0xd8, 0xd1, 0xdd, 0x33, 0x85, 0x74, 0xdc, 0xdb,
0x66, 0x76, 0x44, 0xdc, 0x03, 0x74, 0x48, 0x35,
0x98, 0xb1, 0x18, 0x47, 0x94, 0x7d, 0xff, 0x62,
0xe4, 0x58, 0x78, 0xab, 0xed, 0x95, 0x36, 0xd9,
0x84, 0x91, 0x82, 0x64, 0x41, 0xbb, 0x58, 0xe6,
0x1c, 0x20, 0x6d, 0x15, 0x6b, 0x13, 0x96, 0xe8,
0x35, 0x7f, 0xdc, 0x40, 0x2c, 0xe9, 0xbc, 0x8a,
0x4f, 0x92, 0xec, 0x06, 0x2d, 0x50, 0xdf, 0x93,
0x5d, 0x65, 0x5a, 0xa8, 0xfc, 0x20, 0x50, 0x14,
0xa9, 0x8a, 0x7e, 0x1d, 0x08, 0x1f, 0xe2, 0x99,
0xd0, 0xbe, 0xfb, 0x3a, 0x21, 0x9d, 0xad, 0x86,
0x54, 0xfd, 0x0d, 0x98, 0x1c, 0x5a, 0x6f, 0x1f,
0x9a, 0x40, 0xcd, 0xa2, 0xff, 0x6a, 0xf1, 0x54
};
static const uint8_t chacha20poly1305_dec_output008[] = {
0xc3, 0x09, 0x94, 0x62, 0xe6, 0x46, 0x2e, 0x10,
0xbe, 0x00, 0xe4, 0xfc, 0xf3, 0x40, 0xa3, 0xe2,
0x0f, 0xc2, 0x8b, 0x28, 0xdc, 0xba, 0xb4, 0x3c,
0xe4, 0x21, 0x58, 0x61, 0xcd, 0x8b, 0xcd, 0xfb,
0xac, 0x94, 0xa1, 0x45, 0xf5, 0x1c, 0xe1, 0x12,
0xe0, 0x3b, 0x67, 0x21, 0x54, 0x5e, 0x8c, 0xaa,
0xcf, 0xdb, 0xb4, 0x51, 0xd4, 0x13, 0xda, 0xe6,
0x83, 0x89, 0xb6, 0x92, 0xe9, 0x21, 0x76, 0xa4,
0x93, 0x7d, 0x0e, 0xfd, 0x96, 0x36, 0x03, 0x91,
0x43, 0x5c, 0x92, 0x49, 0x62, 0x61, 0x7b, 0xeb,
0x43, 0x89, 0xb8, 0x12, 0x20, 0x43, 0xd4, 0x47,
0x06, 0x84, 0xee, 0x47, 0xe9, 0x8a, 0x73, 0x15,
0x0f, 0x72, 0xcf, 0xed, 0xce, 0x96, 0xb2, 0x7f,
0x21, 0x45, 0x76, 0xeb, 0x26, 0x28, 0x83, 0x6a,
0xad, 0xaa, 0xa6, 0x81, 0xd8, 0x55, 0xb1, 0xa3,
0x85, 0xb3, 0x0c, 0xdf, 0xf1, 0x69, 0x2d, 0x97,
0x05, 0x2a, 0xbc, 0x7c, 0x7b, 0x25, 0xf8, 0x80,
0x9d, 0x39, 0x25, 0xf3, 0x62, 0xf0, 0x66, 0x5e,
0xf4, 0xa0, 0xcf, 0xd8, 0xfd, 0x4f, 0xb1, 0x1f,
0x60, 0x3a, 0x08, 0x47, 0xaf, 0xe1, 0xf6, 0x10,
0x77, 0x09, 0xa7, 0x27, 0x8f, 0x9a, 0x97, 0x5a,
0x26, 0xfa, 0xfe, 0x41, 0x32, 0x83, 0x10, 0xe0,
0x1d, 0xbf, 0x64, 0x0d, 0xf4, 0x1c, 0x32, 0x35,
0xe5, 0x1b, 0x36, 0xef, 0xd4, 0x4a, 0x93, 0x4d,
0x00, 0x7c, 0xec, 0x02, 0x07, 0x8b, 0x5d, 0x7d,
0x1b, 0x0e, 0xd1, 0xa6, 0xa5, 0x5d, 0x7d, 0x57,
0x88, 0xa8, 0xcc, 0x81, 0xb4, 0x86, 0x4e, 0xb4,
0x40, 0xe9, 0x1d, 0xc3, 0xb1, 0x24, 0x3e, 0x7f,
0xcc, 0x8a, 0x24, 0x9b, 0xdf, 0x6d, 0xf0, 0x39,
0x69, 0x3e, 0x4c, 0xc0, 0x96, 0xe4, 0x13, 0xda,
0x90, 0xda, 0xf4, 0x95, 0x66, 0x8b, 0x17, 0x17,
0xfe, 0x39, 0x43, 0x25, 0xaa, 0xda, 0xa0, 0x43,
0x3c, 0xb1, 0x41, 0x02, 0xa3, 0xf0, 0xa7, 0x19,
0x59, 0xbc, 0x1d, 0x7d, 0x6c, 0x6d, 0x91, 0x09,
0x5c, 0xb7, 0x5b, 0x01, 0xd1, 0x6f, 0x17, 0x21,
0x97, 0xbf, 0x89, 0x71, 0xa5, 0xb0, 0x6e, 0x07,
0x45, 0xfd, 0x9d, 0xea, 0x07, 0xf6, 0x7a, 0x9f,
0x10, 0x18, 0x22, 0x30, 0x73, 0xac, 0xd4, 0x6b,
0x72, 0x44, 0xed, 0xd9, 0x19, 0x9b, 0x2d, 0x4a,
0x41, 0xdd, 0xd1, 0x85, 0x5e, 0x37, 0x19, 0xed,
0xd2, 0x15, 0x8f, 0x5e, 0x91, 0xdb, 0x33, 0xf2,
0xe4, 0xdb, 0xff, 0x98, 0xfb, 0xa3, 0xb5, 0xca,
0x21, 0x69, 0x08, 0xe7, 0x8a, 0xdf, 0x90, 0xff,
0x3e, 0xe9, 0x20, 0x86, 0x3c, 0xe9, 0xfc, 0x0b,
0xfe, 0x5c, 0x61, 0xaa, 0x13, 0x92, 0x7f, 0x7b,
0xec, 0xe0, 0x6d, 0xa8, 0x23, 0x22, 0xf6, 0x6b,
0x77, 0xc4, 0xfe, 0x40, 0x07, 0x3b, 0xb6, 0xf6,
0x8e, 0x5f, 0xd4, 0xb9, 0xb7, 0x0f, 0x21, 0x04,
0xef, 0x83, 0x63, 0x91, 0x69, 0x40, 0xa3, 0x48,
0x5c, 0xd2, 0x60, 0xf9, 0x4f, 0x6c, 0x47, 0x8b,
0x3b, 0xb1, 0x9f, 0x8e, 0xee, 0x16, 0x8a, 0x13,
0xfc, 0x46, 0x17, 0xc3, 0xc3, 0x32, 0x56, 0xf8,
0x3c, 0x85, 0x3a, 0xb6, 0x3e, 0xaa, 0x89, 0x4f,
0xb3, 0xdf, 0x38, 0xfd, 0xf1, 0xe4, 0x3a, 0xc0,
0xe6, 0x58, 0xb5, 0x8f, 0xc5, 0x29, 0xa2, 0x92,
0x4a, 0xb6, 0xa0, 0x34, 0x7f, 0xab, 0xb5, 0x8a,
0x90, 0xa1, 0xdb, 0x4d, 0xca, 0xb6, 0x2c, 0x41,
0x3c, 0xf7, 0x2b, 0x21, 0xc3, 0xfd, 0xf4, 0x17,
0x5c, 0xb5, 0x33, 0x17, 0x68, 0x2b, 0x08, 0x30,
0xf3, 0xf7, 0x30, 0x3c, 0x96, 0xe6, 0x6a, 0x20,
0x97, 0xe7, 0x4d, 0x10, 0x5f, 0x47, 0x5f, 0x49,
0x96, 0x09, 0xf0, 0x27, 0x91, 0xc8, 0xf8, 0x5a,
0x2e, 0x79, 0xb5, 0xe2, 0xb8, 0xe8, 0xb9, 0x7b,
0xd5, 0x10, 0xcb, 0xff, 0x5d, 0x14, 0x73, 0xf3
};
static const uint8_t chacha20poly1305_dec_assoc008[] = { };
static const uint8_t chacha20poly1305_dec_nonce008[] = {
0x0e, 0x0d, 0x57, 0xbb, 0x7b, 0x40, 0x54, 0x02
};
static const uint8_t chacha20poly1305_dec_key008[] = {
0xf2, 0xaa, 0x4f, 0x99, 0xfd, 0x3e, 0xa8, 0x53,
0xc1, 0x44, 0xe9, 0x81, 0x18, 0xdc, 0xf5, 0xf0,
0x3e, 0x44, 0x15, 0x59, 0xe0, 0xc5, 0x44, 0x86,
0xc3, 0x91, 0xa8, 0x75, 0xc0, 0x12, 0x46, 0xba
};
static const uint8_t chacha20poly1305_dec_input009[] = {
0xfd, 0x81, 0x8d, 0xd0, 0x3d, 0xb4, 0xd5, 0xdf,
0xd3, 0x42, 0x47, 0x5a, 0x6d, 0x19, 0x27, 0x66,
0x4b, 0x2e, 0x0c, 0x27, 0x9c, 0x96, 0x4c, 0x72,
0x02, 0xa3, 0x65, 0xc3, 0xb3, 0x6f, 0x2e, 0xbd,
0x63, 0x8a, 0x4a, 0x5d, 0x29, 0xa2, 0xd0, 0x28,
0x48, 0xc5, 0x3d, 0x98, 0xa3, 0xbc, 0xe0, 0xbe,
0x3b, 0x3f, 0xe6, 0x8a, 0xa4, 0x7f, 0x53, 0x06,
0xfa, 0x7f, 0x27, 0x76, 0x72, 0x31, 0xa1, 0xf5,
0xd6, 0x0c, 0x52, 0x47, 0xba, 0xcd, 0x4f, 0xd7,
0xeb, 0x05, 0x48, 0x0d, 0x7c, 0x35, 0x4a, 0x09,
0xc9, 0x76, 0x71, 0x02, 0xa3, 0xfb, 0xb7, 0x1a,
0x65, 0xb7, 0xed, 0x98, 0xc6, 0x30, 0x8a, 0x00,
0xae, 0xa1, 0x31, 0xe5, 0xb5, 0x9e, 0x6d, 0x62,
0xda, 0xda, 0x07, 0x0f, 0x38, 0x38, 0xd3, 0xcb,
0xc1, 0xb0, 0xad, 0xec, 0x72, 0xec, 0xb1, 0xa2,
0x7b, 0x59, 0xf3, 0x3d, 0x2b, 0xef, 0xcd, 0x28,
0x5b, 0x83, 0xcc, 0x18, 0x91, 0x88, 0xb0, 0x2e,
0xf9, 0x29, 0x31, 0x18, 0xf9, 0x4e, 0xe9, 0x0a,
0x91, 0x92, 0x9f, 0xae, 0x2d, 0xad, 0xf4, 0xe6,
0x1a, 0xe2, 0xa4, 0xee, 0x47, 0x15, 0xbf, 0x83,
0x6e, 0xd7, 0x72, 0x12, 0x3b, 0x2d, 0x24, 0xe9,
0xb2, 0x55, 0xcb, 0x3c, 0x10, 0xf0, 0x24, 0x8a,
0x4a, 0x02, 0xea, 0x90, 0x25, 0xf0, 0xb4, 0x79,
0x3a, 0xef, 0x6e, 0xf5, 0x52, 0xdf, 0xb0, 0x0a,
0xcd, 0x24, 0x1c, 0xd3, 0x2e, 0x22, 0x74, 0xea,
0x21, 0x6f, 0xe9, 0xbd, 0xc8, 0x3e, 0x36, 0x5b,
0x19, 0xf1, 0xca, 0x99, 0x0a, 0xb4, 0xa7, 0x52,
0x1a, 0x4e, 0xf2, 0xad, 0x8d, 0x56, 0x85, 0xbb,
0x64, 0x89, 0xba, 0x26, 0xf9, 0xc7, 0xe1, 0x89,
0x19, 0x22, 0x77, 0xc3, 0xa8, 0xfc, 0xff, 0xad,
0xfe, 0xb9, 0x48, 0xae, 0x12, 0x30, 0x9f, 0x19,
0xfb, 0x1b, 0xef, 0x14, 0x87, 0x8a, 0x78, 0x71,
0xf3, 0xf4, 0xb7, 0x00, 0x9c, 0x1d, 0xb5, 0x3d,
0x49, 0x00, 0x0c, 0x06, 0xd4, 0x50, 0xf9, 0x54,
0x45, 0xb2, 0x5b, 0x43, 0xdb, 0x6d, 0xcf, 0x1a,
0xe9, 0x7a, 0x7a, 0xcf, 0xfc, 0x8a, 0x4e, 0x4d,
0x0b, 0x07, 0x63, 0x28, 0xd8, 0xe7, 0x08, 0x95,
0xdf, 0xa6, 0x72, 0x93, 0x2e, 0xbb, 0xa0, 0x42,
0x89, 0x16, 0xf1, 0xd9, 0x0c, 0xf9, 0xa1, 0x16,
0xfd, 0xd9, 0x03, 0xb4, 0x3b, 0x8a, 0xf5, 0xf6,
0xe7, 0x6b, 0x2e, 0x8e, 0x4c, 0x3d, 0xe2, 0xaf,
0x08, 0x45, 0x03, 0xff, 0x09, 0xb6, 0xeb, 0x2d,
0xc6, 0x1b, 0x88, 0x94, 0xac, 0x3e, 0xf1, 0x9f,
0x0e, 0x0e, 0x2b, 0xd5, 0x00, 0x4d, 0x3f, 0x3b,
0x53, 0xae, 0xaf, 0x1c, 0x33, 0x5f, 0x55, 0x6e,
0x8d, 0xaf, 0x05, 0x7a, 0x10, 0x34, 0xc9, 0xf4,
0x66, 0xcb, 0x62, 0x12, 0xa6, 0xee, 0xe8, 0x1c,
0x5d, 0x12, 0x86, 0xdb, 0x6f, 0x1c, 0x33, 0xc4,
0x1c, 0xda, 0x82, 0x2d, 0x3b, 0x59, 0xfe, 0xb1,
0xa4, 0x59, 0x41, 0x86, 0xd0, 0xef, 0xae, 0xfb,
0xda, 0x6d, 0x11, 0xb8, 0xca, 0xe9, 0x6e, 0xff,
0xf7, 0xa9, 0xd9, 0x70, 0x30, 0xfc, 0x53, 0xe2,
0xd7, 0xa2, 0x4e, 0xc7, 0x91, 0xd9, 0x07, 0x06,
0xaa, 0xdd, 0xb0, 0x59, 0x28, 0x1d, 0x00, 0x66,
0xc5, 0x54, 0xc2, 0xfc, 0x06, 0xda, 0x05, 0x90,
0x52, 0x1d, 0x37, 0x66, 0xee, 0xf0, 0xb2, 0x55,
0x8a, 0x5d, 0xd2, 0x38, 0x86, 0x94, 0x9b, 0xfc,
0x10, 0x4c, 0xa1, 0xb9, 0x64, 0x3e, 0x44, 0xb8,
0x5f, 0xb0, 0x0c, 0xec, 0xe0, 0xc9, 0xe5, 0x62,
0x75, 0x3f, 0x09, 0xd5, 0xf5, 0xd9, 0x26, 0xba,
0x9e, 0xd2, 0xf4, 0xb9, 0x48, 0x0a, 0xbc, 0xa2,
0xd6, 0x7c, 0x36, 0x11, 0x7d, 0x26, 0x81, 0x89,
0xcf, 0xa4, 0xad, 0x73, 0x0e, 0xee, 0xcc, 0x06,
0xa9, 0xdb, 0xb1, 0xfd, 0xfb, 0x09, 0x7f, 0x90,
0x42, 0x37, 0x2f, 0xe1, 0x9c, 0x0f, 0x6f, 0xcf,
0x43, 0xb5, 0xd9, 0x90, 0xe1, 0x85, 0xf5, 0xa8,
0xae
};
static const uint8_t chacha20poly1305_dec_output009[] = {
0xe6, 0xc3, 0xdb, 0x63, 0x55, 0x15, 0xe3, 0x5b,
0xb7, 0x4b, 0x27, 0x8b, 0x5a, 0xdd, 0xc2, 0xe8,
0x3a, 0x6b, 0xd7, 0x81, 0x96, 0x35, 0x97, 0xca,
0xd7, 0x68, 0xe8, 0xef, 0xce, 0xab, 0xda, 0x09,
0x6e, 0xd6, 0x8e, 0xcb, 0x55, 0xb5, 0xe1, 0xe5,
0x57, 0xfd, 0xc4, 0xe3, 0xe0, 0x18, 0x4f, 0x85,
0xf5, 0x3f, 0x7e, 0x4b, 0x88, 0xc9, 0x52, 0x44,
0x0f, 0xea, 0xaf, 0x1f, 0x71, 0x48, 0x9f, 0x97,
0x6d, 0xb9, 0x6f, 0x00, 0xa6, 0xde, 0x2b, 0x77,
0x8b, 0x15, 0xad, 0x10, 0xa0, 0x2b, 0x7b, 0x41,
0x90, 0x03, 0x2d, 0x69, 0xae, 0xcc, 0x77, 0x7c,
0xa5, 0x9d, 0x29, 0x22, 0xc2, 0xea, 0xb4, 0x00,
0x1a, 0xd2, 0x7a, 0x98, 0x8a, 0xf9, 0xf7, 0x82,
0xb0, 0xab, 0xd8, 0xa6, 0x94, 0x8d, 0x58, 0x2f,
0x01, 0x9e, 0x00, 0x20, 0xfc, 0x49, 0xdc, 0x0e,
0x03, 0xe8, 0x45, 0x10, 0xd6, 0xa8, 0xda, 0x55,
0x10, 0x9a, 0xdf, 0x67, 0x22, 0x8b, 0x43, 0xab,
0x00, 0xbb, 0x02, 0xc8, 0xdd, 0x7b, 0x97, 0x17,
0xd7, 0x1d, 0x9e, 0x02, 0x5e, 0x48, 0xde, 0x8e,
0xcf, 0x99, 0x07, 0x95, 0x92, 0x3c, 0x5f, 0x9f,
0xc5, 0x8a, 0xc0, 0x23, 0xaa, 0xd5, 0x8c, 0x82,
0x6e, 0x16, 0x92, 0xb1, 0x12, 0x17, 0x07, 0xc3,
0xfb, 0x36, 0xf5, 0x6c, 0x35, 0xd6, 0x06, 0x1f,
0x9f, 0xa7, 0x94, 0xa2, 0x38, 0x63, 0x9c, 0xb0,
0x71, 0xb3, 0xa5, 0xd2, 0xd8, 0xba, 0x9f, 0x08,
0x01, 0xb3, 0xff, 0x04, 0x97, 0x73, 0x45, 0x1b,
0xd5, 0xa9, 0x9c, 0x80, 0xaf, 0x04, 0x9a, 0x85,
0xdb, 0x32, 0x5b, 0x5d, 0x1a, 0xc1, 0x36, 0x28,
0x10, 0x79, 0xf1, 0x3c, 0xbf, 0x1a, 0x41, 0x5c,
0x4e, 0xdf, 0xb2, 0x7c, 0x79, 0x3b, 0x7a, 0x62,
0x3d, 0x4b, 0xc9, 0x9b, 0x2a, 0x2e, 0x7c, 0xa2,
0xb1, 0x11, 0x98, 0xa7, 0x34, 0x1a, 0x00, 0xf3,
0xd1, 0xbc, 0x18, 0x22, 0xba, 0x02, 0x56, 0x62,
0x31, 0x10, 0x11, 0x6d, 0xe0, 0x54, 0x9d, 0x40,
0x1f, 0x26, 0x80, 0x41, 0xca, 0x3f, 0x68, 0x0f,
0x32, 0x1d, 0x0a, 0x8e, 0x79, 0xd8, 0xa4, 0x1b,
0x29, 0x1c, 0x90, 0x8e, 0xc5, 0xe3, 0xb4, 0x91,
0x37, 0x9a, 0x97, 0x86, 0x99, 0xd5, 0x09, 0xc5,
0xbb, 0xa3, 0x3f, 0x21, 0x29, 0x82, 0x14, 0x5c,
0xab, 0x25, 0xfb, 0xf2, 0x4f, 0x58, 0x26, 0xd4,
0x83, 0xaa, 0x66, 0x89, 0x67, 0x7e, 0xc0, 0x49,
0xe1, 0x11, 0x10, 0x7f, 0x7a, 0xda, 0x29, 0x04,
0xff, 0xf0, 0xcb, 0x09, 0x7c, 0x9d, 0xfa, 0x03,
0x6f, 0x81, 0x09, 0x31, 0x60, 0xfb, 0x08, 0xfa,
0x74, 0xd3, 0x64, 0x44, 0x7c, 0x55, 0x85, 0xec,
0x9c, 0x6e, 0x25, 0xb7, 0x6c, 0xc5, 0x37, 0xb6,
0x83, 0x87, 0x72, 0x95, 0x8b, 0x9d, 0xe1, 0x69,
0x5c, 0x31, 0x95, 0x42, 0xa6, 0x2c, 0xd1, 0x36,
0x47, 0x1f, 0xec, 0x54, 0xab, 0xa2, 0x1c, 0xd8,
0x00, 0xcc, 0xbc, 0x0d, 0x65, 0xe2, 0x67, 0xbf,
0xbc, 0xea, 0xee, 0x9e, 0xe4, 0x36, 0x95, 0xbe,
0x73, 0xd9, 0xa6, 0xd9, 0x0f, 0xa0, 0xcc, 0x82,
0x76, 0x26, 0xad, 0x5b, 0x58, 0x6c, 0x4e, 0xab,
0x29, 0x64, 0xd3, 0xd9, 0xa9, 0x08, 0x8c, 0x1d,
0xa1, 0x4f, 0x80, 0xd8, 0x3f, 0x94, 0xfb, 0xd3,
0x7b, 0xfc, 0xd1, 0x2b, 0xc3, 0x21, 0xeb, 0xe5,
0x1c, 0x84, 0x23, 0x7f, 0x4b, 0xfa, 0xdb, 0x34,
0x18, 0xa2, 0xc2, 0xe5, 0x13, 0xfe, 0x6c, 0x49,
0x81, 0xd2, 0x73, 0xe7, 0xe2, 0xd7, 0xe4, 0x4f,
0x4b, 0x08, 0x6e, 0xb1, 0x12, 0x22, 0x10, 0x9d,
0xac, 0x51, 0x1e, 0x17, 0xd9, 0x8a, 0x0b, 0x42,
0x88, 0x16, 0x81, 0x37, 0x7c, 0x6a, 0xf7, 0xef,
0x2d, 0xe3, 0xd9, 0xf8, 0x5f, 0xe0, 0x53, 0x27,
0x74, 0xb9, 0xe2, 0xd6, 0x1c, 0x80, 0x2c, 0x52,
0x65
};
static const uint8_t chacha20poly1305_dec_assoc009[] = {
0x5a, 0x27, 0xff, 0xeb, 0xdf, 0x84, 0xb2, 0x9e,
0xef
};
static const uint8_t chacha20poly1305_dec_nonce009[] = {
0xef, 0x2d, 0x63, 0xee, 0x6b, 0x80, 0x8b, 0x78
};
static const uint8_t chacha20poly1305_dec_key009[] = {
0xea, 0xbc, 0x56, 0x99, 0xe3, 0x50, 0xff, 0xc5,
0xcc, 0x1a, 0xd7, 0xc1, 0x57, 0x72, 0xea, 0x86,
0x5b, 0x89, 0x88, 0x61, 0x3d, 0x2f, 0x9b, 0xb2,
0xe7, 0x9c, 0xec, 0x74, 0x6e, 0x3e, 0xf4, 0x3b
};
static const uint8_t chacha20poly1305_dec_input010[] = {
0xe5, 0x26, 0xa4, 0x3d, 0xbd, 0x33, 0xd0, 0x4b,
0x6f, 0x05, 0xa7, 0x6e, 0x12, 0x7a, 0xd2, 0x74,
0xa6, 0xdd, 0xbd, 0x95, 0xeb, 0xf9, 0xa4, 0xf1,
0x59, 0x93, 0x91, 0x70, 0xd9, 0xfe, 0x9a, 0xcd,
0x53, 0x1f, 0x3a, 0xab, 0xa6, 0x7c, 0x9f, 0xa6,
0x9e, 0xbd, 0x99, 0xd9, 0xb5, 0x97, 0x44, 0xd5,
0x14, 0x48, 0x4d, 0x9d, 0xc0, 0xd0, 0x05, 0x96,
0xeb, 0x4c, 0x78, 0x55, 0x09, 0x08, 0x01, 0x02,
0x30, 0x90, 0x7b, 0x96, 0x7a, 0x7b, 0x5f, 0x30,
0x41, 0x24, 0xce, 0x68, 0x61, 0x49, 0x86, 0x57,
0x82, 0xdd, 0x53, 0x1c, 0x51, 0x28, 0x2b, 0x53,
0x6e, 0x2d, 0xc2, 0x20, 0x4c, 0xdd, 0x8f, 0x65,
0x10, 0x20, 0x50, 0xdd, 0x9d, 0x50, 0xe5, 0x71,
0x40, 0x53, 0x69, 0xfc, 0x77, 0x48, 0x11, 0xb9,
0xde, 0xa4, 0x8d, 0x58, 0xe4, 0xa6, 0x1a, 0x18,
0x47, 0x81, 0x7e, 0xfc, 0xdd, 0xf6, 0xef, 0xce,
0x2f, 0x43, 0x68, 0xd6, 0x06, 0xe2, 0x74, 0x6a,
0xad, 0x90, 0xf5, 0x37, 0xf3, 0x3d, 0x82, 0x69,
0x40, 0xe9, 0x6b, 0xa7, 0x3d, 0xa8, 0x1e, 0xd2,
0x02, 0x7c, 0xb7, 0x9b, 0xe4, 0xda, 0x8f, 0x95,
0x06, 0xc5, 0xdf, 0x73, 0xa3, 0x20, 0x9a, 0x49,
0xde, 0x9c, 0xbc, 0xee, 0x14, 0x3f, 0x81, 0x5e,
0xf8, 0x3b, 0x59, 0x3c, 0xe1, 0x68, 0x12, 0x5a,
0x3a, 0x76, 0x3a, 0x3f, 0xf7, 0x87, 0x33, 0x0a,
0x01, 0xb8, 0xd4, 0xed, 0xb6, 0xbe, 0x94, 0x5e,
0x70, 0x40, 0x56, 0x67, 0x1f, 0x50, 0x44, 0x19,
0xce, 0x82, 0x70, 0x10, 0x87, 0x13, 0x20, 0x0b,
0x4c, 0x5a, 0xb6, 0xf6, 0xa7, 0xae, 0x81, 0x75,
0x01, 0x81, 0xe6, 0x4b, 0x57, 0x7c, 0xdd, 0x6d,
0xf8, 0x1c, 0x29, 0x32, 0xf7, 0xda, 0x3c, 0x2d,
0xf8, 0x9b, 0x25, 0x6e, 0x00, 0xb4, 0xf7, 0x2f,
0xf7, 0x04, 0xf7, 0xa1, 0x56, 0xac, 0x4f, 0x1a,
0x64, 0xb8, 0x47, 0x55, 0x18, 0x7b, 0x07, 0x4d,
0xbd, 0x47, 0x24, 0x80, 0x5d, 0xa2, 0x70, 0xc5,
0xdd, 0x8e, 0x82, 0xd4, 0xeb, 0xec, 0xb2, 0x0c,
0x39, 0xd2, 0x97, 0xc1, 0xcb, 0xeb, 0xf4, 0x77,
0x59, 0xb4, 0x87, 0xef, 0xcb, 0x43, 0x2d, 0x46,
0x54, 0xd1, 0xa7, 0xd7, 0x15, 0x99, 0x0a, 0x43,
0xa1, 0xe0, 0x99, 0x33, 0x71, 0xc1, 0xed, 0xfe,
0x72, 0x46, 0x33, 0x8e, 0x91, 0x08, 0x9f, 0xc8,
0x2e, 0xca, 0xfa, 0xdc, 0x59, 0xd5, 0xc3, 0x76,
0x84, 0x9f, 0xa3, 0x37, 0x68, 0xc3, 0xf0, 0x47,
0x2c, 0x68, 0xdb, 0x5e, 0xc3, 0x49, 0x4c, 0xe8,
0x92, 0x85, 0xe2, 0x23, 0xd3, 0x3f, 0xad, 0x32,
0xe5, 0x2b, 0x82, 0xd7, 0x8f, 0x99, 0x0a, 0x59,
0x5c, 0x45, 0xd9, 0xb4, 0x51, 0x52, 0xc2, 0xae,
0xbf, 0x80, 0xcf, 0xc9, 0xc9, 0x51, 0x24, 0x2a,
0x3b, 0x3a, 0x4d, 0xae, 0xeb, 0xbd, 0x22, 0xc3,
0x0e, 0x0f, 0x59, 0x25, 0x92, 0x17, 0xe9, 0x74,
0xc7, 0x8b, 0x70, 0x70, 0x36, 0x55, 0x95, 0x75,
0x4b, 0xad, 0x61, 0x2b, 0x09, 0xbc, 0x82, 0xf2,
0x6e, 0x94, 0x43, 0xae, 0xc3, 0xd5, 0xcd, 0x8e,
0xfe, 0x5b, 0x9a, 0x88, 0x43, 0x01, 0x75, 0xb2,
0x23, 0x09, 0xf7, 0x89, 0x83, 0xe7, 0xfa, 0xf9,
0xb4, 0x9b, 0xf8, 0xef, 0xbd, 0x1c, 0x92, 0xc1,
0xda, 0x7e, 0xfe, 0x05, 0xba, 0x5a, 0xcd, 0x07,
0x6a, 0x78, 0x9e, 0x5d, 0xfb, 0x11, 0x2f, 0x79,
0x38, 0xb6, 0xc2, 0x5b, 0x6b, 0x51, 0xb4, 0x71,
0xdd, 0xf7, 0x2a, 0xe4, 0xf4, 0x72, 0x76, 0xad,
0xc2, 0xdd, 0x64, 0x5d, 0x79, 0xb6, 0xf5, 0x7a,
0x77, 0x20, 0x05, 0x3d, 0x30, 0x06, 0xd4, 0x4c,
0x0a, 0x2c, 0x98, 0x5a, 0xb9, 0xd4, 0x98, 0xa9,
0x3f, 0xc6, 0x12, 0xea, 0x3b, 0x4b, 0xc5, 0x79,
0x64, 0x63, 0x6b, 0x09, 0x54, 0x3b, 0x14, 0x27,
0xba, 0x99, 0x80, 0xc8, 0x72, 0xa8, 0x12, 0x90,
0x29, 0xba, 0x40, 0x54, 0x97, 0x2b, 0x7b, 0xfe,
0xeb, 0xcd, 0x01, 0x05, 0x44, 0x72, 0xdb, 0x99,
0xe4, 0x61, 0xc9, 0x69, 0xd6, 0xb9, 0x28, 0xd1,
0x05, 0x3e, 0xf9, 0x0b, 0x49, 0x0a, 0x49, 0xe9,
0x8d, 0x0e, 0xa7, 0x4a, 0x0f, 0xaf, 0x32, 0xd0,
0xe0, 0xb2, 0x3a, 0x55, 0x58, 0xfe, 0x5c, 0x28,
0x70, 0x51, 0x23, 0xb0, 0x7b, 0x6a, 0x5f, 0x1e,
0xb8, 0x17, 0xd7, 0x94, 0x15, 0x8f, 0xee, 0x20,
0xc7, 0x42, 0x25, 0x3e, 0x9a, 0x14, 0xd7, 0x60,
0x72, 0x39, 0x47, 0x48, 0xa9, 0xfe, 0xdd, 0x47,
0x0a, 0xb1, 0xe6, 0x60, 0x28, 0x8c, 0x11, 0x68,
0xe1, 0xff, 0xd7, 0xce, 0xc8, 0xbe, 0xb3, 0xfe,
0x27, 0x30, 0x09, 0x70, 0xd7, 0xfa, 0x02, 0x33,
0x3a, 0x61, 0x2e, 0xc7, 0xff, 0xa4, 0x2a, 0xa8,
0x6e, 0xb4, 0x79, 0x35, 0x6d, 0x4c, 0x1e, 0x38,
0xf8, 0xee, 0xd4, 0x84, 0x4e, 0x6e, 0x28, 0xa7,
0xce, 0xc8, 0xc1, 0xcf, 0x80, 0x05, 0xf3, 0x04,
0xef, 0xc8, 0x18, 0x28, 0x2e, 0x8d, 0x5e, 0x0c,
0xdf, 0xb8, 0x5f, 0x96, 0xe8, 0xc6, 0x9c, 0x2f,
0xe5, 0xa6, 0x44, 0xd7, 0xe7, 0x99, 0x44, 0x0c,
0xec, 0xd7, 0x05, 0x60, 0x97, 0xbb, 0x74, 0x77,
0x58, 0xd5, 0xbb, 0x48, 0xde, 0x5a, 0xb2, 0x54,
0x7f, 0x0e, 0x46, 0x70, 0x6a, 0x6f, 0x78, 0xa5,
0x08, 0x89, 0x05, 0x4e, 0x7e, 0xa0, 0x69, 0xb4,
0x40, 0x60, 0x55, 0x77, 0x75, 0x9b, 0x19, 0xf2,
0xd5, 0x13, 0x80, 0x77, 0xf9, 0x4b, 0x3f, 0x1e,
0xee, 0xe6, 0x76, 0x84, 0x7b, 0x8c, 0xe5, 0x27,
0xa8, 0x0a, 0x91, 0x01, 0x68, 0x71, 0x8a, 0x3f,
0x06, 0xab, 0xf6, 0xa9, 0xa5, 0xe6, 0x72, 0x92,
0xe4, 0x67, 0xe2, 0xa2, 0x46, 0x35, 0x84, 0x55,
0x7d, 0xca, 0xa8, 0x85, 0xd0, 0xf1, 0x3f, 0xbe,
0xd7, 0x34, 0x64, 0xfc, 0xae, 0xe3, 0xe4, 0x04,
0x9f, 0x66, 0x02, 0xb9, 0x88, 0x10, 0xd9, 0xc4,
0x4c, 0x31, 0x43, 0x7a, 0x93, 0xe2, 0x9b, 0x56,
0x43, 0x84, 0xdc, 0xdc, 0xde, 0x1d, 0xa4, 0x02,
0x0e, 0xc2, 0xef, 0xc3, 0xf8, 0x78, 0xd1, 0xb2,
0x6b, 0x63, 0x18, 0xc9, 0xa9, 0xe5, 0x72, 0xd8,
0xf3, 0xb9, 0xd1, 0x8a, 0xc7, 0x1a, 0x02, 0x27,
0x20, 0x77, 0x10, 0xe5, 0xc8, 0xd4, 0x4a, 0x47,
0xe5, 0xdf, 0x5f, 0x01, 0xaa, 0xb0, 0xd4, 0x10,
0xbb, 0x69, 0xe3, 0x36, 0xc8, 0xe1, 0x3d, 0x43,
0xfb, 0x86, 0xcd, 0xcc, 0xbf, 0xf4, 0x88, 0xe0,
0x20, 0xca, 0xb7, 0x1b, 0xf1, 0x2f, 0x5c, 0xee,
0xd4, 0xd3, 0xa3, 0xcc, 0xa4, 0x1e, 0x1c, 0x47,
0xfb, 0xbf, 0xfc, 0xa2, 0x41, 0x55, 0x9d, 0xf6,
0x5a, 0x5e, 0x65, 0x32, 0x34, 0x7b, 0x52, 0x8d,
0xd5, 0xd0, 0x20, 0x60, 0x03, 0xab, 0x3f, 0x8c,
0xd4, 0x21, 0xea, 0x2a, 0xd9, 0xc4, 0xd0, 0xd3,
0x65, 0xd8, 0x7a, 0x13, 0x28, 0x62, 0x32, 0x4b,
0x2c, 0x87, 0x93, 0xa8, 0xb4, 0x52, 0x45, 0x09,
0x44, 0xec, 0xec, 0xc3, 0x17, 0xdb, 0x9a, 0x4d,
0x5c, 0xa9, 0x11, 0xd4, 0x7d, 0xaf, 0x9e, 0xf1,
0x2d, 0xb2, 0x66, 0xc5, 0x1d, 0xed, 0xb7, 0xcd,
0x0b, 0x25, 0x5e, 0x30, 0x47, 0x3f, 0x40, 0xf4,
0xa1, 0xa0, 0x00, 0x94, 0x10, 0xc5, 0x6a, 0x63,
0x1a, 0xd5, 0x88, 0x92, 0x8e, 0x82, 0x39, 0x87,
0x3c, 0x78, 0x65, 0x58, 0x42, 0x75, 0x5b, 0xdd,
0x77, 0x3e, 0x09, 0x4e, 0x76, 0x5b, 0xe6, 0x0e,
0x4d, 0x38, 0xb2, 0xc0, 0xb8, 0x95, 0x01, 0x7a,
0x10, 0xe0, 0xfb, 0x07, 0xf2, 0xab, 0x2d, 0x8c,
0x32, 0xed, 0x2b, 0xc0, 0x46, 0xc2, 0xf5, 0x38,
0x83, 0xf0, 0x17, 0xec, 0xc1, 0x20, 0x6a, 0x9a,
0x0b, 0x00, 0xa0, 0x98, 0x22, 0x50, 0x23, 0xd5,
0x80, 0x6b, 0xf6, 0x1f, 0xc3, 0xcc, 0x97, 0xc9,
0x24, 0x9f, 0xf3, 0xaf, 0x43, 0x14, 0xd5, 0xa0
};
static const uint8_t chacha20poly1305_dec_output010[] = {
0x42, 0x93, 0xe4, 0xeb, 0x97, 0xb0, 0x57, 0xbf,
0x1a, 0x8b, 0x1f, 0xe4, 0x5f, 0x36, 0x20, 0x3c,
0xef, 0x0a, 0xa9, 0x48, 0x5f, 0x5f, 0x37, 0x22,
0x3a, 0xde, 0xe3, 0xae, 0xbe, 0xad, 0x07, 0xcc,
0xb1, 0xf6, 0xf5, 0xf9, 0x56, 0xdd, 0xe7, 0x16,
0x1e, 0x7f, 0xdf, 0x7a, 0x9e, 0x75, 0xb7, 0xc7,
0xbe, 0xbe, 0x8a, 0x36, 0x04, 0xc0, 0x10, 0xf4,
0x95, 0x20, 0x03, 0xec, 0xdc, 0x05, 0xa1, 0x7d,
0xc4, 0xa9, 0x2c, 0x82, 0xd0, 0xbc, 0x8b, 0xc5,
0xc7, 0x45, 0x50, 0xf6, 0xa2, 0x1a, 0xb5, 0x46,
0x3b, 0x73, 0x02, 0xa6, 0x83, 0x4b, 0x73, 0x82,
0x58, 0x5e, 0x3b, 0x65, 0x2f, 0x0e, 0xfd, 0x2b,
0x59, 0x16, 0xce, 0xa1, 0x60, 0x9c, 0xe8, 0x3a,
0x99, 0xed, 0x8d, 0x5a, 0xcf, 0xf6, 0x83, 0xaf,
0xba, 0xd7, 0x73, 0x73, 0x40, 0x97, 0x3d, 0xca,
0xef, 0x07, 0x57, 0xe6, 0xd9, 0x70, 0x0e, 0x95,
0xae, 0xa6, 0x8d, 0x04, 0xcc, 0xee, 0xf7, 0x09,
0x31, 0x77, 0x12, 0xa3, 0x23, 0x97, 0x62, 0xb3,
0x7b, 0x32, 0xfb, 0x80, 0x14, 0x48, 0x81, 0xc3,
0xe5, 0xea, 0x91, 0x39, 0x52, 0x81, 0xa2, 0x4f,
0xe4, 0xb3, 0x09, 0xff, 0xde, 0x5e, 0xe9, 0x58,
0x84, 0x6e, 0xf9, 0x3d, 0xdf, 0x25, 0xea, 0xad,
0xae, 0xe6, 0x9a, 0xd1, 0x89, 0x55, 0xd3, 0xde,
0x6c, 0x52, 0xdb, 0x70, 0xfe, 0x37, 0xce, 0x44,
0x0a, 0xa8, 0x25, 0x5f, 0x92, 0xc1, 0x33, 0x4a,
0x4f, 0x9b, 0x62, 0x35, 0xff, 0xce, 0xc0, 0xa9,
0x60, 0xce, 0x52, 0x00, 0x97, 0x51, 0x35, 0x26,
0x2e, 0xb9, 0x36, 0xa9, 0x87, 0x6e, 0x1e, 0xcc,
0x91, 0x78, 0x53, 0x98, 0x86, 0x5b, 0x9c, 0x74,
0x7d, 0x88, 0x33, 0xe1, 0xdf, 0x37, 0x69, 0x2b,
0xbb, 0xf1, 0x4d, 0xf4, 0xd1, 0xf1, 0x39, 0x93,
0x17, 0x51, 0x19, 0xe3, 0x19, 0x1e, 0x76, 0x37,
0x25, 0xfb, 0x09, 0x27, 0x6a, 0xab, 0x67, 0x6f,
0x14, 0x12, 0x64, 0xe7, 0xc4, 0x07, 0xdf, 0x4d,
0x17, 0xbb, 0x6d, 0xe0, 0xe9, 0xb9, 0xab, 0xca,
0x10, 0x68, 0xaf, 0x7e, 0xb7, 0x33, 0x54, 0x73,
0x07, 0x6e, 0xf7, 0x81, 0x97, 0x9c, 0x05, 0x6f,
0x84, 0x5f, 0xd2, 0x42, 0xfb, 0x38, 0xcf, 0xd1,
0x2f, 0x14, 0x30, 0x88, 0x98, 0x4d, 0x5a, 0xa9,
0x76, 0xd5, 0x4f, 0x3e, 0x70, 0x6c, 0x85, 0x76,
0xd7, 0x01, 0xa0, 0x1a, 0xc8, 0x4e, 0xaa, 0xac,
0x78, 0xfe, 0x46, 0xde, 0x6a, 0x05, 0x46, 0xa7,
0x43, 0x0c, 0xb9, 0xde, 0xb9, 0x68, 0xfb, 0xce,
0x42, 0x99, 0x07, 0x4d, 0x0b, 0x3b, 0x5a, 0x30,
0x35, 0xa8, 0xf9, 0x3a, 0x73, 0xef, 0x0f, 0xdb,
0x1e, 0x16, 0x42, 0xc4, 0xba, 0xae, 0x58, 0xaa,
0xf8, 0xe5, 0x75, 0x2f, 0x1b, 0x15, 0x5c, 0xfd,
0x0a, 0x97, 0xd0, 0xe4, 0x37, 0x83, 0x61, 0x5f,
0x43, 0xa6, 0xc7, 0x3f, 0x38, 0x59, 0xe6, 0xeb,
0xa3, 0x90, 0xc3, 0xaa, 0xaa, 0x5a, 0xd3, 0x34,
0xd4, 0x17, 0xc8, 0x65, 0x3e, 0x57, 0xbc, 0x5e,
0xdd, 0x9e, 0xb7, 0xf0, 0x2e, 0x5b, 0xb2, 0x1f,
0x8a, 0x08, 0x0d, 0x45, 0x91, 0x0b, 0x29, 0x53,
0x4f, 0x4c, 0x5a, 0x73, 0x56, 0xfe, 0xaf, 0x41,
0x01, 0x39, 0x0a, 0x24, 0x3c, 0x7e, 0xbe, 0x4e,
0x53, 0xf3, 0xeb, 0x06, 0x66, 0x51, 0x28, 0x1d,
0xbd, 0x41, 0x0a, 0x01, 0xab, 0x16, 0x47, 0x27,
0x47, 0x47, 0xf7, 0xcb, 0x46, 0x0a, 0x70, 0x9e,
0x01, 0x9c, 0x09, 0xe1, 0x2a, 0x00, 0x1a, 0xd8,
0xd4, 0x79, 0x9d, 0x80, 0x15, 0x8e, 0x53, 0x2a,
0x65, 0x83, 0x78, 0x3e, 0x03, 0x00, 0x07, 0x12,
0x1f, 0x33, 0x3e, 0x7b, 0x13, 0x37, 0xf1, 0xc3,
0xef, 0xb7, 0xc1, 0x20, 0x3c, 0x3e, 0x67, 0x66,
0x5d, 0x88, 0xa7, 0x7d, 0x33, 0x50, 0x77, 0xb0,
0x28, 0x8e, 0xe7, 0x2c, 0x2e, 0x7a, 0xf4, 0x3c,
0x8d, 0x74, 0x83, 0xaf, 0x8e, 0x87, 0x0f, 0xe4,
0x50, 0xff, 0x84, 0x5c, 0x47, 0x0c, 0x6a, 0x49,
0xbf, 0x42, 0x86, 0x77, 0x15, 0x48, 0xa5, 0x90,
0x5d, 0x93, 0xd6, 0x2a, 0x11, 0xd5, 0xd5, 0x11,
0xaa, 0xce, 0xe7, 0x6f, 0xa5, 0xb0, 0x09, 0x2c,
0x8d, 0xd3, 0x92, 0xf0, 0x5a, 0x2a, 0xda, 0x5b,
0x1e, 0xd5, 0x9a, 0xc4, 0xc4, 0xf3, 0x49, 0x74,
0x41, 0xca, 0xe8, 0xc1, 0xf8, 0x44, 0xd6, 0x3c,
0xae, 0x6c, 0x1d, 0x9a, 0x30, 0x04, 0x4d, 0x27,
0x0e, 0xb1, 0x5f, 0x59, 0xa2, 0x24, 0xe8, 0xe1,
0x98, 0xc5, 0x6a, 0x4c, 0xfe, 0x41, 0xd2, 0x27,
0x42, 0x52, 0xe1, 0xe9, 0x7d, 0x62, 0xe4, 0x88,
0x0f, 0xad, 0xb2, 0x70, 0xcb, 0x9d, 0x4c, 0x27,
0x2e, 0x76, 0x1e, 0x1a, 0x63, 0x65, 0xf5, 0x3b,
0xf8, 0x57, 0x69, 0xeb, 0x5b, 0x38, 0x26, 0x39,
0x33, 0x25, 0x45, 0x3e, 0x91, 0xb8, 0xd8, 0xc7,
0xd5, 0x42, 0xc0, 0x22, 0x31, 0x74, 0xf4, 0xbc,
0x0c, 0x23, 0xf1, 0xca, 0xc1, 0x8d, 0xd7, 0xbe,
0xc9, 0x62, 0xe4, 0x08, 0x1a, 0xcf, 0x36, 0xd5,
0xfe, 0x55, 0x21, 0x59, 0x91, 0x87, 0x87, 0xdf,
0x06, 0xdb, 0xdf, 0x96, 0x45, 0x58, 0xda, 0x05,
0xcd, 0x50, 0x4d, 0xd2, 0x7d, 0x05, 0x18, 0x73,
0x6a, 0x8d, 0x11, 0x85, 0xa6, 0x88, 0xe8, 0xda,
0xe6, 0x30, 0x33, 0xa4, 0x89, 0x31, 0x75, 0xbe,
0x69, 0x43, 0x84, 0x43, 0x50, 0x87, 0xdd, 0x71,
0x36, 0x83, 0xc3, 0x78, 0x74, 0x24, 0x0a, 0xed,
0x7b, 0xdb, 0xa4, 0x24, 0x0b, 0xb9, 0x7e, 0x5d,
0xff, 0xde, 0xb1, 0xef, 0x61, 0x5a, 0x45, 0x33,
0xf6, 0x17, 0x07, 0x08, 0x98, 0x83, 0x92, 0x0f,
0x23, 0x6d, 0xe6, 0xaa, 0x17, 0x54, 0xad, 0x6a,
0xc8, 0xdb, 0x26, 0xbe, 0xb8, 0xb6, 0x08, 0xfa,
0x68, 0xf1, 0xd7, 0x79, 0x6f, 0x18, 0xb4, 0x9e,
0x2d, 0x3f, 0x1b, 0x64, 0xaf, 0x8d, 0x06, 0x0e,
0x49, 0x28, 0xe0, 0x5d, 0x45, 0x68, 0x13, 0x87,
0xfa, 0xde, 0x40, 0x7b, 0xd2, 0xc3, 0x94, 0xd5,
0xe1, 0xd9, 0xc2, 0xaf, 0x55, 0x89, 0xeb, 0xb4,
0x12, 0x59, 0xa8, 0xd4, 0xc5, 0x29, 0x66, 0x38,
0xe6, 0xac, 0x22, 0x22, 0xd9, 0x64, 0x9b, 0x34,
0x0a, 0x32, 0x9f, 0xc2, 0xbf, 0x17, 0x6c, 0x3f,
0x71, 0x7a, 0x38, 0x6b, 0x98, 0xfb, 0x49, 0x36,
0x89, 0xc9, 0xe2, 0xd6, 0xc7, 0x5d, 0xd0, 0x69,
0x5f, 0x23, 0x35, 0xc9, 0x30, 0xe2, 0xfd, 0x44,
0x58, 0x39, 0xd7, 0x97, 0xfb, 0x5c, 0x00, 0xd5,
0x4f, 0x7a, 0x1a, 0x95, 0x8b, 0x62, 0x4b, 0xce,
0xe5, 0x91, 0x21, 0x7b, 0x30, 0x00, 0xd6, 0xdd,
0x6d, 0x02, 0x86, 0x49, 0x0f, 0x3c, 0x1a, 0x27,
0x3c, 0xd3, 0x0e, 0x71, 0xf2, 0xff, 0xf5, 0x2f,
0x87, 0xac, 0x67, 0x59, 0x81, 0xa3, 0xf7, 0xf8,
0xd6, 0x11, 0x0c, 0x84, 0xa9, 0x03, 0xee, 0x2a,
0xc4, 0xf3, 0x22, 0xab, 0x7c, 0xe2, 0x25, 0xf5,
0x67, 0xa3, 0xe4, 0x11, 0xe0, 0x59, 0xb3, 0xca,
0x87, 0xa0, 0xae, 0xc9, 0xa6, 0x62, 0x1b, 0x6e,
0x4d, 0x02, 0x6b, 0x07, 0x9d, 0xfd, 0xd0, 0x92,
0x06, 0xe1, 0xb2, 0x9a, 0x4a, 0x1f, 0x1f, 0x13,
0x49, 0x99, 0x97, 0x08, 0xde, 0x7f, 0x98, 0xaf,
0x51, 0x98, 0xee, 0x2c, 0xcb, 0xf0, 0x0b, 0xc6,
0xb6, 0xb7, 0x2d, 0x9a, 0xb1, 0xac, 0xa6, 0xe3,
0x15, 0x77, 0x9d, 0x6b, 0x1a, 0xe4, 0xfc, 0x8b,
0xf2, 0x17, 0x59, 0x08, 0x04, 0x58, 0x81, 0x9d,
0x1b, 0x1b, 0x69, 0x55, 0xc2, 0xb4, 0x3c, 0x1f,
0x50, 0xf1, 0x7f, 0x77, 0x90, 0x4c, 0x66, 0x40,
0x5a, 0xc0, 0x33, 0x1f, 0xcb, 0x05, 0x6d, 0x5c,
0x06, 0x87, 0x52, 0xa2, 0x8f, 0x26, 0xd5, 0x4f
};
static const uint8_t chacha20poly1305_dec_assoc010[] = {
0xd2, 0xa1, 0x70, 0xdb, 0x7a, 0xf8, 0xfa, 0x27,
0xba, 0x73, 0x0f, 0xbf, 0x3d, 0x1e, 0x82, 0xb2
};
static const uint8_t chacha20poly1305_dec_nonce010[] = {
0xdb, 0x92, 0x0f, 0x7f, 0x17, 0x54, 0x0c, 0x30
};
static const uint8_t chacha20poly1305_dec_key010[] = {
0x47, 0x11, 0xeb, 0x86, 0x2b, 0x2c, 0xab, 0x44,
0x34, 0xda, 0x7f, 0x57, 0x03, 0x39, 0x0c, 0xaf,
0x2c, 0x14, 0xfd, 0x65, 0x23, 0xe9, 0x8e, 0x74,
0xd5, 0x08, 0x68, 0x08, 0xe7, 0xb4, 0x72, 0xd7
};
static const uint8_t chacha20poly1305_dec_input011[] = {
0x6a, 0xfc, 0x4b, 0x25, 0xdf, 0xc0, 0xe4, 0xe8,
0x17, 0x4d, 0x4c, 0xc9, 0x7e, 0xde, 0x3a, 0xcc,
0x3c, 0xba, 0x6a, 0x77, 0x47, 0xdb, 0xe3, 0x74,
0x7a, 0x4d, 0x5f, 0x8d, 0x37, 0x55, 0x80, 0x73,
0x90, 0x66, 0x5d, 0x3a, 0x7d, 0x5d, 0x86, 0x5e,
0x8d, 0xfd, 0x83, 0xff, 0x4e, 0x74, 0x6f, 0xf9,
0xe6, 0x70, 0x17, 0x70, 0x3e, 0x96, 0xa7, 0x7e,
0xcb, 0xab, 0x8f, 0x58, 0x24, 0x9b, 0x01, 0xfd,
0xcb, 0xe6, 0x4d, 0x9b, 0xf0, 0x88, 0x94, 0x57,
0x66, 0xef, 0x72, 0x4c, 0x42, 0x6e, 0x16, 0x19,
0x15, 0xea, 0x70, 0x5b, 0xac, 0x13, 0xdb, 0x9f,
0x18, 0xe2, 0x3c, 0x26, 0x97, 0xbc, 0xdc, 0x45,
0x8c, 0x6c, 0x24, 0x69, 0x9c, 0xf7, 0x65, 0x1e,
0x18, 0x59, 0x31, 0x7c, 0xe4, 0x73, 0xbc, 0x39,
0x62, 0xc6, 0x5c, 0x9f, 0xbf, 0xfa, 0x90, 0x03,
0xc9, 0x72, 0x26, 0xb6, 0x1b, 0xc2, 0xb7, 0x3f,
0xf2, 0x13, 0x77, 0xf2, 0x8d, 0xb9, 0x47, 0xd0,
0x53, 0xdd, 0xc8, 0x91, 0x83, 0x8b, 0xb1, 0xce,
0xa3, 0xfe, 0xcd, 0xd9, 0xdd, 0x92, 0x7b, 0xdb,
0xb8, 0xfb, 0xc9, 0x2d, 0x01, 0x59, 0x39, 0x52,
0xad, 0x1b, 0xec, 0xcf, 0xd7, 0x70, 0x13, 0x21,
0xf5, 0x47, 0xaa, 0x18, 0x21, 0x5c, 0xc9, 0x9a,
0xd2, 0x6b, 0x05, 0x9c, 0x01, 0xa1, 0xda, 0x35,
0x5d, 0xb3, 0x70, 0xe6, 0xa9, 0x80, 0x8b, 0x91,
0xb7, 0xb3, 0x5f, 0x24, 0x9a, 0xb7, 0xd1, 0x6b,
0xa1, 0x1c, 0x50, 0xba, 0x49, 0xe0, 0xee, 0x2e,
0x75, 0xac, 0x69, 0xc0, 0xeb, 0x03, 0xdd, 0x19,
0xe5, 0xf6, 0x06, 0xdd, 0xc3, 0xd7, 0x2b, 0x07,
0x07, 0x30, 0xa7, 0x19, 0x0c, 0xbf, 0xe6, 0x18,
0xcc, 0xb1, 0x01, 0x11, 0x85, 0x77, 0x1d, 0x96,
0xa7, 0xa3, 0x00, 0x84, 0x02, 0xa2, 0x83, 0x68,
0xda, 0x17, 0x27, 0xc8, 0x7f, 0x23, 0xb7, 0xf4,
0x13, 0x85, 0xcf, 0xdd, 0x7a, 0x7d, 0x24, 0x57,
0xfe, 0x05, 0x93, 0xf5, 0x74, 0xce, 0xed, 0x0c,
0x20, 0x98, 0x8d, 0x92, 0x30, 0xa1, 0x29, 0x23,
0x1a, 0xa0, 0x4f, 0x69, 0x56, 0x4c, 0xe1, 0xc8,
0xce, 0xf6, 0x9a, 0x0c, 0xa4, 0xfa, 0x04, 0xf6,
0x62, 0x95, 0xf2, 0xfa, 0xc7, 0x40, 0x68, 0x40,
0x8f, 0x41, 0xda, 0xb4, 0x26, 0x6f, 0x70, 0xab,
0x40, 0x61, 0xa4, 0x0e, 0x75, 0xfb, 0x86, 0xeb,
0x9d, 0x9a, 0x1f, 0xec, 0x76, 0x99, 0xe7, 0xea,
0xaa, 0x1e, 0x2d, 0xb5, 0xd4, 0xa6, 0x1a, 0xb8,
0x61, 0x0a, 0x1d, 0x16, 0x5b, 0x98, 0xc2, 0x31,
0x40, 0xe7, 0x23, 0x1d, 0x66, 0x99, 0xc8, 0xc0,
0xd7, 0xce, 0xf3, 0x57, 0x40, 0x04, 0x3f, 0xfc,
0xea, 0xb3, 0xfc, 0xd2, 0xd3, 0x99, 0xa4, 0x94,
0x69, 0xa0, 0xef, 0xd1, 0x85, 0xb3, 0xa6, 0xb1,
0x28, 0xbf, 0x94, 0x67, 0x22, 0xc3, 0x36, 0x46,
0xf8, 0xd2, 0x0f, 0x5f, 0xf4, 0x59, 0x80, 0xe6,
0x2d, 0x43, 0x08, 0x7d, 0x19, 0x09, 0x97, 0xa7,
0x4c, 0x3d, 0x8d, 0xba, 0x65, 0x62, 0xa3, 0x71,
0x33, 0x29, 0x62, 0xdb, 0xc1, 0x33, 0x34, 0x1a,
0x63, 0x33, 0x16, 0xb6, 0x64, 0x7e, 0xab, 0x33,
0xf0, 0xe6, 0x26, 0x68, 0xba, 0x1d, 0x2e, 0x38,
0x08, 0xe6, 0x02, 0xd3, 0x25, 0x2c, 0x47, 0x23,
0x58, 0x34, 0x0f, 0x9d, 0x63, 0x4f, 0x63, 0xbb,
0x7f, 0x3b, 0x34, 0x38, 0xa7, 0xb5, 0x8d, 0x65,
0xd9, 0x9f, 0x79, 0x55, 0x3e, 0x4d, 0xe7, 0x73,
0xd8, 0xf6, 0x98, 0x97, 0x84, 0x60, 0x9c, 0xc8,
0xa9, 0x3c, 0xf6, 0xdc, 0x12, 0x5c, 0xe1, 0xbb,
0x0b, 0x8b, 0x98, 0x9c, 0x9d, 0x26, 0x7c, 0x4a,
0xe6, 0x46, 0x36, 0x58, 0x21, 0x4a, 0xee, 0xca,
0xd7, 0x3b, 0xc2, 0x6c, 0x49, 0x2f, 0xe5, 0xd5,
0x03, 0x59, 0x84, 0x53, 0xcb, 0xfe, 0x92, 0x71,
0x2e, 0x7c, 0x21, 0xcc, 0x99, 0x85, 0x7f, 0xb8,
0x74, 0x90, 0x13, 0x42, 0x3f, 0xe0, 0x6b, 0x1d,
0xf2, 0x4d, 0x54, 0xd4, 0xfc, 0x3a, 0x05, 0xe6,
0x74, 0xaf, 0xa6, 0xa0, 0x2a, 0x20, 0x23, 0x5d,
0x34, 0x5c, 0xd9, 0x3e, 0x4e, 0xfa, 0x93, 0xe7,
0xaa, 0xe9, 0x6f, 0x08, 0x43, 0x67, 0x41, 0xc5,
0xad, 0xfb, 0x31, 0x95, 0x82, 0x73, 0x32, 0xd8,
0xa6, 0xa3, 0xed, 0x0e, 0x2d, 0xf6, 0x5f, 0xfd,
0x80, 0xa6, 0x7a, 0xe0, 0xdf, 0x78, 0x15, 0x29,
0x74, 0x33, 0xd0, 0x9e, 0x83, 0x86, 0x72, 0x22,
0x57, 0x29, 0xb9, 0x9e, 0x5d, 0xd3, 0x1a, 0xb5,
0x96, 0x72, 0x41, 0x3d, 0xf1, 0x64, 0x43, 0x67,
0xee, 0xaa, 0x5c, 0xd3, 0x9a, 0x96, 0x13, 0x11,
0x5d, 0xf3, 0x0c, 0x87, 0x82, 0x1e, 0x41, 0x9e,
0xd0, 0x27, 0xd7, 0x54, 0x3b, 0x67, 0x73, 0x09,
0x91, 0xe9, 0xd5, 0x36, 0xa7, 0xb5, 0x55, 0xe4,
0xf3, 0x21, 0x51, 0x49, 0x22, 0x07, 0x55, 0x4f,
0x44, 0x4b, 0xd2, 0x15, 0x93, 0x17, 0x2a, 0xfa,
0x4d, 0x4a, 0x57, 0xdb, 0x4c, 0xa6, 0xeb, 0xec,
0x53, 0x25, 0x6c, 0x21, 0xed, 0x00, 0x4c, 0x3b,
0xca, 0x14, 0x57, 0xa9, 0xd6, 0x6a, 0xcd, 0x8d,
0x5e, 0x74, 0xac, 0x72, 0xc1, 0x97, 0xe5, 0x1b,
0x45, 0x4e, 0xda, 0xfc, 0xcc, 0x40, 0xe8, 0x48,
0x88, 0x0b, 0xa3, 0xe3, 0x8d, 0x83, 0x42, 0xc3,
0x23, 0xfd, 0x68, 0xb5, 0x8e, 0xf1, 0x9d, 0x63,
0x77, 0xe9, 0xa3, 0x8e, 0x8c, 0x26, 0x6b, 0xbd,
0x72, 0x73, 0x35, 0x0c, 0x03, 0xf8, 0x43, 0x78,
0x52, 0x71, 0x15, 0x1f, 0x71, 0x5d, 0x6e, 0xed,
0xb9, 0xcc, 0x86, 0x30, 0xdb, 0x2b, 0xd3, 0x82,
0x88, 0x23, 0x71, 0x90, 0x53, 0x5c, 0xa9, 0x2f,
0x76, 0x01, 0xb7, 0x9a, 0xfe, 0x43, 0x55, 0xa3,
0x04, 0x9b, 0x0e, 0xe4, 0x59, 0xdf, 0xc9, 0xe9,
0xb1, 0xea, 0x29, 0x28, 0x3c, 0x5c, 0xae, 0x72,
0x84, 0xb6, 0xc6, 0xeb, 0x0c, 0x27, 0x07, 0x74,
0x90, 0x0d, 0x31, 0xb0, 0x00, 0x77, 0xe9, 0x40,
0x70, 0x6f, 0x68, 0xa7, 0xfd, 0x06, 0xec, 0x4b,
0xc0, 0xb7, 0xac, 0xbc, 0x33, 0xb7, 0x6d, 0x0a,
0xbd, 0x12, 0x1b, 0x59, 0xcb, 0xdd, 0x32, 0xf5,
0x1d, 0x94, 0x57, 0x76, 0x9e, 0x0c, 0x18, 0x98,
0x71, 0xd7, 0x2a, 0xdb, 0x0b, 0x7b, 0xa7, 0x71,
0xb7, 0x67, 0x81, 0x23, 0x96, 0xae, 0xb9, 0x7e,
0x32, 0x43, 0x92, 0x8a, 0x19, 0xa0, 0xc4, 0xd4,
0x3b, 0x57, 0xf9, 0x4a, 0x2c, 0xfb, 0x51, 0x46,
0xbb, 0xcb, 0x5d, 0xb3, 0xef, 0x13, 0x93, 0x6e,
0x68, 0x42, 0x54, 0x57, 0xd3, 0x6a, 0x3a, 0x8f,
0x9d, 0x66, 0xbf, 0xbd, 0x36, 0x23, 0xf5, 0x93,
0x83, 0x7b, 0x9c, 0xc0, 0xdd, 0xc5, 0x49, 0xc0,
0x64, 0xed, 0x07, 0x12, 0xb3, 0xe6, 0xe4, 0xe5,
0x38, 0x95, 0x23, 0xb1, 0xa0, 0x3b, 0x1a, 0x61,
0xda, 0x17, 0xac, 0xc3, 0x58, 0xdd, 0x74, 0x64,
0x22, 0x11, 0xe8, 0x32, 0x1d, 0x16, 0x93, 0x85,
0x99, 0xa5, 0x9c, 0x34, 0x55, 0xb1, 0xe9, 0x20,
0x72, 0xc9, 0x28, 0x7b, 0x79, 0x00, 0xa1, 0xa6,
0xa3, 0x27, 0x40, 0x18, 0x8a, 0x54, 0xe0, 0xcc,
0xe8, 0x4e, 0x8e, 0x43, 0x96, 0xe7, 0x3f, 0xc8,
0xe9, 0xb2, 0xf9, 0xc9, 0xda, 0x04, 0x71, 0x50,
0x47, 0xe4, 0xaa, 0xce, 0xa2, 0x30, 0xc8, 0xe4,
0xac, 0xc7, 0x0d, 0x06, 0x2e, 0xe6, 0xe8, 0x80,
0x36, 0x29, 0x9e, 0x01, 0xb8, 0xc3, 0xf0, 0xa0,
0x5d, 0x7a, 0xca, 0x4d, 0xa0, 0x57, 0xbd, 0x2a,
0x45, 0xa7, 0x7f, 0x9c, 0x93, 0x07, 0x8f, 0x35,
0x67, 0x92, 0xe3, 0xe9, 0x7f, 0xa8, 0x61, 0x43,
0x9e, 0x25, 0x4f, 0x33, 0x76, 0x13, 0x6e, 0x12,
0xb9, 0xdd, 0xa4, 0x7c, 0x08, 0x9f, 0x7c, 0xe7,
0x0a, 0x8d, 0x84, 0x06, 0xa4, 0x33, 0x17, 0x34,
0x5e, 0x10, 0x7c, 0xc0, 0xa8, 0x3d, 0x1f, 0x42,
0x20, 0x51, 0x65, 0x5d, 0x09, 0xc3, 0xaa, 0xc0,
0xc8, 0x0d, 0xf0, 0x79, 0xbc, 0x20, 0x1b, 0x95,
0xe7, 0x06, 0x7d, 0x47, 0x20, 0x03, 0x1a, 0x74,
0xdd, 0xe2, 0xd4, 0xae, 0x38, 0x71, 0x9b, 0xf5,
0x80, 0xec, 0x08, 0x4e, 0x56, 0xba, 0x76, 0x12,
0x1a, 0xdf, 0x48, 0xf3, 0xae, 0xb3, 0xe6, 0xe6,
0xbe, 0xc0, 0x91, 0x2e, 0x01, 0xb3, 0x01, 0x86,
0xa2, 0xb9, 0x52, 0xd1, 0x21, 0xae, 0xd4, 0x97,
0x1d, 0xef, 0x41, 0x12, 0x95, 0x3d, 0x48, 0x45,
0x1c, 0x56, 0x32, 0x8f, 0xb8, 0x43, 0xbb, 0x19,
0xf3, 0xca, 0xe9, 0xeb, 0x6d, 0x84, 0xbe, 0x86,
0x06, 0xe2, 0x36, 0xb2, 0x62, 0x9d, 0xd3, 0x4c,
0x48, 0x18, 0x54, 0x13, 0x4e, 0xcf, 0xfd, 0xba,
0x84, 0xb9, 0x30, 0x53, 0xcf, 0xfb, 0xb9, 0x29,
0x8f, 0xdc, 0x9f, 0xef, 0x60, 0x0b, 0x64, 0xf6,
0x8b, 0xee, 0xa6, 0x91, 0xc2, 0x41, 0x6c, 0xf6,
0xfa, 0x79, 0x67, 0x4b, 0xc1, 0x3f, 0xaf, 0x09,
0x81, 0xd4, 0x5d, 0xcb, 0x09, 0xdf, 0x36, 0x31,
0xc0, 0x14, 0x3c, 0x7c, 0x0e, 0x65, 0x95, 0x99,
0x6d, 0xa3, 0xf4, 0xd7, 0x38, 0xee, 0x1a, 0x2b,
0x37, 0xe2, 0xa4, 0x3b, 0x4b, 0xd0, 0x65, 0xca,
0xf8, 0xc3, 0xe8, 0x15, 0x20, 0xef, 0xf2, 0x00,
0xfd, 0x01, 0x09, 0xc5, 0xc8, 0x17, 0x04, 0x93,
0xd0, 0x93, 0x03, 0x55, 0xc5, 0xfe, 0x32, 0xa3,
0x3e, 0x28, 0x2d, 0x3b, 0x93, 0x8a, 0xcc, 0x07,
0x72, 0x80, 0x8b, 0x74, 0x16, 0x24, 0xbb, 0xda,
0x94, 0x39, 0x30, 0x8f, 0xb1, 0xcd, 0x4a, 0x90,
0x92, 0x7c, 0x14, 0x8f, 0x95, 0x4e, 0xac, 0x9b,
0xd8, 0x8f, 0x1a, 0x87, 0xa4, 0x32, 0x27, 0x8a,
0xba, 0xf7, 0x41, 0xcf, 0x84, 0x37, 0x19, 0xe6,
0x06, 0xf5, 0x0e, 0xcf, 0x36, 0xf5, 0x9e, 0x6c,
0xde, 0xbc, 0xff, 0x64, 0x7e, 0x4e, 0x59, 0x57,
0x48, 0xfe, 0x14, 0xf7, 0x9c, 0x93, 0x5d, 0x15,
0xad, 0xcc, 0x11, 0xb1, 0x17, 0x18, 0xb2, 0x7e,
0xcc, 0xab, 0xe9, 0xce, 0x7d, 0x77, 0x5b, 0x51,
0x1b, 0x1e, 0x20, 0xa8, 0x32, 0x06, 0x0e, 0x75,
0x93, 0xac, 0xdb, 0x35, 0x37, 0x1f, 0xe9, 0x19,
0x1d, 0xb4, 0x71, 0x97, 0xd6, 0x4e, 0x2c, 0x08,
0xa5, 0x13, 0xf9, 0x0e, 0x7e, 0x78, 0x6e, 0x14,
0xe0, 0xa9, 0xb9, 0x96, 0x4c, 0x80, 0x82, 0xba,
0x17, 0xb3, 0x9d, 0x69, 0xb0, 0x84, 0x46, 0xff,
0xf9, 0x52, 0x79, 0x94, 0x58, 0x3a, 0x62, 0x90,
0x15, 0x35, 0x71, 0x10, 0x37, 0xed, 0xa1, 0x8e,
0x53, 0x6e, 0xf4, 0x26, 0x57, 0x93, 0x15, 0x93,
0xf6, 0x81, 0x2c, 0x5a, 0x10, 0xda, 0x92, 0xad,
0x2f, 0xdb, 0x28, 0x31, 0x2d, 0x55, 0x04, 0xd2,
0x06, 0x28, 0x8c, 0x1e, 0xdc, 0xea, 0x54, 0xac,
0xff, 0xb7, 0x6c, 0x30, 0x15, 0xd4, 0xb4, 0x0d,
0x00, 0x93, 0x57, 0xdd, 0xd2, 0x07, 0x07, 0x06,
0xd9, 0x43, 0x9b, 0xcd, 0x3a, 0xf4, 0x7d, 0x4c,
0x36, 0x5d, 0x23, 0xa2, 0xcc, 0x57, 0x40, 0x91,
0xe9, 0x2c, 0x2f, 0x2c, 0xd5, 0x30, 0x9b, 0x17,
0xb0, 0xc9, 0xf7, 0xa7, 0x2f, 0xd1, 0x93, 0x20,
0x6b, 0xc6, 0xc1, 0xe4, 0x6f, 0xcb, 0xd1, 0xe7,
0x09, 0x0f, 0x9e, 0xdc, 0xaa, 0x9f, 0x2f, 0xdf,
0x56, 0x9f, 0xd4, 0x33, 0x04, 0xaf, 0xd3, 0x6c,
0x58, 0x61, 0xf0, 0x30, 0xec, 0xf2, 0x7f, 0xf2,
0x9c, 0xdf, 0x39, 0xbb, 0x6f, 0xa2, 0x8c, 0x7e,
0xc4, 0x22, 0x51, 0x71, 0xc0, 0x4d, 0x14, 0x1a,
0xc4, 0xcd, 0x04, 0xd9, 0x87, 0x08, 0x50, 0x05,
0xcc, 0xaf, 0xf6, 0xf0, 0x8f, 0x92, 0x54, 0x58,
0xc2, 0xc7, 0x09, 0x7a, 0x59, 0x02, 0x05, 0xe8,
0xb0, 0x86, 0xd9, 0xbf, 0x7b, 0x35, 0x51, 0x4d,
0xaf, 0x08, 0x97, 0x2c, 0x65, 0xda, 0x2a, 0x71,
0x3a, 0xa8, 0x51, 0xcc, 0xf2, 0x73, 0x27, 0xc3,
0xfd, 0x62, 0xcf, 0xe3, 0xb2, 0xca, 0xcb, 0xbe,
0x1a, 0x0a, 0xa1, 0x34, 0x7b, 0x77, 0xc4, 0x62,
0x68, 0x78, 0x5f, 0x94, 0x07, 0x04, 0x65, 0x16,
0x4b, 0x61, 0xcb, 0xff, 0x75, 0x26, 0x50, 0x66,
0x1f, 0x6e, 0x93, 0xf8, 0xc5, 0x51, 0xeb, 0xa4,
0x4a, 0x48, 0x68, 0x6b, 0xe2, 0x5e, 0x44, 0xb2,
0x50, 0x2c, 0x6c, 0xae, 0x79, 0x4e, 0x66, 0x35,
0x81, 0x50, 0xac, 0xbc, 0x3f, 0xb1, 0x0c, 0xf3,
0x05, 0x3c, 0x4a, 0xa3, 0x6c, 0x2a, 0x79, 0xb4,
0xb7, 0xab, 0xca, 0xc7, 0x9b, 0x8e, 0xcd, 0x5f,
0x11, 0x03, 0xcb, 0x30, 0xa3, 0xab, 0xda, 0xfe,
0x64, 0xb9, 0xbb, 0xd8, 0x5e, 0x3a, 0x1a, 0x56,
0xe5, 0x05, 0x48, 0x90, 0x1e, 0x61, 0x69, 0x1b,
0x22, 0xe6, 0x1a, 0x3c, 0x75, 0xad, 0x1f, 0x37,
0x28, 0xdc, 0xe4, 0x6d, 0xbd, 0x42, 0xdc, 0xd3,
0xc8, 0xb6, 0x1c, 0x48, 0xfe, 0x94, 0x77, 0x7f,
0xbd, 0x62, 0xac, 0xa3, 0x47, 0x27, 0xcf, 0x5f,
0xd9, 0xdb, 0xaf, 0xec, 0xf7, 0x5e, 0xc1, 0xb0,
0x9d, 0x01, 0x26, 0x99, 0x7e, 0x8f, 0x03, 0x70,
0xb5, 0x42, 0xbe, 0x67, 0x28, 0x1b, 0x7c, 0xbd,
0x61, 0x21, 0x97, 0xcc, 0x5c, 0xe1, 0x97, 0x8f,
0x8d, 0xde, 0x2b, 0xaa, 0xa7, 0x71, 0x1d, 0x1e,
0x02, 0x73, 0x70, 0x58, 0x32, 0x5b, 0x1d, 0x67,
0x3d, 0xe0, 0x74, 0x4f, 0x03, 0xf2, 0x70, 0x51,
0x79, 0xf1, 0x61, 0x70, 0x15, 0x74, 0x9d, 0x23,
0x89, 0xde, 0xac, 0xfd, 0xde, 0xd0, 0x1f, 0xc3,
0x87, 0x44, 0x35, 0x4b, 0xe5, 0xb0, 0x60, 0xc5,
0x22, 0xe4, 0x9e, 0xca, 0xeb, 0xd5, 0x3a, 0x09,
0x45, 0xa4, 0xdb, 0xfa, 0x3f, 0xeb, 0x1b, 0xc7,
0xc8, 0x14, 0x99, 0x51, 0x92, 0x10, 0xed, 0xed,
0x28, 0xe0, 0xa1, 0xf8, 0x26, 0xcf, 0xcd, 0xcb,
0x63, 0xa1, 0x3b, 0xe3, 0xdf, 0x7e, 0xfe, 0xa6,
0xf0, 0x81, 0x9a, 0xbf, 0x55, 0xde, 0x54, 0xd5,
0x56, 0x60, 0x98, 0x10, 0x68, 0xf4, 0x38, 0x96,
0x8e, 0x6f, 0x1d, 0x44, 0x7f, 0xd6, 0x2f, 0xfe,
0x55, 0xfb, 0x0c, 0x7e, 0x67, 0xe2, 0x61, 0x44,
0xed, 0xf2, 0x35, 0x30, 0x5d, 0xe9, 0xc7, 0xd6,
0x6d, 0xe0, 0xa0, 0xed, 0xf3, 0xfc, 0xd8, 0x3e,
0x0a, 0x7b, 0xcd, 0xaf, 0x65, 0x68, 0x18, 0xc0,
0xec, 0x04, 0x1c, 0x74, 0x6d, 0xe2, 0x6e, 0x79,
0xd4, 0x11, 0x2b, 0x62, 0xd5, 0x27, 0xad, 0x4f,
0x01, 0x59, 0x73, 0xcc, 0x6a, 0x53, 0xfb, 0x2d,
0xd5, 0x4e, 0x99, 0x21, 0x65, 0x4d, 0xf5, 0x82,
0xf7, 0xd8, 0x42, 0xce, 0x6f, 0x3d, 0x36, 0x47,
0xf1, 0x05, 0x16, 0xe8, 0x1b, 0x6a, 0x8f, 0x93,
0xf2, 0x8f, 0x37, 0x40, 0x12, 0x28, 0xa3, 0xe6,
0xb9, 0x17, 0x4a, 0x1f, 0xb1, 0xd1, 0x66, 0x69,
0x86, 0xc4, 0xfc, 0x97, 0xae, 0x3f, 0x8f, 0x1e,
0x2b, 0xdf, 0xcd, 0xf9, 0x3c
};
static const uint8_t chacha20poly1305_dec_output011[] = {
0x7a, 0x57, 0xf2, 0xc7, 0x06, 0x3f, 0x50, 0x7b,
0x36, 0x1a, 0x66, 0x5c, 0xb9, 0x0e, 0x5e, 0x3b,
0x45, 0x60, 0xbe, 0x9a, 0x31, 0x9f, 0xff, 0x5d,
0x66, 0x34, 0xb4, 0xdc, 0xfb, 0x9d, 0x8e, 0xee,
0x6a, 0x33, 0xa4, 0x07, 0x3c, 0xf9, 0x4c, 0x30,
0xa1, 0x24, 0x52, 0xf9, 0x50, 0x46, 0x88, 0x20,
0x02, 0x32, 0x3a, 0x0e, 0x99, 0x63, 0xaf, 0x1f,
0x15, 0x28, 0x2a, 0x05, 0xff, 0x57, 0x59, 0x5e,
0x18, 0xa1, 0x1f, 0xd0, 0x92, 0x5c, 0x88, 0x66,
0x1b, 0x00, 0x64, 0xa5, 0x93, 0x8d, 0x06, 0x46,
0xb0, 0x64, 0x8b, 0x8b, 0xef, 0x99, 0x05, 0x35,
0x85, 0xb3, 0xf3, 0x33, 0xbb, 0xec, 0x66, 0xb6,
0x3d, 0x57, 0x42, 0xe3, 0xb4, 0xc6, 0xaa, 0xb0,
0x41, 0x2a, 0xb9, 0x59, 0xa9, 0xf6, 0x3e, 0x15,
0x26, 0x12, 0x03, 0x21, 0x4c, 0x74, 0x43, 0x13,
0x2a, 0x03, 0x27, 0x09, 0xb4, 0xfb, 0xe7, 0xb7,
0x40, 0xff, 0x5e, 0xce, 0x48, 0x9a, 0x60, 0xe3,
0x8b, 0x80, 0x8c, 0x38, 0x2d, 0xcb, 0x93, 0x37,
0x74, 0x05, 0x52, 0x6f, 0x73, 0x3e, 0xc3, 0xbc,
0xca, 0x72, 0x0a, 0xeb, 0xf1, 0x3b, 0xa0, 0x95,
0xdc, 0x8a, 0xc4, 0xa9, 0xdc, 0xca, 0x44, 0xd8,
0x08, 0x63, 0x6a, 0x36, 0xd3, 0x3c, 0xb8, 0xac,
0x46, 0x7d, 0xfd, 0xaa, 0xeb, 0x3e, 0x0f, 0x45,
0x8f, 0x49, 0xda, 0x2b, 0xf2, 0x12, 0xbd, 0xaf,
0x67, 0x8a, 0x63, 0x48, 0x4b, 0x55, 0x5f, 0x6d,
0x8c, 0xb9, 0x76, 0x34, 0x84, 0xae, 0xc2, 0xfc,
0x52, 0x64, 0x82, 0xf7, 0xb0, 0x06, 0xf0, 0x45,
0x73, 0x12, 0x50, 0x30, 0x72, 0xea, 0x78, 0x9a,
0xa8, 0xaf, 0xb5, 0xe3, 0xbb, 0x77, 0x52, 0xec,
0x59, 0x84, 0xbf, 0x6b, 0x8f, 0xce, 0x86, 0x5e,
0x1f, 0x23, 0xe9, 0xfb, 0x08, 0x86, 0xf7, 0x10,
0xb9, 0xf2, 0x44, 0x96, 0x44, 0x63, 0xa9, 0xa8,
0x78, 0x00, 0x23, 0xd6, 0xc7, 0xe7, 0x6e, 0x66,
0x4f, 0xcc, 0xee, 0x15, 0xb3, 0xbd, 0x1d, 0xa0,
0xe5, 0x9c, 0x1b, 0x24, 0x2c, 0x4d, 0x3c, 0x62,
0x35, 0x9c, 0x88, 0x59, 0x09, 0xdd, 0x82, 0x1b,
0xcf, 0x0a, 0x83, 0x6b, 0x3f, 0xae, 0x03, 0xc4,
0xb4, 0xdd, 0x7e, 0x5b, 0x28, 0x76, 0x25, 0x96,
0xd9, 0xc9, 0x9d, 0x5f, 0x86, 0xfa, 0xf6, 0xd7,
0xd2, 0xe6, 0x76, 0x1d, 0x0f, 0xa1, 0xdc, 0x74,
0x05, 0x1b, 0x1d, 0xe0, 0xcd, 0x16, 0xb0, 0xa8,
0x8a, 0x34, 0x7b, 0x15, 0x11, 0x77, 0xe5, 0x7b,
0x7e, 0x20, 0xf7, 0xda, 0x38, 0xda, 0xce, 0x70,
0xe9, 0xf5, 0x6c, 0xd9, 0xbe, 0x0c, 0x4c, 0x95,
0x4c, 0xc2, 0x9b, 0x34, 0x55, 0x55, 0xe1, 0xf3,
0x46, 0x8e, 0x48, 0x74, 0x14, 0x4f, 0x9d, 0xc9,
0xf5, 0xe8, 0x1a, 0xf0, 0x11, 0x4a, 0xc1, 0x8d,
0xe0, 0x93, 0xa0, 0xbe, 0x09, 0x1c, 0x2b, 0x4e,
0x0f, 0xb2, 0x87, 0x8b, 0x84, 0xfe, 0x92, 0x32,
0x14, 0xd7, 0x93, 0xdf, 0xe7, 0x44, 0xbc, 0xc5,
0xae, 0x53, 0x69, 0xd8, 0xb3, 0x79, 0x37, 0x80,
0xe3, 0x17, 0x5c, 0xec, 0x53, 0x00, 0x9a, 0xe3,
0x8e, 0xdc, 0x38, 0xb8, 0x66, 0xf0, 0xd3, 0xad,
0x1d, 0x02, 0x96, 0x86, 0x3e, 0x9d, 0x3b, 0x5d,
0xa5, 0x7f, 0x21, 0x10, 0xf1, 0x1f, 0x13, 0x20,
0xf9, 0x57, 0x87, 0x20, 0xf5, 0x5f, 0xf1, 0x17,
0x48, 0x0a, 0x51, 0x5a, 0xcd, 0x19, 0x03, 0xa6,
0x5a, 0xd1, 0x12, 0x97, 0xe9, 0x48, 0xe2, 0x1d,
0x83, 0x75, 0x50, 0xd9, 0x75, 0x7d, 0x6a, 0x82,
0xa1, 0xf9, 0x4e, 0x54, 0x87, 0x89, 0xc9, 0x0c,
0xb7, 0x5b, 0x6a, 0x91, 0xc1, 0x9c, 0xb2, 0xa9,
0xdc, 0x9a, 0xa4, 0x49, 0x0a, 0x6d, 0x0d, 0xbb,
0xde, 0x86, 0x44, 0xdd, 0x5d, 0x89, 0x2b, 0x96,
0x0f, 0x23, 0x95, 0xad, 0xcc, 0xa2, 0xb3, 0xb9,
0x7e, 0x74, 0x38, 0xba, 0x9f, 0x73, 0xae, 0x5f,
0xf8, 0x68, 0xa2, 0xe0, 0xa9, 0xce, 0xbd, 0x40,
0xd4, 0x4c, 0x6b, 0xd2, 0x56, 0x62, 0xb0, 0xcc,
0x63, 0x7e, 0x5b, 0xd3, 0xae, 0xd1, 0x75, 0xce,
0xbb, 0xb4, 0x5b, 0xa8, 0xf8, 0xb4, 0xac, 0x71,
0x75, 0xaa, 0xc9, 0x9f, 0xbb, 0x6c, 0xad, 0x0f,
0x55, 0x5d, 0xe8, 0x85, 0x7d, 0xf9, 0x21, 0x35,
0xea, 0x92, 0x85, 0x2b, 0x00, 0xec, 0x84, 0x90,
0x0a, 0x63, 0x96, 0xe4, 0x6b, 0xa9, 0x77, 0xb8,
0x91, 0xf8, 0x46, 0x15, 0x72, 0x63, 0x70, 0x01,
0x40, 0xa3, 0xa5, 0x76, 0x62, 0x2b, 0xbf, 0xf1,
0xe5, 0x8d, 0x9f, 0xa3, 0xfa, 0x9b, 0x03, 0xbe,
0xfe, 0x65, 0x6f, 0xa2, 0x29, 0x0d, 0x54, 0xb4,
0x71, 0xce, 0xa9, 0xd6, 0x3d, 0x88, 0xf9, 0xaf,
0x6b, 0xa8, 0x9e, 0xf4, 0x16, 0x96, 0x36, 0xb9,
0x00, 0xdc, 0x10, 0xab, 0xb5, 0x08, 0x31, 0x1f,
0x00, 0xb1, 0x3c, 0xd9, 0x38, 0x3e, 0xc6, 0x04,
0xa7, 0x4e, 0xe8, 0xae, 0xed, 0x98, 0xc2, 0xf7,
0xb9, 0x00, 0x5f, 0x8c, 0x60, 0xd1, 0xe5, 0x15,
0xf7, 0xae, 0x1e, 0x84, 0x88, 0xd1, 0xf6, 0xbc,
0x3a, 0x89, 0x35, 0x22, 0x83, 0x7c, 0xca, 0xf0,
0x33, 0x82, 0x4c, 0x79, 0x3c, 0xfd, 0xb1, 0xae,
0x52, 0x62, 0x55, 0xd2, 0x41, 0x60, 0xc6, 0xbb,
0xfa, 0x0e, 0x59, 0xd6, 0xa8, 0xfe, 0x5d, 0xed,
0x47, 0x3d, 0xe0, 0xea, 0x1f, 0x6e, 0x43, 0x51,
0xec, 0x10, 0x52, 0x56, 0x77, 0x42, 0x6b, 0x52,
0x87, 0xd8, 0xec, 0xe0, 0xaa, 0x76, 0xa5, 0x84,
0x2a, 0x22, 0x24, 0xfd, 0x92, 0x40, 0x88, 0xd5,
0x85, 0x1c, 0x1f, 0x6b, 0x47, 0xa0, 0xc4, 0xe4,
0xef, 0xf4, 0xea, 0xd7, 0x59, 0xac, 0x2a, 0x9e,
0x8c, 0xfa, 0x1f, 0x42, 0x08, 0xfe, 0x4f, 0x74,
0xa0, 0x26, 0xf5, 0xb3, 0x84, 0xf6, 0x58, 0x5f,
0x26, 0x66, 0x3e, 0xd7, 0xe4, 0x22, 0x91, 0x13,
0xc8, 0xac, 0x25, 0x96, 0x23, 0xd8, 0x09, 0xea,
0x45, 0x75, 0x23, 0xb8, 0x5f, 0xc2, 0x90, 0x8b,
0x09, 0xc4, 0xfc, 0x47, 0x6c, 0x6d, 0x0a, 0xef,
0x69, 0xa4, 0x38, 0x19, 0xcf, 0x7d, 0xf9, 0x09,
0x73, 0x9b, 0x60, 0x5a, 0xf7, 0x37, 0xb5, 0xfe,
0x9f, 0xe3, 0x2b, 0x4c, 0x0d, 0x6e, 0x19, 0xf1,
0xd6, 0xc0, 0x70, 0xf3, 0x9d, 0x22, 0x3c, 0xf9,
0x49, 0xce, 0x30, 0x8e, 0x44, 0xb5, 0x76, 0x15,
0x8f, 0x52, 0xfd, 0xa5, 0x04, 0xb8, 0x55, 0x6a,
0x36, 0x59, 0x7c, 0xc4, 0x48, 0xb8, 0xd7, 0xab,
0x05, 0x66, 0xe9, 0x5e, 0x21, 0x6f, 0x6b, 0x36,
0x29, 0xbb, 0xe9, 0xe3, 0xa2, 0x9a, 0xa8, 0xcd,
0x55, 0x25, 0x11, 0xba, 0x5a, 0x58, 0xa0, 0xde,
0xae, 0x19, 0x2a, 0x48, 0x5a, 0xff, 0x36, 0xcd,
0x6d, 0x16, 0x7a, 0x73, 0x38, 0x46, 0xe5, 0x47,
0x59, 0xc8, 0xa2, 0xf6, 0xe2, 0x6c, 0x83, 0xc5,
0x36, 0x2c, 0x83, 0x7d, 0xb4, 0x01, 0x05, 0x69,
0xe7, 0xaf, 0x5c, 0xc4, 0x64, 0x82, 0x12, 0x21,
0xef, 0xf7, 0xd1, 0x7d, 0xb8, 0x8d, 0x8c, 0x98,
0x7c, 0x5f, 0x7d, 0x92, 0x88, 0xb9, 0x94, 0x07,
0x9c, 0xd8, 0xe9, 0x9c, 0x17, 0x38, 0xe3, 0x57,
0x6c, 0xe0, 0xdc, 0xa5, 0x92, 0x42, 0xb3, 0xbd,
0x50, 0xa2, 0x7e, 0xb5, 0xb1, 0x52, 0x72, 0x03,
0x97, 0xd8, 0xaa, 0x9a, 0x1e, 0x75, 0x41, 0x11,
0xa3, 0x4f, 0xcc, 0xd4, 0xe3, 0x73, 0xad, 0x96,
0xdc, 0x47, 0x41, 0x9f, 0xb0, 0xbe, 0x79, 0x91,
0xf5, 0xb6, 0x18, 0xfe, 0xc2, 0x83, 0x18, 0x7d,
0x73, 0xd9, 0x4f, 0x83, 0x84, 0x03, 0xb3, 0xf0,
0x77, 0x66, 0x3d, 0x83, 0x63, 0x2e, 0x2c, 0xf9,
0xdd, 0xa6, 0x1f, 0x89, 0x82, 0xb8, 0x23, 0x42,
0xeb, 0xe2, 0xca, 0x70, 0x82, 0x61, 0x41, 0x0a,
0x6d, 0x5f, 0x75, 0xc5, 0xe2, 0xc4, 0x91, 0x18,
0x44, 0x22, 0xfa, 0x34, 0x10, 0xf5, 0x20, 0xdc,
0xb7, 0xdd, 0x2a, 0x20, 0x77, 0xf5, 0xf9, 0xce,
0xdb, 0xa0, 0x0a, 0x52, 0x2a, 0x4e, 0xdd, 0xcc,
0x97, 0xdf, 0x05, 0xe4, 0x5e, 0xb7, 0xaa, 0xf0,
0xe2, 0x80, 0xff, 0xba, 0x1a, 0x0f, 0xac, 0xdf,
0x02, 0x32, 0xe6, 0xf7, 0xc7, 0x17, 0x13, 0xb7,
0xfc, 0x98, 0x48, 0x8c, 0x0d, 0x82, 0xc9, 0x80,
0x7a, 0xe2, 0x0a, 0xc5, 0xb4, 0xde, 0x7c, 0x3c,
0x79, 0x81, 0x0e, 0x28, 0x65, 0x79, 0x67, 0x82,
0x69, 0x44, 0x66, 0x09, 0xf7, 0x16, 0x1a, 0xf9,
0x7d, 0x80, 0xa1, 0x79, 0x14, 0xa9, 0xc8, 0x20,
0xfb, 0xa2, 0x46, 0xbe, 0x08, 0x35, 0x17, 0x58,
0xc1, 0x1a, 0xda, 0x2a, 0x6b, 0x2e, 0x1e, 0xe6,
0x27, 0x55, 0x7b, 0x19, 0xe2, 0xfb, 0x64, 0xfc,
0x5e, 0x15, 0x54, 0x3c, 0xe7, 0xc2, 0x11, 0x50,
0x30, 0xb8, 0x72, 0x03, 0x0b, 0x1a, 0x9f, 0x86,
0x27, 0x11, 0x5c, 0x06, 0x2b, 0xbd, 0x75, 0x1a,
0x0a, 0xda, 0x01, 0xfa, 0x5c, 0x4a, 0xc1, 0x80,
0x3a, 0x6e, 0x30, 0xc8, 0x2c, 0xeb, 0x56, 0xec,
0x89, 0xfa, 0x35, 0x7b, 0xb2, 0xf0, 0x97, 0x08,
0x86, 0x53, 0xbe, 0xbd, 0x40, 0x41, 0x38, 0x1c,
0xb4, 0x8b, 0x79, 0x2e, 0x18, 0x96, 0x94, 0xde,
0xe8, 0xca, 0xe5, 0x9f, 0x92, 0x9f, 0x15, 0x5d,
0x56, 0x60, 0x5c, 0x09, 0xf9, 0x16, 0xf4, 0x17,
0x0f, 0xf6, 0x4c, 0xda, 0xe6, 0x67, 0x89, 0x9f,
0xca, 0x6c, 0xe7, 0x9b, 0x04, 0x62, 0x0e, 0x26,
0xa6, 0x52, 0xbd, 0x29, 0xff, 0xc7, 0xa4, 0x96,
0xe6, 0x6a, 0x02, 0xa5, 0x2e, 0x7b, 0xfe, 0x97,
0x68, 0x3e, 0x2e, 0x5f, 0x3b, 0x0f, 0x36, 0xd6,
0x98, 0x19, 0x59, 0x48, 0xd2, 0xc6, 0xe1, 0x55,
0x1a, 0x6e, 0xd6, 0xed, 0x2c, 0xba, 0xc3, 0x9e,
0x64, 0xc9, 0x95, 0x86, 0x35, 0x5e, 0x3e, 0x88,
0x69, 0x99, 0x4b, 0xee, 0xbe, 0x9a, 0x99, 0xb5,
0x6e, 0x58, 0xae, 0xdd, 0x22, 0xdb, 0xdd, 0x6b,
0xfc, 0xaf, 0x90, 0xa3, 0x3d, 0xa4, 0xc1, 0x15,
0x92, 0x18, 0x8d, 0xd2, 0x4b, 0x7b, 0x06, 0xd1,
0x37, 0xb5, 0xe2, 0x7c, 0x2c, 0xf0, 0x25, 0xe4,
0x94, 0x2a, 0xbd, 0xe3, 0x82, 0x70, 0x78, 0xa3,
0x82, 0x10, 0x5a, 0x90, 0xd7, 0xa4, 0xfa, 0xaf,
0x1a, 0x88, 0x59, 0xdc, 0x74, 0x12, 0xb4, 0x8e,
0xd7, 0x19, 0x46, 0xf4, 0x84, 0x69, 0x9f, 0xbb,
0x70, 0xa8, 0x4c, 0x52, 0x81, 0xa9, 0xff, 0x76,
0x1c, 0xae, 0xd8, 0x11, 0x3d, 0x7f, 0x7d, 0xc5,
0x12, 0x59, 0x28, 0x18, 0xc2, 0xa2, 0xb7, 0x1c,
0x88, 0xf8, 0xd6, 0x1b, 0xa6, 0x7d, 0x9e, 0xde,
0x29, 0xf8, 0xed, 0xff, 0xeb, 0x92, 0x24, 0x4f,
0x05, 0xaa, 0xd9, 0x49, 0xba, 0x87, 0x59, 0x51,
0xc9, 0x20, 0x5c, 0x9b, 0x74, 0xcf, 0x03, 0xd9,
0x2d, 0x34, 0xc7, 0x5b, 0xa5, 0x40, 0xb2, 0x99,
0xf5, 0xcb, 0xb4, 0xf6, 0xb7, 0x72, 0x4a, 0xd6,
0xbd, 0xb0, 0xf3, 0x93, 0xe0, 0x1b, 0xa8, 0x04,
0x1e, 0x35, 0xd4, 0x80, 0x20, 0xf4, 0x9c, 0x31,
0x6b, 0x45, 0xb9, 0x15, 0xb0, 0x5e, 0xdd, 0x0a,
0x33, 0x9c, 0x83, 0xcd, 0x58, 0x89, 0x50, 0x56,
0xbb, 0x81, 0x00, 0x91, 0x32, 0xf3, 0x1b, 0x3e,
0xcf, 0x45, 0xe1, 0xf9, 0xe1, 0x2c, 0x26, 0x78,
0x93, 0x9a, 0x60, 0x46, 0xc9, 0xb5, 0x5e, 0x6a,
0x28, 0x92, 0x87, 0x3f, 0x63, 0x7b, 0xdb, 0xf7,
0xd0, 0x13, 0x9d, 0x32, 0x40, 0x5e, 0xcf, 0xfb,
0x79, 0x68, 0x47, 0x4c, 0xfd, 0x01, 0x17, 0xe6,
0x97, 0x93, 0x78, 0xbb, 0xa6, 0x27, 0xa3, 0xe8,
0x1a, 0xe8, 0x94, 0x55, 0x7d, 0x08, 0xe5, 0xdc,
0x66, 0xa3, 0x69, 0xc8, 0xca, 0xc5, 0xa1, 0x84,
0x55, 0xde, 0x08, 0x91, 0x16, 0x3a, 0x0c, 0x86,
0xab, 0x27, 0x2b, 0x64, 0x34, 0x02, 0x6c, 0x76,
0x8b, 0xc6, 0xaf, 0xcc, 0xe1, 0xd6, 0x8c, 0x2a,
0x18, 0x3d, 0xa6, 0x1b, 0x37, 0x75, 0x45, 0x73,
0xc2, 0x75, 0xd7, 0x53, 0x78, 0x3a, 0xd6, 0xe8,
0x29, 0xd2, 0x4a, 0xa8, 0x1e, 0x82, 0xf6, 0xb6,
0x81, 0xde, 0x21, 0xed, 0x2b, 0x56, 0xbb, 0xf2,
0xd0, 0x57, 0xc1, 0x7c, 0xd2, 0x6a, 0xd2, 0x56,
0xf5, 0x13, 0x5f, 0x1c, 0x6a, 0x0b, 0x74, 0xfb,
0xe9, 0xfe, 0x9e, 0xea, 0x95, 0xb2, 0x46, 0xab,
0x0a, 0xfc, 0xfd, 0xf3, 0xbb, 0x04, 0x2b, 0x76,
0x1b, 0xa4, 0x74, 0xb0, 0xc1, 0x78, 0xc3, 0x69,
0xe2, 0xb0, 0x01, 0xe1, 0xde, 0x32, 0x4c, 0x8d,
0x1a, 0xb3, 0x38, 0x08, 0xd5, 0xfc, 0x1f, 0xdc,
0x0e, 0x2c, 0x9c, 0xb1, 0xa1, 0x63, 0x17, 0x22,
0xf5, 0x6c, 0x93, 0x70, 0x74, 0x00, 0xf8, 0x39,
0x01, 0x94, 0xd1, 0x32, 0x23, 0x56, 0x5d, 0xa6,
0x02, 0x76, 0x76, 0x93, 0xce, 0x2f, 0x19, 0xe9,
0x17, 0x52, 0xae, 0x6e, 0x2c, 0x6d, 0x61, 0x7f,
0x3b, 0xaa, 0xe0, 0x52, 0x85, 0xc5, 0x65, 0xc1,
0xbb, 0x8e, 0x5b, 0x21, 0xd5, 0xc9, 0x78, 0x83,
0x07, 0x97, 0x4c, 0x62, 0x61, 0x41, 0xd4, 0xfc,
0xc9, 0x39, 0xe3, 0x9b, 0xd0, 0xcc, 0x75, 0xc4,
0x97, 0xe6, 0xdd, 0x2a, 0x5f, 0xa6, 0xe8, 0x59,
0x6c, 0x98, 0xb9, 0x02, 0xe2, 0xa2, 0xd6, 0x68,
0xee, 0x3b, 0x1d, 0xe3, 0x4d, 0x5b, 0x30, 0xef,
0x03, 0xf2, 0xeb, 0x18, 0x57, 0x36, 0xe8, 0xa1,
0xf4, 0x47, 0xfb, 0xcb, 0x8f, 0xcb, 0xc8, 0xf3,
0x4f, 0x74, 0x9d, 0x9d, 0xb1, 0x8d, 0x14, 0x44,
0xd9, 0x19, 0xb4, 0x54, 0x4f, 0x75, 0x19, 0x09,
0xa0, 0x75, 0xbc, 0x3b, 0x82, 0xc6, 0x3f, 0xb8,
0x83, 0x19, 0x6e, 0xd6, 0x37, 0xfe, 0x6e, 0x8a,
0x4e, 0xe0, 0x4a, 0xab, 0x7b, 0xc8, 0xb4, 0x1d,
0xf4, 0xed, 0x27, 0x03, 0x65, 0xa2, 0xa1, 0xae,
0x11, 0xe7, 0x98, 0x78, 0x48, 0x91, 0xd2, 0xd2,
0xd4, 0x23, 0x78, 0x50, 0xb1, 0x5b, 0x85, 0x10,
0x8d, 0xca, 0x5f, 0x0f, 0x71, 0xae, 0x72, 0x9a,
0xf6, 0x25, 0x19, 0x60, 0x06, 0xf7, 0x10, 0x34,
0x18, 0x0d, 0xc9, 0x9f, 0x7b, 0x0c, 0x9b, 0x8f,
0x91, 0x1b, 0x9f, 0xcd, 0x10, 0xee, 0x75, 0xf9,
0x97, 0x66, 0xfc, 0x4d, 0x33, 0x6e, 0x28, 0x2b,
0x92, 0x85, 0x4f, 0xab, 0x43, 0x8d, 0x8f, 0x7d,
0x86, 0xa7, 0xc7, 0xd8, 0xd3, 0x0b, 0x8b, 0x57,
0xb6, 0x1d, 0x95, 0x0d, 0xe9, 0xbc, 0xd9, 0x03,
0xd9, 0x10, 0x19, 0xc3, 0x46, 0x63, 0x55, 0x87,
0x61, 0x79, 0x6c, 0x95, 0x0e, 0x9c, 0xdd, 0xca,
0xc3, 0xf3, 0x64, 0xf0, 0x7d, 0x76, 0xb7, 0x53,
0x67, 0x2b, 0x1e, 0x44, 0x56, 0x81, 0xea, 0x8f,
0x5c, 0x42, 0x16, 0xb8, 0x28, 0xeb, 0x1b, 0x61,
0x10, 0x1e, 0xbf, 0xec, 0xa8
};
static const uint8_t chacha20poly1305_dec_assoc011[] = {
0xd6, 0x31, 0xda, 0x5d, 0x42, 0x5e, 0xd7
};
static const uint8_t chacha20poly1305_dec_nonce011[] = {
0xfd, 0x87, 0xd4, 0xd8, 0x62, 0xfd, 0xec, 0xaa
};
static const uint8_t chacha20poly1305_dec_key011[] = {
0x35, 0x4e, 0xb5, 0x70, 0x50, 0x42, 0x8a, 0x85,
0xf2, 0xfb, 0xed, 0x7b, 0xd0, 0x9e, 0x97, 0xca,
0xfa, 0x98, 0x66, 0x63, 0xee, 0x37, 0xcc, 0x52,
0xfe, 0xd1, 0xdf, 0x95, 0x15, 0x34, 0x29, 0x38
};
static const uint8_t chacha20poly1305_dec_input012[] = {
0x52, 0x34, 0xb3, 0x65, 0x3b, 0xb7, 0xe5, 0xd3,
0xab, 0x49, 0x17, 0x60, 0xd2, 0x52, 0x56, 0xdf,
0xdf, 0x34, 0x56, 0x82, 0xe2, 0xbe, 0xe5, 0xe1,
0x28, 0xd1, 0x4e, 0x5f, 0x4f, 0x01, 0x7d, 0x3f,
0x99, 0x6b, 0x30, 0x6e, 0x1a, 0x7c, 0x4c, 0x8e,
0x62, 0x81, 0xae, 0x86, 0x3f, 0x6b, 0xd0, 0xb5,
0xa9, 0xcf, 0x50, 0xf1, 0x02, 0x12, 0xa0, 0x0b,
0x24, 0xe9, 0xe6, 0x72, 0x89, 0x2c, 0x52, 0x1b,
0x34, 0x38, 0xf8, 0x75, 0x5f, 0xa0, 0x74, 0xe2,
0x99, 0xdd, 0xa6, 0x4b, 0x14, 0x50, 0x4e, 0xf1,
0xbe, 0xd6, 0x9e, 0xdb, 0xb2, 0x24, 0x27, 0x74,
0x12, 0x4a, 0x78, 0x78, 0x17, 0xa5, 0x58, 0x8e,
0x2f, 0xf9, 0xf4, 0x8d, 0xee, 0x03, 0x88, 0xae,
0xb8, 0x29, 0xa1, 0x2f, 0x4b, 0xee, 0x92, 0xbd,
0x87, 0xb3, 0xce, 0x34, 0x21, 0x57, 0x46, 0x04,
0x49, 0x0c, 0x80, 0xf2, 0x01, 0x13, 0xa1, 0x55,
0xb3, 0xff, 0x44, 0x30, 0x3c, 0x1c, 0xd0, 0xef,
0xbc, 0x18, 0x74, 0x26, 0xad, 0x41, 0x5b, 0x5b,
0x3e, 0x9a, 0x7a, 0x46, 0x4f, 0x16, 0xd6, 0x74,
0x5a, 0xb7, 0x3a, 0x28, 0x31, 0xd8, 0xae, 0x26,
0xac, 0x50, 0x53, 0x86, 0xf2, 0x56, 0xd7, 0x3f,
0x29, 0xbc, 0x45, 0x68, 0x8e, 0xcb, 0x98, 0x64,
0xdd, 0xc9, 0xba, 0xb8, 0x4b, 0x7b, 0x82, 0xdd,
0x14, 0xa7, 0xcb, 0x71, 0x72, 0x00, 0x5c, 0xad,
0x7b, 0x6a, 0x89, 0xa4, 0x3d, 0xbf, 0xb5, 0x4b,
0x3e, 0x7c, 0x5a, 0xcf, 0xb8, 0xa1, 0xc5, 0x6e,
0xc8, 0xb6, 0x31, 0x57, 0x7b, 0xdf, 0xa5, 0x7e,
0xb1, 0xd6, 0x42, 0x2a, 0x31, 0x36, 0xd1, 0xd0,
0x3f, 0x7a, 0xe5, 0x94, 0xd6, 0x36, 0xa0, 0x6f,
0xb7, 0x40, 0x7d, 0x37, 0xc6, 0x55, 0x7c, 0x50,
0x40, 0x6d, 0x29, 0x89, 0xe3, 0x5a, 0xae, 0x97,
0xe7, 0x44, 0x49, 0x6e, 0xbd, 0x81, 0x3d, 0x03,
0x93, 0x06, 0x12, 0x06, 0xe2, 0x41, 0x12, 0x4a,
0xf1, 0x6a, 0xa4, 0x58, 0xa2, 0xfb, 0xd2, 0x15,
0xba, 0xc9, 0x79, 0xc9, 0xce, 0x5e, 0x13, 0xbb,
0xf1, 0x09, 0x04, 0xcc, 0xfd, 0xe8, 0x51, 0x34,
0x6a, 0xe8, 0x61, 0x88, 0xda, 0xed, 0x01, 0x47,
0x84, 0xf5, 0x73, 0x25, 0xf9, 0x1c, 0x42, 0x86,
0x07, 0xf3, 0x5b, 0x1a, 0x01, 0xb3, 0xeb, 0x24,
0x32, 0x8d, 0xf6, 0xed, 0x7c, 0x4b, 0xeb, 0x3c,
0x36, 0x42, 0x28, 0xdf, 0xdf, 0xb6, 0xbe, 0xd9,
0x8c, 0x52, 0xd3, 0x2b, 0x08, 0x90, 0x8c, 0xe7,
0x98, 0x31, 0xe2, 0x32, 0x8e, 0xfc, 0x11, 0x48,
0x00, 0xa8, 0x6a, 0x42, 0x4a, 0x02, 0xc6, 0x4b,
0x09, 0xf1, 0xe3, 0x49, 0xf3, 0x45, 0x1f, 0x0e,
0xbc, 0x56, 0xe2, 0xe4, 0xdf, 0xfb, 0xeb, 0x61,
0xfa, 0x24, 0xc1, 0x63, 0x75, 0xbb, 0x47, 0x75,
0xaf, 0xe1, 0x53, 0x16, 0x96, 0x21, 0x85, 0x26,
0x11, 0xb3, 0x76, 0xe3, 0x23, 0xa1, 0x6b, 0x74,
0x37, 0xd0, 0xde, 0x06, 0x90, 0x71, 0x5d, 0x43,
0x88, 0x9b, 0x00, 0x54, 0xa6, 0x75, 0x2f, 0xa1,
0xc2, 0x0b, 0x73, 0x20, 0x1d, 0xb6, 0x21, 0x79,
0x57, 0x3f, 0xfa, 0x09, 0xbe, 0x8a, 0x33, 0xc3,
0x52, 0xf0, 0x1d, 0x82, 0x31, 0xd1, 0x55, 0xb5,
0x6c, 0x99, 0x25, 0xcf, 0x5c, 0x32, 0xce, 0xe9,
0x0d, 0xfa, 0x69, 0x2c, 0xd5, 0x0d, 0xc5, 0x6d,
0x86, 0xd0, 0x0c, 0x3b, 0x06, 0x50, 0x79, 0xe8,
0xc3, 0xae, 0x04, 0xe6, 0xcd, 0x51, 0xe4, 0x26,
0x9b, 0x4f, 0x7e, 0xa6, 0x0f, 0xab, 0xd8, 0xe5,
0xde, 0xa9, 0x00, 0x95, 0xbe, 0xa3, 0x9d, 0x5d,
0xb2, 0x09, 0x70, 0x18, 0x1c, 0xf0, 0xac, 0x29,
0x23, 0x02, 0x29, 0x28, 0xd2, 0x74, 0x35, 0x57,
0x62, 0x0f, 0x24, 0xea, 0x5e, 0x33, 0xc2, 0x92,
0xf3, 0x78, 0x4d, 0x30, 0x1e, 0xa1, 0x99, 0xa9,
0x82, 0xb0, 0x42, 0x31, 0x8d, 0xad, 0x8a, 0xbc,
0xfc, 0xd4, 0x57, 0x47, 0x3e, 0xb4, 0x50, 0xdd,
0x6e, 0x2c, 0x80, 0x4d, 0x22, 0xf1, 0xfb, 0x57,
0xc4, 0xdd, 0x17, 0xe1, 0x8a, 0x36, 0x4a, 0xb3,
0x37, 0xca, 0xc9, 0x4e, 0xab, 0xd5, 0x69, 0xc4,
0xf4, 0xbc, 0x0b, 0x3b, 0x44, 0x4b, 0x29, 0x9c,
0xee, 0xd4, 0x35, 0x22, 0x21, 0xb0, 0x1f, 0x27,
0x64, 0xa8, 0x51, 0x1b, 0xf0, 0x9f, 0x19, 0x5c,
0xfb, 0x5a, 0x64, 0x74, 0x70, 0x45, 0x09, 0xf5,
0x64, 0xfe, 0x1a, 0x2d, 0xc9, 0x14, 0x04, 0x14,
0xcf, 0xd5, 0x7d, 0x60, 0xaf, 0x94, 0x39, 0x94,
0xe2, 0x7d, 0x79, 0x82, 0xd0, 0x65, 0x3b, 0x6b,
0x9c, 0x19, 0x84, 0xb4, 0x6d, 0xb3, 0x0c, 0x99,
0xc0, 0x56, 0xa8, 0xbd, 0x73, 0xce, 0x05, 0x84,
0x3e, 0x30, 0xaa, 0xc4, 0x9b, 0x1b, 0x04, 0x2a,
0x9f, 0xd7, 0x43, 0x2b, 0x23, 0xdf, 0xbf, 0xaa,
0xd5, 0xc2, 0x43, 0x2d, 0x70, 0xab, 0xdc, 0x75,
0xad, 0xac, 0xf7, 0xc0, 0xbe, 0x67, 0xb2, 0x74,
0xed, 0x67, 0x10, 0x4a, 0x92, 0x60, 0xc1, 0x40,
0x50, 0x19, 0x8a, 0x8a, 0x8c, 0x09, 0x0e, 0x72,
0xe1, 0x73, 0x5e, 0xe8, 0x41, 0x85, 0x63, 0x9f,
0x3f, 0xd7, 0x7d, 0xc4, 0xfb, 0x22, 0x5d, 0x92,
0x6c, 0xb3, 0x1e, 0xe2, 0x50, 0x2f, 0x82, 0xa8,
0x28, 0xc0, 0xb5, 0xd7, 0x5f, 0x68, 0x0d, 0x2c,
0x2d, 0xaf, 0x7e, 0xfa, 0x2e, 0x08, 0x0f, 0x1f,
0x70, 0x9f, 0xe9, 0x19, 0x72, 0x55, 0xf8, 0xfb,
0x51, 0xd2, 0x33, 0x5d, 0xa0, 0xd3, 0x2b, 0x0a,
0x6c, 0xbc, 0x4e, 0xcf, 0x36, 0x4d, 0xdc, 0x3b,
0xe9, 0x3e, 0x81, 0x7c, 0x61, 0xdb, 0x20, 0x2d,
0x3a, 0xc3, 0xb3, 0x0c, 0x1e, 0x00, 0xb9, 0x7c,
0xf5, 0xca, 0x10, 0x5f, 0x3a, 0x71, 0xb3, 0xe4,
0x20, 0xdb, 0x0c, 0x2a, 0x98, 0x63, 0x45, 0x00,
0x58, 0xf6, 0x68, 0xe4, 0x0b, 0xda, 0x13, 0x3b,
0x60, 0x5c, 0x76, 0xdb, 0xb9, 0x97, 0x71, 0xe4,
0xd9, 0xb7, 0xdb, 0xbd, 0x68, 0xc7, 0x84, 0x84,
0xaa, 0x7c, 0x68, 0x62, 0x5e, 0x16, 0xfc, 0xba,
0x72, 0xaa, 0x9a, 0xa9, 0xeb, 0x7c, 0x75, 0x47,
0x97, 0x7e, 0xad, 0xe2, 0xd9, 0x91, 0xe8, 0xe4,
0xa5, 0x31, 0xd7, 0x01, 0x8e, 0xa2, 0x11, 0x88,
0x95, 0xb9, 0xf2, 0x9b, 0xd3, 0x7f, 0x1b, 0x81,
0x22, 0xf7, 0x98, 0x60, 0x0a, 0x64, 0xa6, 0xc1,
0xf6, 0x49, 0xc7, 0xe3, 0x07, 0x4d, 0x94, 0x7a,
0xcf, 0x6e, 0x68, 0x0c, 0x1b, 0x3f, 0x6e, 0x2e,
0xee, 0x92, 0xfa, 0x52, 0xb3, 0x59, 0xf8, 0xf1,
0x8f, 0x6a, 0x66, 0xa3, 0x82, 0x76, 0x4a, 0x07,
0x1a, 0xc7, 0xdd, 0xf5, 0xda, 0x9c, 0x3c, 0x24,
0xbf, 0xfd, 0x42, 0xa1, 0x10, 0x64, 0x6a, 0x0f,
0x89, 0xee, 0x36, 0xa5, 0xce, 0x99, 0x48, 0x6a,
0xf0, 0x9f, 0x9e, 0x69, 0xa4, 0x40, 0x20, 0xe9,
0x16, 0x15, 0xf7, 0xdb, 0x75, 0x02, 0xcb, 0xe9,
0x73, 0x8b, 0x3b, 0x49, 0x2f, 0xf0, 0xaf, 0x51,
0x06, 0x5c, 0xdf, 0x27, 0x27, 0x49, 0x6a, 0xd1,
0xcc, 0xc7, 0xb5, 0x63, 0xb5, 0xfc, 0xb8, 0x5c,
0x87, 0x7f, 0x84, 0xb4, 0xcc, 0x14, 0xa9, 0x53,
0xda, 0xa4, 0x56, 0xf8, 0xb6, 0x1b, 0xcc, 0x40,
0x27, 0x52, 0x06, 0x5a, 0x13, 0x81, 0xd7, 0x3a,
0xd4, 0x3b, 0xfb, 0x49, 0x65, 0x31, 0x33, 0xb2,
0xfa, 0xcd, 0xad, 0x58, 0x4e, 0x2b, 0xae, 0xd2,
0x20, 0xfb, 0x1a, 0x48, 0xb4, 0x3f, 0x9a, 0xd8,
0x7a, 0x35, 0x4a, 0xc8, 0xee, 0x88, 0x5e, 0x07,
0x66, 0x54, 0xb9, 0xec, 0x9f, 0xa3, 0xe3, 0xb9,
0x37, 0xaa, 0x49, 0x76, 0x31, 0xda, 0x74, 0x2d,
0x3c, 0xa4, 0x65, 0x10, 0x32, 0x38, 0xf0, 0xde,
0xd3, 0x99, 0x17, 0xaa, 0x71, 0xaa, 0x8f, 0x0f,
0x8c, 0xaf, 0xa2, 0xf8, 0x5d, 0x64, 0xba, 0x1d,
0xa3, 0xef, 0x96, 0x73, 0xe8, 0xa1, 0x02, 0x8d,
0x0c, 0x6d, 0xb8, 0x06, 0x90, 0xb8, 0x08, 0x56,
0x2c, 0xa7, 0x06, 0xc9, 0xc2, 0x38, 0xdb, 0x7c,
0x63, 0xb1, 0x57, 0x8e, 0xea, 0x7c, 0x79, 0xf3,
0x49, 0x1d, 0xfe, 0x9f, 0xf3, 0x6e, 0xb1, 0x1d,
0xba, 0x19, 0x80, 0x1a, 0x0a, 0xd3, 0xb0, 0x26,
0x21, 0x40, 0xb1, 0x7c, 0xf9, 0x4d, 0x8d, 0x10,
0xc1, 0x7e, 0xf4, 0xf6, 0x3c, 0xa8, 0xfd, 0x7c,
0xa3, 0x92, 0xb2, 0x0f, 0xaa, 0xcc, 0xa6, 0x11,
0xfe, 0x04, 0xe3, 0xd1, 0x7a, 0x32, 0x89, 0xdf,
0x0d, 0xc4, 0x8f, 0x79, 0x6b, 0xca, 0x16, 0x7c,
0x6e, 0xf9, 0xad, 0x0f, 0xf6, 0xfe, 0x27, 0xdb,
0xc4, 0x13, 0x70, 0xf1, 0x62, 0x1a, 0x4f, 0x79,
0x40, 0xc9, 0x9b, 0x8b, 0x21, 0xea, 0x84, 0xfa,
0xf5, 0xf1, 0x89, 0xce, 0xb7, 0x55, 0x0a, 0x80,
0x39, 0x2f, 0x55, 0x36, 0x16, 0x9c, 0x7b, 0x08,
0xbd, 0x87, 0x0d, 0xa5, 0x32, 0xf1, 0x52, 0x7c,
0xe8, 0x55, 0x60, 0x5b, 0xd7, 0x69, 0xe4, 0xfc,
0xfa, 0x12, 0x85, 0x96, 0xea, 0x50, 0x28, 0xab,
0x8a, 0xf7, 0xbb, 0x0e, 0x53, 0x74, 0xca, 0xa6,
0x27, 0x09, 0xc2, 0xb5, 0xde, 0x18, 0x14, 0xd9,
0xea, 0xe5, 0x29, 0x1c, 0x40, 0x56, 0xcf, 0xd7,
0xae, 0x05, 0x3f, 0x65, 0xaf, 0x05, 0x73, 0xe2,
0x35, 0x96, 0x27, 0x07, 0x14, 0xc0, 0xad, 0x33,
0xf1, 0xdc, 0x44, 0x7a, 0x89, 0x17, 0x77, 0xd2,
0x9c, 0x58, 0x60, 0xf0, 0x3f, 0x7b, 0x2d, 0x2e,
0x57, 0x95, 0x54, 0x87, 0xed, 0xf2, 0xc7, 0x4c,
0xf0, 0xae, 0x56, 0x29, 0x19, 0x7d, 0x66, 0x4b,
0x9b, 0x83, 0x84, 0x42, 0x3b, 0x01, 0x25, 0x66,
0x8e, 0x02, 0xde, 0xb9, 0x83, 0x54, 0x19, 0xf6,
0x9f, 0x79, 0x0d, 0x67, 0xc5, 0x1d, 0x7a, 0x44,
0x02, 0x98, 0xa7, 0x16, 0x1c, 0x29, 0x0d, 0x74,
0xff, 0x85, 0x40, 0x06, 0xef, 0x2c, 0xa9, 0xc6,
0xf5, 0x53, 0x07, 0x06, 0xae, 0xe4, 0xfa, 0x5f,
0xd8, 0x39, 0x4d, 0xf1, 0x9b, 0x6b, 0xd9, 0x24,
0x84, 0xfe, 0x03, 0x4c, 0xb2, 0x3f, 0xdf, 0xa1,
0x05, 0x9e, 0x50, 0x14, 0x5a, 0xd9, 0x1a, 0xa2,
0xa7, 0xfa, 0xfa, 0x17, 0xf7, 0x78, 0xd6, 0xb5,
0x92, 0x61, 0x91, 0xac, 0x36, 0xfa, 0x56, 0x0d,
0x38, 0x32, 0x18, 0x85, 0x08, 0x58, 0x37, 0xf0,
0x4b, 0xdb, 0x59, 0xe7, 0xa4, 0x34, 0xc0, 0x1b,
0x01, 0xaf, 0x2d, 0xde, 0xa1, 0xaa, 0x5d, 0xd3,
0xec, 0xe1, 0xd4, 0xf7, 0xe6, 0x54, 0x68, 0xf0,
0x51, 0x97, 0xa7, 0x89, 0xea, 0x24, 0xad, 0xd3,
0x6e, 0x47, 0x93, 0x8b, 0x4b, 0xb4, 0xf7, 0x1c,
0x42, 0x06, 0x67, 0xe8, 0x99, 0xf6, 0xf5, 0x7b,
0x85, 0xb5, 0x65, 0xb5, 0xb5, 0xd2, 0x37, 0xf5,
0xf3, 0x02, 0xa6, 0x4d, 0x11, 0xa7, 0xdc, 0x51,
0x09, 0x7f, 0xa0, 0xd8, 0x88, 0x1c, 0x13, 0x71,
0xae, 0x9c, 0xb7, 0x7b, 0x34, 0xd6, 0x4e, 0x68,
0x26, 0x83, 0x51, 0xaf, 0x1d, 0xee, 0x8b, 0xbb,
0x69, 0x43, 0x2b, 0x9e, 0x8a, 0xbc, 0x02, 0x0e,
0xa0, 0x1b, 0xe0, 0xa8, 0x5f, 0x6f, 0xaf, 0x1b,
0x8f, 0xe7, 0x64, 0x71, 0x74, 0x11, 0x7e, 0xa8,
0xd8, 0xf9, 0x97, 0x06, 0xc3, 0xb6, 0xfb, 0xfb,
0xb7, 0x3d, 0x35, 0x9d, 0x3b, 0x52, 0xed, 0x54,
0xca, 0xf4, 0x81, 0x01, 0x2d, 0x1b, 0xc3, 0xa7,
0x00, 0x3d, 0x1a, 0x39, 0x54, 0xe1, 0xf6, 0xff,
0xed, 0x6f, 0x0b, 0x5a, 0x68, 0xda, 0x58, 0xdd,
0xa9, 0xcf, 0x5c, 0x4a, 0xe5, 0x09, 0x4e, 0xde,
0x9d, 0xbc, 0x3e, 0xee, 0x5a, 0x00, 0x3b, 0x2c,
0x87, 0x10, 0x65, 0x60, 0xdd, 0xd7, 0x56, 0xd1,
0x4c, 0x64, 0x45, 0xe4, 0x21, 0xec, 0x78, 0xf8,
0x25, 0x7a, 0x3e, 0x16, 0x5d, 0x09, 0x53, 0x14,
0xbe, 0x4f, 0xae, 0x87, 0xd8, 0xd1, 0xaa, 0x3c,
0xf6, 0x3e, 0xa4, 0x70, 0x8c, 0x5e, 0x70, 0xa4,
0xb3, 0x6b, 0x66, 0x73, 0xd3, 0xbf, 0x31, 0x06,
0x19, 0x62, 0x93, 0x15, 0xf2, 0x86, 0xe4, 0x52,
0x7e, 0x53, 0x4c, 0x12, 0x38, 0xcc, 0x34, 0x7d,
0x57, 0xf6, 0x42, 0x93, 0x8a, 0xc4, 0xee, 0x5c,
0x8a, 0xe1, 0x52, 0x8f, 0x56, 0x64, 0xf6, 0xa6,
0xd1, 0x91, 0x57, 0x70, 0xcd, 0x11, 0x76, 0xf5,
0x59, 0x60, 0x60, 0x3c, 0xc1, 0xc3, 0x0b, 0x7f,
0x58, 0x1a, 0x50, 0x91, 0xf1, 0x68, 0x8f, 0x6e,
0x74, 0x74, 0xa8, 0x51, 0x0b, 0xf7, 0x7a, 0x98,
0x37, 0xf2, 0x0a, 0x0e, 0xa4, 0x97, 0x04, 0xb8,
0x9b, 0xfd, 0xa0, 0xea, 0xf7, 0x0d, 0xe1, 0xdb,
0x03, 0xf0, 0x31, 0x29, 0xf8, 0xdd, 0x6b, 0x8b,
0x5d, 0xd8, 0x59, 0xa9, 0x29, 0xcf, 0x9a, 0x79,
0x89, 0x19, 0x63, 0x46, 0x09, 0x79, 0x6a, 0x11,
0xda, 0x63, 0x68, 0x48, 0x77, 0x23, 0xfb, 0x7d,
0x3a, 0x43, 0xcb, 0x02, 0x3b, 0x7a, 0x6d, 0x10,
0x2a, 0x9e, 0xac, 0xf1, 0xd4, 0x19, 0xf8, 0x23,
0x64, 0x1d, 0x2c, 0x5f, 0xf2, 0xb0, 0x5c, 0x23,
0x27, 0xf7, 0x27, 0x30, 0x16, 0x37, 0xb1, 0x90,
0xab, 0x38, 0xfb, 0x55, 0xcd, 0x78, 0x58, 0xd4,
0x7d, 0x43, 0xf6, 0x45, 0x5e, 0x55, 0x8d, 0xb1,
0x02, 0x65, 0x58, 0xb4, 0x13, 0x4b, 0x36, 0xf7,
0xcc, 0xfe, 0x3d, 0x0b, 0x82, 0xe2, 0x12, 0x11,
0xbb, 0xe6, 0xb8, 0x3a, 0x48, 0x71, 0xc7, 0x50,
0x06, 0x16, 0x3a, 0xe6, 0x7c, 0x05, 0xc7, 0xc8,
0x4d, 0x2f, 0x08, 0x6a, 0x17, 0x9a, 0x95, 0x97,
0x50, 0x68, 0xdc, 0x28, 0x18, 0xc4, 0x61, 0x38,
0xb9, 0xe0, 0x3e, 0x78, 0xdb, 0x29, 0xe0, 0x9f,
0x52, 0xdd, 0xf8, 0x4f, 0x91, 0xc1, 0xd0, 0x33,
0xa1, 0x7a, 0x8e, 0x30, 0x13, 0x82, 0x07, 0x9f,
0xd3, 0x31, 0x0f, 0x23, 0xbe, 0x32, 0x5a, 0x75,
0xcf, 0x96, 0xb2, 0xec, 0xb5, 0x32, 0xac, 0x21,
0xd1, 0x82, 0x33, 0xd3, 0x15, 0x74, 0xbd, 0x90,
0xf1, 0x2c, 0xe6, 0x5f, 0x8d, 0xe3, 0x02, 0xe8,
0xe9, 0xc4, 0xca, 0x96, 0xeb, 0x0e, 0xbc, 0x91,
0xf4, 0xb9, 0xea, 0xd9, 0x1b, 0x75, 0xbd, 0xe1,
0xac, 0x2a, 0x05, 0x37, 0x52, 0x9b, 0x1b, 0x3f,
0x5a, 0xdc, 0x21, 0xc3, 0x98, 0xbb, 0xaf, 0xa3,
0xf2, 0x00, 0xbf, 0x0d, 0x30, 0x89, 0x05, 0xcc,
0xa5, 0x76, 0xf5, 0x06, 0xf0, 0xc6, 0x54, 0x8a,
0x5d, 0xd4, 0x1e, 0xc1, 0xf2, 0xce, 0xb0, 0x62,
0xc8, 0xfc, 0x59, 0x42, 0x9a, 0x90, 0x60, 0x55,
0xfe, 0x88, 0xa5, 0x8b, 0xb8, 0x33, 0x0c, 0x23,
0x24, 0x0d, 0x15, 0x70, 0x37, 0x1e, 0x3d, 0xf6,
0xd2, 0xea, 0x92, 0x10, 0xb2, 0xc4, 0x51, 0xac,
0xf2, 0xac, 0xf3, 0x6b, 0x6c, 0xaa, 0xcf, 0x12,
0xc5, 0x6c, 0x90, 0x50, 0xb5, 0x0c, 0xfc, 0x1a,
0x15, 0x52, 0xe9, 0x26, 0xc6, 0x52, 0xa4, 0xe7,
0x81, 0x69, 0xe1, 0xe7, 0x9e, 0x30, 0x01, 0xec,
0x84, 0x89, 0xb2, 0x0d, 0x66, 0xdd, 0xce, 0x28,
0x5c, 0xec, 0x98, 0x46, 0x68, 0x21, 0x9f, 0x88,
0x3f, 0x1f, 0x42, 0x77, 0xce, 0xd0, 0x61, 0xd4,
0x20, 0xa7, 0xff, 0x53, 0xad, 0x37, 0xd0, 0x17,
0x35, 0xc9, 0xfc, 0xba, 0x0a, 0x78, 0x3f, 0xf2,
0xcc, 0x86, 0x89, 0xe8, 0x4b, 0x3c, 0x48, 0x33,
0x09, 0x7f, 0xc6, 0xc0, 0xdd, 0xb8, 0xfd, 0x7a,
0x66, 0x66, 0x65, 0xeb, 0x47, 0xa7, 0x04, 0x28,
0xa3, 0x19, 0x8e, 0xa9, 0xb1, 0x13, 0x67, 0x62,
0x70, 0xcf, 0xd6
};
static const uint8_t chacha20poly1305_dec_output012[] = {
0x74, 0xa6, 0x3e, 0xe4, 0xb1, 0xcb, 0xaf, 0xb0,
0x40, 0xe5, 0x0f, 0x9e, 0xf1, 0xf2, 0x89, 0xb5,
0x42, 0x34, 0x8a, 0xa1, 0x03, 0xb7, 0xe9, 0x57,
0x46, 0xbe, 0x20, 0xe4, 0x6e, 0xb0, 0xeb, 0xff,
0xea, 0x07, 0x7e, 0xef, 0xe2, 0x55, 0x9f, 0xe5,
0x78, 0x3a, 0xb7, 0x83, 0xc2, 0x18, 0x40, 0x7b,
0xeb, 0xcd, 0x81, 0xfb, 0x90, 0x12, 0x9e, 0x46,
0xa9, 0xd6, 0x4a, 0xba, 0xb0, 0x62, 0xdb, 0x6b,
0x99, 0xc4, 0xdb, 0x54, 0x4b, 0xb8, 0xa5, 0x71,
0xcb, 0xcd, 0x63, 0x32, 0x55, 0xfb, 0x31, 0xf0,
0x38, 0xf5, 0xbe, 0x78, 0xe4, 0x45, 0xce, 0x1b,
0x6a, 0x5b, 0x0e, 0xf4, 0x16, 0xe4, 0xb1, 0x3d,
0xf6, 0x63, 0x7b, 0xa7, 0x0c, 0xde, 0x6f, 0x8f,
0x74, 0xdf, 0xe0, 0x1e, 0x9d, 0xce, 0x8f, 0x24,
0xef, 0x23, 0x35, 0x33, 0x7b, 0x83, 0x34, 0x23,
0x58, 0x74, 0x14, 0x77, 0x1f, 0xc2, 0x4f, 0x4e,
0xc6, 0x89, 0xf9, 0x52, 0x09, 0x37, 0x64, 0x14,
0xc4, 0x01, 0x6b, 0x9d, 0x77, 0xe8, 0x90, 0x5d,
0xa8, 0x4a, 0x2a, 0xef, 0x5c, 0x7f, 0xeb, 0xbb,
0xb2, 0xc6, 0x93, 0x99, 0x66, 0xdc, 0x7f, 0xd4,
0x9e, 0x2a, 0xca, 0x8d, 0xdb, 0xe7, 0x20, 0xcf,
0xe4, 0x73, 0xae, 0x49, 0x7d, 0x64, 0x0f, 0x0e,
0x28, 0x46, 0xa9, 0xa8, 0x32, 0xe4, 0x0e, 0xf6,
0x51, 0x53, 0xb8, 0x3c, 0xb1, 0xff, 0xa3, 0x33,
0x41, 0x75, 0xff, 0xf1, 0x6f, 0xf1, 0xfb, 0xbb,
0x83, 0x7f, 0x06, 0x9b, 0xe7, 0x1b, 0x0a, 0xe0,
0x5c, 0x33, 0x60, 0x5b, 0xdb, 0x5b, 0xed, 0xfe,
0xa5, 0x16, 0x19, 0x72, 0xa3, 0x64, 0x23, 0x00,
0x02, 0xc7, 0xf3, 0x6a, 0x81, 0x3e, 0x44, 0x1d,
0x79, 0x15, 0x5f, 0x9a, 0xde, 0xe2, 0xfd, 0x1b,
0x73, 0xc1, 0xbc, 0x23, 0xba, 0x31, 0xd2, 0x50,
0xd5, 0xad, 0x7f, 0x74, 0xa7, 0xc9, 0xf8, 0x3e,
0x2b, 0x26, 0x10, 0xf6, 0x03, 0x36, 0x74, 0xe4,
0x0e, 0x6a, 0x72, 0xb7, 0x73, 0x0a, 0x42, 0x28,
0xc2, 0xad, 0x5e, 0x03, 0xbe, 0xb8, 0x0b, 0xa8,
0x5b, 0xd4, 0xb8, 0xba, 0x52, 0x89, 0xb1, 0x9b,
0xc1, 0xc3, 0x65, 0x87, 0xed, 0xa5, 0xf4, 0x86,
0xfd, 0x41, 0x80, 0x91, 0x27, 0x59, 0x53, 0x67,
0x15, 0x78, 0x54, 0x8b, 0x2d, 0x3d, 0xc7, 0xff,
0x02, 0x92, 0x07, 0x5f, 0x7a, 0x4b, 0x60, 0x59,
0x3c, 0x6f, 0x5c, 0xd8, 0xec, 0x95, 0xd2, 0xfe,
0xa0, 0x3b, 0xd8, 0x3f, 0xd1, 0x69, 0xa6, 0xd6,
0x41, 0xb2, 0xf4, 0x4d, 0x12, 0xf4, 0x58, 0x3e,
0x66, 0x64, 0x80, 0x31, 0x9b, 0xa8, 0x4c, 0x8b,
0x07, 0xb2, 0xec, 0x66, 0x94, 0x66, 0x47, 0x50,
0x50, 0x5f, 0x18, 0x0b, 0x0e, 0xd6, 0xc0, 0x39,
0x21, 0x13, 0x9e, 0x33, 0xbc, 0x79, 0x36, 0x02,
0x96, 0x70, 0xf0, 0x48, 0x67, 0x2f, 0x26, 0xe9,
0x6d, 0x10, 0xbb, 0xd6, 0x3f, 0xd1, 0x64, 0x7a,
0x2e, 0xbe, 0x0c, 0x61, 0xf0, 0x75, 0x42, 0x38,
0x23, 0xb1, 0x9e, 0x9f, 0x7c, 0x67, 0x66, 0xd9,
0x58, 0x9a, 0xf1, 0xbb, 0x41, 0x2a, 0x8d, 0x65,
0x84, 0x94, 0xfc, 0xdc, 0x6a, 0x50, 0x64, 0xdb,
0x56, 0x33, 0x76, 0x00, 0x10, 0xed, 0xbe, 0xd2,
0x12, 0xf6, 0xf6, 0x1b, 0xa2, 0x16, 0xde, 0xae,
0x31, 0x95, 0xdd, 0xb1, 0x08, 0x7e, 0x4e, 0xee,
0xe7, 0xf9, 0xa5, 0xfb, 0x5b, 0x61, 0x43, 0x00,
0x40, 0xf6, 0x7e, 0x02, 0x04, 0x32, 0x4e, 0x0c,
0xe2, 0x66, 0x0d, 0xd7, 0x07, 0x98, 0x0e, 0xf8,
0x72, 0x34, 0x6d, 0x95, 0x86, 0xd7, 0xcb, 0x31,
0x54, 0x47, 0xd0, 0x38, 0x29, 0x9c, 0x5a, 0x68,
0xd4, 0x87, 0x76, 0xc9, 0xe7, 0x7e, 0xe3, 0xf4,
0x81, 0x6d, 0x18, 0xcb, 0xc9, 0x05, 0xaf, 0xa0,
0xfb, 0x66, 0xf7, 0xf1, 0x1c, 0xc6, 0x14, 0x11,
0x4f, 0x2b, 0x79, 0x42, 0x8b, 0xbc, 0xac, 0xe7,
0x6c, 0xfe, 0x0f, 0x58, 0xe7, 0x7c, 0x78, 0x39,
0x30, 0xb0, 0x66, 0x2c, 0x9b, 0x6d, 0x3a, 0xe1,
0xcf, 0xc9, 0xa4, 0x0e, 0x6d, 0x6d, 0x8a, 0xa1,
0x3a, 0xe7, 0x28, 0xd4, 0x78, 0x4c, 0xa6, 0xa2,
0x2a, 0xa6, 0x03, 0x30, 0xd7, 0xa8, 0x25, 0x66,
0x87, 0x2f, 0x69, 0x5c, 0x4e, 0xdd, 0xa5, 0x49,
0x5d, 0x37, 0x4a, 0x59, 0xc4, 0xaf, 0x1f, 0xa2,
0xe4, 0xf8, 0xa6, 0x12, 0x97, 0xd5, 0x79, 0xf5,
0xe2, 0x4a, 0x2b, 0x5f, 0x61, 0xe4, 0x9e, 0xe3,
0xee, 0xb8, 0xa7, 0x5b, 0x2f, 0xf4, 0x9e, 0x6c,
0xfb, 0xd1, 0xc6, 0x56, 0x77, 0xba, 0x75, 0xaa,
0x3d, 0x1a, 0xa8, 0x0b, 0xb3, 0x68, 0x24, 0x00,
0x10, 0x7f, 0xfd, 0xd7, 0xa1, 0x8d, 0x83, 0x54,
0x4f, 0x1f, 0xd8, 0x2a, 0xbe, 0x8a, 0x0c, 0x87,
0xab, 0xa2, 0xde, 0xc3, 0x39, 0xbf, 0x09, 0x03,
0xa5, 0xf3, 0x05, 0x28, 0xe1, 0xe1, 0xee, 0x39,
0x70, 0x9c, 0xd8, 0x81, 0x12, 0x1e, 0x02, 0x40,
0xd2, 0x6e, 0xf0, 0xeb, 0x1b, 0x3d, 0x22, 0xc6,
0xe5, 0xe3, 0xb4, 0x5a, 0x98, 0xbb, 0xf0, 0x22,
0x28, 0x8d, 0xe5, 0xd3, 0x16, 0x48, 0x24, 0xa5,
0xe6, 0x66, 0x0c, 0xf9, 0x08, 0xf9, 0x7e, 0x1e,
0xe1, 0x28, 0x26, 0x22, 0xc7, 0xc7, 0x0a, 0x32,
0x47, 0xfa, 0xa3, 0xbe, 0x3c, 0xc4, 0xc5, 0x53,
0x0a, 0xd5, 0x94, 0x4a, 0xd7, 0x93, 0xd8, 0x42,
0x99, 0xb9, 0x0a, 0xdb, 0x56, 0xf7, 0xb9, 0x1c,
0x53, 0x4f, 0xfa, 0xd3, 0x74, 0xad, 0xd9, 0x68,
0xf1, 0x1b, 0xdf, 0x61, 0xc6, 0x5e, 0xa8, 0x48,
0xfc, 0xd4, 0x4a, 0x4c, 0x3c, 0x32, 0xf7, 0x1c,
0x96, 0x21, 0x9b, 0xf9, 0xa3, 0xcc, 0x5a, 0xce,
0xd5, 0xd7, 0x08, 0x24, 0xf6, 0x1c, 0xfd, 0xdd,
0x38, 0xc2, 0x32, 0xe9, 0xb8, 0xe7, 0xb6, 0xfa,
0x9d, 0x45, 0x13, 0x2c, 0x83, 0xfd, 0x4a, 0x69,
0x82, 0xcd, 0xdc, 0xb3, 0x76, 0x0c, 0x9e, 0xd8,
0xf4, 0x1b, 0x45, 0x15, 0xb4, 0x97, 0xe7, 0x58,
0x34, 0xe2, 0x03, 0x29, 0x5a, 0xbf, 0xb6, 0xe0,
0x5d, 0x13, 0xd9, 0x2b, 0xb4, 0x80, 0xb2, 0x45,
0x81, 0x6a, 0x2e, 0x6c, 0x89, 0x7d, 0xee, 0xbb,
0x52, 0xdd, 0x1f, 0x18, 0xe7, 0x13, 0x6b, 0x33,
0x0e, 0xea, 0x36, 0x92, 0x77, 0x7b, 0x6d, 0x9c,
0x5a, 0x5f, 0x45, 0x7b, 0x7b, 0x35, 0x62, 0x23,
0xd1, 0xbf, 0x0f, 0xd0, 0x08, 0x1b, 0x2b, 0x80,
0x6b, 0x7e, 0xf1, 0x21, 0x47, 0xb0, 0x57, 0xd1,
0x98, 0x72, 0x90, 0x34, 0x1c, 0x20, 0x04, 0xff,
0x3d, 0x5c, 0xee, 0x0e, 0x57, 0x5f, 0x6f, 0x24,
0x4e, 0x3c, 0xea, 0xfc, 0xa5, 0xa9, 0x83, 0xc9,
0x61, 0xb4, 0x51, 0x24, 0xf8, 0x27, 0x5e, 0x46,
0x8c, 0xb1, 0x53, 0x02, 0x96, 0x35, 0xba, 0xb8,
0x4c, 0x71, 0xd3, 0x15, 0x59, 0x35, 0x22, 0x20,
0xad, 0x03, 0x9f, 0x66, 0x44, 0x3b, 0x9c, 0x35,
0x37, 0x1f, 0x9b, 0xbb, 0xf3, 0xdb, 0x35, 0x63,
0x30, 0x64, 0xaa, 0xa2, 0x06, 0xa8, 0x5d, 0xbb,
0xe1, 0x9f, 0x70, 0xec, 0x82, 0x11, 0x06, 0x36,
0xec, 0x8b, 0x69, 0x66, 0x24, 0x44, 0xc9, 0x4a,
0x57, 0xbb, 0x9b, 0x78, 0x13, 0xce, 0x9c, 0x0c,
0xba, 0x92, 0x93, 0x63, 0xb8, 0xe2, 0x95, 0x0f,
0x0f, 0x16, 0x39, 0x52, 0xfd, 0x3a, 0x6d, 0x02,
0x4b, 0xdf, 0x13, 0xd3, 0x2a, 0x22, 0xb4, 0x03,
0x7c, 0x54, 0x49, 0x96, 0x68, 0x54, 0x10, 0xfa,
0xef, 0xaa, 0x6c, 0xe8, 0x22, 0xdc, 0x71, 0x16,
0x13, 0x1a, 0xf6, 0x28, 0xe5, 0x6d, 0x77, 0x3d,
0xcd, 0x30, 0x63, 0xb1, 0x70, 0x52, 0xa1, 0xc5,
0x94, 0x5f, 0xcf, 0xe8, 0xb8, 0x26, 0x98, 0xf7,
0x06, 0xa0, 0x0a, 0x70, 0xfa, 0x03, 0x80, 0xac,
0xc1, 0xec, 0xd6, 0x4c, 0x54, 0xd7, 0xfe, 0x47,
0xb6, 0x88, 0x4a, 0xf7, 0x71, 0x24, 0xee, 0xf3,
0xd2, 0xc2, 0x4a, 0x7f, 0xfe, 0x61, 0xc7, 0x35,
0xc9, 0x37, 0x67, 0xcb, 0x24, 0x35, 0xda, 0x7e,
0xca, 0x5f, 0xf3, 0x8d, 0xd4, 0x13, 0x8e, 0xd6,
0xcb, 0x4d, 0x53, 0x8f, 0x53, 0x1f, 0xc0, 0x74,
0xf7, 0x53, 0xb9, 0x5e, 0x23, 0x37, 0xba, 0x6e,
0xe3, 0x9d, 0x07, 0x55, 0x25, 0x7b, 0xe6, 0x2a,
0x64, 0xd1, 0x32, 0xdd, 0x54, 0x1b, 0x4b, 0xc0,
0xe1, 0xd7, 0x69, 0x58, 0xf8, 0x93, 0x29, 0xc4,
0xdd, 0x23, 0x2f, 0xa5, 0xfc, 0x9d, 0x7e, 0xf8,
0xd4, 0x90, 0xcd, 0x82, 0x55, 0xdc, 0x16, 0x16,
0x9f, 0x07, 0x52, 0x9b, 0x9d, 0x25, 0xed, 0x32,
0xc5, 0x7b, 0xdf, 0xf6, 0x83, 0x46, 0x3d, 0x65,
0xb7, 0xef, 0x87, 0x7a, 0x12, 0x69, 0x8f, 0x06,
0x7c, 0x51, 0x15, 0x4a, 0x08, 0xe8, 0xac, 0x9a,
0x0c, 0x24, 0xa7, 0x27, 0xd8, 0x46, 0x2f, 0xe7,
0x01, 0x0e, 0x1c, 0xc6, 0x91, 0xb0, 0x6e, 0x85,
0x65, 0xf0, 0x29, 0x0d, 0x2e, 0x6b, 0x3b, 0xfb,
0x4b, 0xdf, 0xe4, 0x80, 0x93, 0x03, 0x66, 0x46,
0x3e, 0x8a, 0x6e, 0xf3, 0x5e, 0x4d, 0x62, 0x0e,
0x49, 0x05, 0xaf, 0xd4, 0xf8, 0x21, 0x20, 0x61,
0x1d, 0x39, 0x17, 0xf4, 0x61, 0x47, 0x95, 0xfb,
0x15, 0x2e, 0xb3, 0x4f, 0xd0, 0x5d, 0xf5, 0x7d,
0x40, 0xda, 0x90, 0x3c, 0x6b, 0xcb, 0x17, 0x00,
0x13, 0x3b, 0x64, 0x34, 0x1b, 0xf0, 0xf2, 0xe5,
0x3b, 0xb2, 0xc7, 0xd3, 0x5f, 0x3a, 0x44, 0xa6,
0x9b, 0xb7, 0x78, 0x0e, 0x42, 0x5d, 0x4c, 0xc1,
0xe9, 0xd2, 0xcb, 0xb7, 0x78, 0xd1, 0xfe, 0x9a,
0xb5, 0x07, 0xe9, 0xe0, 0xbe, 0xe2, 0x8a, 0xa7,
0x01, 0x83, 0x00, 0x8c, 0x5c, 0x08, 0xe6, 0x63,
0x12, 0x92, 0xb7, 0xb7, 0xa6, 0x19, 0x7d, 0x38,
0x13, 0x38, 0x92, 0x87, 0x24, 0xf9, 0x48, 0xb3,
0x5e, 0x87, 0x6a, 0x40, 0x39, 0x5c, 0x3f, 0xed,
0x8f, 0xee, 0xdb, 0x15, 0x82, 0x06, 0xda, 0x49,
0x21, 0x2b, 0xb5, 0xbf, 0x32, 0x7c, 0x9f, 0x42,
0x28, 0x63, 0xcf, 0xaf, 0x1e, 0xf8, 0xc6, 0xa0,
0xd1, 0x02, 0x43, 0x57, 0x62, 0xec, 0x9b, 0x0f,
0x01, 0x9e, 0x71, 0xd8, 0x87, 0x9d, 0x01, 0xc1,
0x58, 0x77, 0xd9, 0xaf, 0xb1, 0x10, 0x7e, 0xdd,
0xa6, 0x50, 0x96, 0xe5, 0xf0, 0x72, 0x00, 0x6d,
0x4b, 0xf8, 0x2a, 0x8f, 0x19, 0xf3, 0x22, 0x88,
0x11, 0x4a, 0x8b, 0x7c, 0xfd, 0xb7, 0xed, 0xe1,
0xf6, 0x40, 0x39, 0xe0, 0xe9, 0xf6, 0x3d, 0x25,
0xe6, 0x74, 0x3c, 0x58, 0x57, 0x7f, 0xe1, 0x22,
0x96, 0x47, 0x31, 0x91, 0xba, 0x70, 0x85, 0x28,
0x6b, 0x9f, 0x6e, 0x25, 0xac, 0x23, 0x66, 0x2f,
0x29, 0x88, 0x28, 0xce, 0x8c, 0x5c, 0x88, 0x53,
0xd1, 0x3b, 0xcc, 0x6a, 0x51, 0xb2, 0xe1, 0x28,
0x3f, 0x91, 0xb4, 0x0d, 0x00, 0x3a, 0xe3, 0xf8,
0xc3, 0x8f, 0xd7, 0x96, 0x62, 0x0e, 0x2e, 0xfc,
0xc8, 0x6c, 0x77, 0xa6, 0x1d, 0x22, 0xc1, 0xb8,
0xe6, 0x61, 0xd7, 0x67, 0x36, 0x13, 0x7b, 0xbb,
0x9b, 0x59, 0x09, 0xa6, 0xdf, 0xf7, 0x6b, 0xa3,
0x40, 0x1a, 0xf5, 0x4f, 0xb4, 0xda, 0xd3, 0xf3,
0x81, 0x93, 0xc6, 0x18, 0xd9, 0x26, 0xee, 0xac,
0xf0, 0xaa, 0xdf, 0xc5, 0x9c, 0xca, 0xc2, 0xa2,
0xcc, 0x7b, 0x5c, 0x24, 0xb0, 0xbc, 0xd0, 0x6a,
0x4d, 0x89, 0x09, 0xb8, 0x07, 0xfe, 0x87, 0xad,
0x0a, 0xea, 0xb8, 0x42, 0xf9, 0x5e, 0xb3, 0x3e,
0x36, 0x4c, 0xaf, 0x75, 0x9e, 0x1c, 0xeb, 0xbd,
0xbc, 0xbb, 0x80, 0x40, 0xa7, 0x3a, 0x30, 0xbf,
0xa8, 0x44, 0xf4, 0xeb, 0x38, 0xad, 0x29, 0xba,
0x23, 0xed, 0x41, 0x0c, 0xea, 0xd2, 0xbb, 0x41,
0x18, 0xd6, 0xb9, 0xba, 0x65, 0x2b, 0xa3, 0x91,
0x6d, 0x1f, 0xa9, 0xf4, 0xd1, 0x25, 0x8d, 0x4d,
0x38, 0xff, 0x64, 0xa0, 0xec, 0xde, 0xa6, 0xb6,
0x79, 0xab, 0x8e, 0x33, 0x6c, 0x47, 0xde, 0xaf,
0x94, 0xa4, 0xa5, 0x86, 0x77, 0x55, 0x09, 0x92,
0x81, 0x31, 0x76, 0xc7, 0x34, 0x22, 0x89, 0x8e,
0x3d, 0x26, 0x26, 0xd7, 0xfc, 0x1e, 0x16, 0x72,
0x13, 0x33, 0x63, 0xd5, 0x22, 0xbe, 0xb8, 0x04,
0x34, 0x84, 0x41, 0xbb, 0x80, 0xd0, 0x9f, 0x46,
0x48, 0x07, 0xa7, 0xfc, 0x2b, 0x3a, 0x75, 0x55,
0x8c, 0xc7, 0x6a, 0xbd, 0x7e, 0x46, 0x08, 0x84,
0x0f, 0xd5, 0x74, 0xc0, 0x82, 0x8e, 0xaa, 0x61,
0x05, 0x01, 0xb2, 0x47, 0x6e, 0x20, 0x6a, 0x2d,
0x58, 0x70, 0x48, 0x32, 0xa7, 0x37, 0xd2, 0xb8,
0x82, 0x1a, 0x51, 0xb9, 0x61, 0xdd, 0xfd, 0x9d,
0x6b, 0x0e, 0x18, 0x97, 0xf8, 0x45, 0x5f, 0x87,
0x10, 0xcf, 0x34, 0x72, 0x45, 0x26, 0x49, 0x70,
0xe7, 0xa3, 0x78, 0xe0, 0x52, 0x89, 0x84, 0x94,
0x83, 0x82, 0xc2, 0x69, 0x8f, 0xe3, 0xe1, 0x3f,
0x60, 0x74, 0x88, 0xc4, 0xf7, 0x75, 0x2c, 0xfb,
0xbd, 0xb6, 0xc4, 0x7e, 0x10, 0x0a, 0x6c, 0x90,
0x04, 0x9e, 0xc3, 0x3f, 0x59, 0x7c, 0xce, 0x31,
0x18, 0x60, 0x57, 0x73, 0x46, 0x94, 0x7d, 0x06,
0xa0, 0x6d, 0x44, 0xec, 0xa2, 0x0a, 0x9e, 0x05,
0x15, 0xef, 0xca, 0x5c, 0xbf, 0x00, 0xeb, 0xf7,
0x3d, 0x32, 0xd4, 0xa5, 0xef, 0x49, 0x89, 0x5e,
0x46, 0xb0, 0xa6, 0x63, 0x5b, 0x8a, 0x73, 0xae,
0x6f, 0xd5, 0x9d, 0xf8, 0x4f, 0x40, 0xb5, 0xb2,
0x6e, 0xd3, 0xb6, 0x01, 0xa9, 0x26, 0xa2, 0x21,
0xcf, 0x33, 0x7a, 0x3a, 0xa4, 0x23, 0x13, 0xb0,
0x69, 0x6a, 0xee, 0xce, 0xd8, 0x9d, 0x01, 0x1d,
0x50, 0xc1, 0x30, 0x6c, 0xb1, 0xcd, 0xa0, 0xf0,
0xf0, 0xa2, 0x64, 0x6f, 0xbb, 0xbf, 0x5e, 0xe6,
0xab, 0x87, 0xb4, 0x0f, 0x4f, 0x15, 0xaf, 0xb5,
0x25, 0xa1, 0xb2, 0xd0, 0x80, 0x2c, 0xfb, 0xf9,
0xfe, 0xd2, 0x33, 0xbb, 0x76, 0xfe, 0x7c, 0xa8,
0x66, 0xf7, 0xe7, 0x85, 0x9f, 0x1f, 0x85, 0x57,
0x88, 0xe1, 0xe9, 0x63, 0xe4, 0xd8, 0x1c, 0xa1,
0xfb, 0xda, 0x44, 0x05, 0x2e, 0x1d, 0x3a, 0x1c,
0xff, 0xc8, 0x3b, 0xc0, 0xfe, 0xda, 0x22, 0x0b,
0x43, 0xd6, 0x88, 0x39, 0x4c, 0x4a, 0xa6, 0x69,
0x18, 0x93, 0x42, 0x4e, 0xb5, 0xcc, 0x66, 0x0d,
0x09, 0xf8, 0x1e, 0x7c, 0xd3, 0x3c, 0x99, 0x0d,
0x50, 0x1d, 0x62, 0xe9, 0x57, 0x06, 0xbf, 0x19,
0x88, 0xdd, 0xad, 0x7b, 0x4f, 0xf9, 0xc7, 0x82,
0x6d, 0x8d, 0xc8, 0xc4, 0xc5, 0x78, 0x17, 0x20,
0x15, 0xc5, 0x52, 0x41, 0xcf, 0x5b, 0xd6, 0x7f,
0x94, 0x02, 0x41, 0xe0, 0x40, 0x22, 0x03, 0x5e,
0xd1, 0x53, 0xd4, 0x86, 0xd3, 0x2c, 0x9f, 0x0f,
0x96, 0xe3, 0x6b, 0x9a, 0x76, 0x32, 0x06, 0x47,
0x4b, 0x11, 0xb3, 0xdd, 0x03, 0x65, 0xbd, 0x9b,
0x01, 0xda, 0x9c, 0xb9, 0x7e, 0x3f, 0x6a, 0xc4,
0x7b, 0xea, 0xd4, 0x3c, 0xb9, 0xfb, 0x5c, 0x6b,
0x64, 0x33, 0x52, 0xba, 0x64, 0x78, 0x8f, 0xa4,
0xaf, 0x7a, 0x61, 0x8d, 0xbc, 0xc5, 0x73, 0xe9,
0x6b, 0x58, 0x97, 0x4b, 0xbf, 0x63, 0x22, 0xd3,
0x37, 0x02, 0x54, 0xc5, 0xb9, 0x16, 0x4a, 0xf0,
0x19, 0xd8, 0x94, 0x57, 0xb8, 0x8a, 0xb3, 0x16,
0x3b, 0xd0, 0x84, 0x8e, 0x67, 0xa6, 0xa3, 0x7d,
0x78, 0xec, 0x00
};
static const uint8_t chacha20poly1305_dec_assoc012[] = {
0xb1, 0x69, 0x83, 0x87, 0x30, 0xaa, 0x5d, 0xb8,
0x77, 0xe8, 0x21, 0xff, 0x06, 0x59, 0x35, 0xce,
0x75, 0xfe, 0x38, 0xef, 0xb8, 0x91, 0x43, 0x8c,
0xcf, 0x70, 0xdd, 0x0a, 0x68, 0xbf, 0xd4, 0xbc,
0x16, 0x76, 0x99, 0x36, 0x1e, 0x58, 0x79, 0x5e,
0xd4, 0x29, 0xf7, 0x33, 0x93, 0x48, 0xdb, 0x5f,
0x01, 0xae, 0x9c, 0xb6, 0xe4, 0x88, 0x6d, 0x2b,
0x76, 0x75, 0xe0, 0xf3, 0x74, 0xe2, 0xc9
};
static const uint8_t chacha20poly1305_dec_nonce012[] = {
0x05, 0xa3, 0x93, 0xed, 0x30, 0xc5, 0xa2, 0x06
};
static const uint8_t chacha20poly1305_dec_key012[] = {
0xb3, 0x35, 0x50, 0x03, 0x54, 0x2e, 0x40, 0x5e,
0x8f, 0x59, 0x8e, 0xc5, 0x90, 0xd5, 0x27, 0x2d,
0xba, 0x29, 0x2e, 0xcb, 0x1b, 0x70, 0x44, 0x1e,
0x65, 0x91, 0x6e, 0x2a, 0x79, 0x22, 0xda, 0x64
};
static const uint8_t chacha20poly1305_dec_input013[] = {
0x52, 0x34, 0xb3, 0x65, 0x3b, 0xb7, 0xe5, 0xd3,
0xab, 0x49, 0x17, 0x60, 0xd2, 0x52, 0x56, 0xdf,
0xdf, 0x34, 0x56, 0x82, 0xe2, 0xbe, 0xe5, 0xe1,
0x28, 0xd1, 0x4e, 0x5f, 0x4f, 0x01, 0x7d, 0x3f,
0x99, 0x6b, 0x30, 0x6e, 0x1a, 0x7c, 0x4c, 0x8e,
0x62, 0x81, 0xae, 0x86, 0x3f, 0x6b, 0xd0, 0xb5,
0xa9, 0xcf, 0x50, 0xf1, 0x02, 0x12, 0xa0, 0x0b,
0x24, 0xe9, 0xe6, 0x72, 0x89, 0x2c, 0x52, 0x1b,
0x34, 0x38, 0xf8, 0x75, 0x5f, 0xa0, 0x74, 0xe2,
0x99, 0xdd, 0xa6, 0x4b, 0x14, 0x50, 0x4e, 0xf1,
0xbe, 0xd6, 0x9e, 0xdb, 0xb2, 0x24, 0x27, 0x74,
0x12, 0x4a, 0x78, 0x78, 0x17, 0xa5, 0x58, 0x8e,
0x2f, 0xf9, 0xf4, 0x8d, 0xee, 0x03, 0x88, 0xae,
0xb8, 0x29, 0xa1, 0x2f, 0x4b, 0xee, 0x92, 0xbd,
0x87, 0xb3, 0xce, 0x34, 0x21, 0x57, 0x46, 0x04,
0x49, 0x0c, 0x80, 0xf2, 0x01, 0x13, 0xa1, 0x55,
0xb3, 0xff, 0x44, 0x30, 0x3c, 0x1c, 0xd0, 0xef,
0xbc, 0x18, 0x74, 0x26, 0xad, 0x41, 0x5b, 0x5b,
0x3e, 0x9a, 0x7a, 0x46, 0x4f, 0x16, 0xd6, 0x74,
0x5a, 0xb7, 0x3a, 0x28, 0x31, 0xd8, 0xae, 0x26,
0xac, 0x50, 0x53, 0x86, 0xf2, 0x56, 0xd7, 0x3f,
0x29, 0xbc, 0x45, 0x68, 0x8e, 0xcb, 0x98, 0x64,
0xdd, 0xc9, 0xba, 0xb8, 0x4b, 0x7b, 0x82, 0xdd,
0x14, 0xa7, 0xcb, 0x71, 0x72, 0x00, 0x5c, 0xad,
0x7b, 0x6a, 0x89, 0xa4, 0x3d, 0xbf, 0xb5, 0x4b,
0x3e, 0x7c, 0x5a, 0xcf, 0xb8, 0xa1, 0xc5, 0x6e,
0xc8, 0xb6, 0x31, 0x57, 0x7b, 0xdf, 0xa5, 0x7e,
0xb1, 0xd6, 0x42, 0x2a, 0x31, 0x36, 0xd1, 0xd0,
0x3f, 0x7a, 0xe5, 0x94, 0xd6, 0x36, 0xa0, 0x6f,
0xb7, 0x40, 0x7d, 0x37, 0xc6, 0x55, 0x7c, 0x50,
0x40, 0x6d, 0x29, 0x89, 0xe3, 0x5a, 0xae, 0x97,
0xe7, 0x44, 0x49, 0x6e, 0xbd, 0x81, 0x3d, 0x03,
0x93, 0x06, 0x12, 0x06, 0xe2, 0x41, 0x12, 0x4a,
0xf1, 0x6a, 0xa4, 0x58, 0xa2, 0xfb, 0xd2, 0x15,
0xba, 0xc9, 0x79, 0xc9, 0xce, 0x5e, 0x13, 0xbb,
0xf1, 0x09, 0x04, 0xcc, 0xfd, 0xe8, 0x51, 0x34,
0x6a, 0xe8, 0x61, 0x88, 0xda, 0xed, 0x01, 0x47,
0x84, 0xf5, 0x73, 0x25, 0xf9, 0x1c, 0x42, 0x86,
0x07, 0xf3, 0x5b, 0x1a, 0x01, 0xb3, 0xeb, 0x24,
0x32, 0x8d, 0xf6, 0xed, 0x7c, 0x4b, 0xeb, 0x3c,
0x36, 0x42, 0x28, 0xdf, 0xdf, 0xb6, 0xbe, 0xd9,
0x8c, 0x52, 0xd3, 0x2b, 0x08, 0x90, 0x8c, 0xe7,
0x98, 0x31, 0xe2, 0x32, 0x8e, 0xfc, 0x11, 0x48,
0x00, 0xa8, 0x6a, 0x42, 0x4a, 0x02, 0xc6, 0x4b,
0x09, 0xf1, 0xe3, 0x49, 0xf3, 0x45, 0x1f, 0x0e,
0xbc, 0x56, 0xe2, 0xe4, 0xdf, 0xfb, 0xeb, 0x61,
0xfa, 0x24, 0xc1, 0x63, 0x75, 0xbb, 0x47, 0x75,
0xaf, 0xe1, 0x53, 0x16, 0x96, 0x21, 0x85, 0x26,
0x11, 0xb3, 0x76, 0xe3, 0x23, 0xa1, 0x6b, 0x74,
0x37, 0xd0, 0xde, 0x06, 0x90, 0x71, 0x5d, 0x43,
0x88, 0x9b, 0x00, 0x54, 0xa6, 0x75, 0x2f, 0xa1,
0xc2, 0x0b, 0x73, 0x20, 0x1d, 0xb6, 0x21, 0x79,
0x57, 0x3f, 0xfa, 0x09, 0xbe, 0x8a, 0x33, 0xc3,
0x52, 0xf0, 0x1d, 0x82, 0x31, 0xd1, 0x55, 0xb5,
0x6c, 0x99, 0x25, 0xcf, 0x5c, 0x32, 0xce, 0xe9,
0x0d, 0xfa, 0x69, 0x2c, 0xd5, 0x0d, 0xc5, 0x6d,
0x86, 0xd0, 0x0c, 0x3b, 0x06, 0x50, 0x79, 0xe8,
0xc3, 0xae, 0x04, 0xe6, 0xcd, 0x51, 0xe4, 0x26,
0x9b, 0x4f, 0x7e, 0xa6, 0x0f, 0xab, 0xd8, 0xe5,
0xde, 0xa9, 0x00, 0x95, 0xbe, 0xa3, 0x9d, 0x5d,
0xb2, 0x09, 0x70, 0x18, 0x1c, 0xf0, 0xac, 0x29,
0x23, 0x02, 0x29, 0x28, 0xd2, 0x74, 0x35, 0x57,
0x62, 0x0f, 0x24, 0xea, 0x5e, 0x33, 0xc2, 0x92,
0xf3, 0x78, 0x4d, 0x30, 0x1e, 0xa1, 0x99, 0xa9,
0x82, 0xb0, 0x42, 0x31, 0x8d, 0xad, 0x8a, 0xbc,
0xfc, 0xd4, 0x57, 0x47, 0x3e, 0xb4, 0x50, 0xdd,
0x6e, 0x2c, 0x80, 0x4d, 0x22, 0xf1, 0xfb, 0x57,
0xc4, 0xdd, 0x17, 0xe1, 0x8a, 0x36, 0x4a, 0xb3,
0x37, 0xca, 0xc9, 0x4e, 0xab, 0xd5, 0x69, 0xc4,
0xf4, 0xbc, 0x0b, 0x3b, 0x44, 0x4b, 0x29, 0x9c,
0xee, 0xd4, 0x35, 0x22, 0x21, 0xb0, 0x1f, 0x27,
0x64, 0xa8, 0x51, 0x1b, 0xf0, 0x9f, 0x19, 0x5c,
0xfb, 0x5a, 0x64, 0x74, 0x70, 0x45, 0x09, 0xf5,
0x64, 0xfe, 0x1a, 0x2d, 0xc9, 0x14, 0x04, 0x14,
0xcf, 0xd5, 0x7d, 0x60, 0xaf, 0x94, 0x39, 0x94,
0xe2, 0x7d, 0x79, 0x82, 0xd0, 0x65, 0x3b, 0x6b,
0x9c, 0x19, 0x84, 0xb4, 0x6d, 0xb3, 0x0c, 0x99,
0xc0, 0x56, 0xa8, 0xbd, 0x73, 0xce, 0x05, 0x84,
0x3e, 0x30, 0xaa, 0xc4, 0x9b, 0x1b, 0x04, 0x2a,
0x9f, 0xd7, 0x43, 0x2b, 0x23, 0xdf, 0xbf, 0xaa,
0xd5, 0xc2, 0x43, 0x2d, 0x70, 0xab, 0xdc, 0x75,
0xad, 0xac, 0xf7, 0xc0, 0xbe, 0x67, 0xb2, 0x74,
0xed, 0x67, 0x10, 0x4a, 0x92, 0x60, 0xc1, 0x40,
0x50, 0x19, 0x8a, 0x8a, 0x8c, 0x09, 0x0e, 0x72,
0xe1, 0x73, 0x5e, 0xe8, 0x41, 0x85, 0x63, 0x9f,
0x3f, 0xd7, 0x7d, 0xc4, 0xfb, 0x22, 0x5d, 0x92,
0x6c, 0xb3, 0x1e, 0xe2, 0x50, 0x2f, 0x82, 0xa8,
0x28, 0xc0, 0xb5, 0xd7, 0x5f, 0x68, 0x0d, 0x2c,
0x2d, 0xaf, 0x7e, 0xfa, 0x2e, 0x08, 0x0f, 0x1f,
0x70, 0x9f, 0xe9, 0x19, 0x72, 0x55, 0xf8, 0xfb,
0x51, 0xd2, 0x33, 0x5d, 0xa0, 0xd3, 0x2b, 0x0a,
0x6c, 0xbc, 0x4e, 0xcf, 0x36, 0x4d, 0xdc, 0x3b,
0xe9, 0x3e, 0x81, 0x7c, 0x61, 0xdb, 0x20, 0x2d,
0x3a, 0xc3, 0xb3, 0x0c, 0x1e, 0x00, 0xb9, 0x7c,
0xf5, 0xca, 0x10, 0x5f, 0x3a, 0x71, 0xb3, 0xe4,
0x20, 0xdb, 0x0c, 0x2a, 0x98, 0x63, 0x45, 0x00,
0x58, 0xf6, 0x68, 0xe4, 0x0b, 0xda, 0x13, 0x3b,
0x60, 0x5c, 0x76, 0xdb, 0xb9, 0x97, 0x71, 0xe4,
0xd9, 0xb7, 0xdb, 0xbd, 0x68, 0xc7, 0x84, 0x84,
0xaa, 0x7c, 0x68, 0x62, 0x5e, 0x16, 0xfc, 0xba,
0x72, 0xaa, 0x9a, 0xa9, 0xeb, 0x7c, 0x75, 0x47,
0x97, 0x7e, 0xad, 0xe2, 0xd9, 0x91, 0xe8, 0xe4,
0xa5, 0x31, 0xd7, 0x01, 0x8e, 0xa2, 0x11, 0x88,
0x95, 0xb9, 0xf2, 0x9b, 0xd3, 0x7f, 0x1b, 0x81,
0x22, 0xf7, 0x98, 0x60, 0x0a, 0x64, 0xa6, 0xc1,
0xf6, 0x49, 0xc7, 0xe3, 0x07, 0x4d, 0x94, 0x7a,
0xcf, 0x6e, 0x68, 0x0c, 0x1b, 0x3f, 0x6e, 0x2e,
0xee, 0x92, 0xfa, 0x52, 0xb3, 0x59, 0xf8, 0xf1,
0x8f, 0x6a, 0x66, 0xa3, 0x82, 0x76, 0x4a, 0x07,
0x1a, 0xc7, 0xdd, 0xf5, 0xda, 0x9c, 0x3c, 0x24,
0xbf, 0xfd, 0x42, 0xa1, 0x10, 0x64, 0x6a, 0x0f,
0x89, 0xee, 0x36, 0xa5, 0xce, 0x99, 0x48, 0x6a,
0xf0, 0x9f, 0x9e, 0x69, 0xa4, 0x40, 0x20, 0xe9,
0x16, 0x15, 0xf7, 0xdb, 0x75, 0x02, 0xcb, 0xe9,
0x73, 0x8b, 0x3b, 0x49, 0x2f, 0xf0, 0xaf, 0x51,
0x06, 0x5c, 0xdf, 0x27, 0x27, 0x49, 0x6a, 0xd1,
0xcc, 0xc7, 0xb5, 0x63, 0xb5, 0xfc, 0xb8, 0x5c,
0x87, 0x7f, 0x84, 0xb4, 0xcc, 0x14, 0xa9, 0x53,
0xda, 0xa4, 0x56, 0xf8, 0xb6, 0x1b, 0xcc, 0x40,
0x27, 0x52, 0x06, 0x5a, 0x13, 0x81, 0xd7, 0x3a,
0xd4, 0x3b, 0xfb, 0x49, 0x65, 0x31, 0x33, 0xb2,
0xfa, 0xcd, 0xad, 0x58, 0x4e, 0x2b, 0xae, 0xd2,
0x20, 0xfb, 0x1a, 0x48, 0xb4, 0x3f, 0x9a, 0xd8,
0x7a, 0x35, 0x4a, 0xc8, 0xee, 0x88, 0x5e, 0x07,
0x66, 0x54, 0xb9, 0xec, 0x9f, 0xa3, 0xe3, 0xb9,
0x37, 0xaa, 0x49, 0x76, 0x31, 0xda, 0x74, 0x2d,
0x3c, 0xa4, 0x65, 0x10, 0x32, 0x38, 0xf0, 0xde,
0xd3, 0x99, 0x17, 0xaa, 0x71, 0xaa, 0x8f, 0x0f,
0x8c, 0xaf, 0xa2, 0xf8, 0x5d, 0x64, 0xba, 0x1d,
0xa3, 0xef, 0x96, 0x73, 0xe8, 0xa1, 0x02, 0x8d,
0x0c, 0x6d, 0xb8, 0x06, 0x90, 0xb8, 0x08, 0x56,
0x2c, 0xa7, 0x06, 0xc9, 0xc2, 0x38, 0xdb, 0x7c,
0x63, 0xb1, 0x57, 0x8e, 0xea, 0x7c, 0x79, 0xf3,
0x49, 0x1d, 0xfe, 0x9f, 0xf3, 0x6e, 0xb1, 0x1d,
0xba, 0x19, 0x80, 0x1a, 0x0a, 0xd3, 0xb0, 0x26,
0x21, 0x40, 0xb1, 0x7c, 0xf9, 0x4d, 0x8d, 0x10,
0xc1, 0x7e, 0xf4, 0xf6, 0x3c, 0xa8, 0xfd, 0x7c,
0xa3, 0x92, 0xb2, 0x0f, 0xaa, 0xcc, 0xa6, 0x11,
0xfe, 0x04, 0xe3, 0xd1, 0x7a, 0x32, 0x89, 0xdf,
0x0d, 0xc4, 0x8f, 0x79, 0x6b, 0xca, 0x16, 0x7c,
0x6e, 0xf9, 0xad, 0x0f, 0xf6, 0xfe, 0x27, 0xdb,
0xc4, 0x13, 0x70, 0xf1, 0x62, 0x1a, 0x4f, 0x79,
0x40, 0xc9, 0x9b, 0x8b, 0x21, 0xea, 0x84, 0xfa,
0xf5, 0xf1, 0x89, 0xce, 0xb7, 0x55, 0x0a, 0x80,
0x39, 0x2f, 0x55, 0x36, 0x16, 0x9c, 0x7b, 0x08,
0xbd, 0x87, 0x0d, 0xa5, 0x32, 0xf1, 0x52, 0x7c,
0xe8, 0x55, 0x60, 0x5b, 0xd7, 0x69, 0xe4, 0xfc,
0xfa, 0x12, 0x85, 0x96, 0xea, 0x50, 0x28, 0xab,
0x8a, 0xf7, 0xbb, 0x0e, 0x53, 0x74, 0xca, 0xa6,
0x27, 0x09, 0xc2, 0xb5, 0xde, 0x18, 0x14, 0xd9,
0xea, 0xe5, 0x29, 0x1c, 0x40, 0x56, 0xcf, 0xd7,
0xae, 0x05, 0x3f, 0x65, 0xaf, 0x05, 0x73, 0xe2,
0x35, 0x96, 0x27, 0x07, 0x14, 0xc0, 0xad, 0x33,
0xf1, 0xdc, 0x44, 0x7a, 0x89, 0x17, 0x77, 0xd2,
0x9c, 0x58, 0x60, 0xf0, 0x3f, 0x7b, 0x2d, 0x2e,
0x57, 0x95, 0x54, 0x87, 0xed, 0xf2, 0xc7, 0x4c,
0xf0, 0xae, 0x56, 0x29, 0x19, 0x7d, 0x66, 0x4b,
0x9b, 0x83, 0x84, 0x42, 0x3b, 0x01, 0x25, 0x66,
0x8e, 0x02, 0xde, 0xb9, 0x83, 0x54, 0x19, 0xf6,
0x9f, 0x79, 0x0d, 0x67, 0xc5, 0x1d, 0x7a, 0x44,
0x02, 0x98, 0xa7, 0x16, 0x1c, 0x29, 0x0d, 0x74,
0xff, 0x85, 0x40, 0x06, 0xef, 0x2c, 0xa9, 0xc6,
0xf5, 0x53, 0x07, 0x06, 0xae, 0xe4, 0xfa, 0x5f,
0xd8, 0x39, 0x4d, 0xf1, 0x9b, 0x6b, 0xd9, 0x24,
0x84, 0xfe, 0x03, 0x4c, 0xb2, 0x3f, 0xdf, 0xa1,
0x05, 0x9e, 0x50, 0x14, 0x5a, 0xd9, 0x1a, 0xa2,
0xa7, 0xfa, 0xfa, 0x17, 0xf7, 0x78, 0xd6, 0xb5,
0x92, 0x61, 0x91, 0xac, 0x36, 0xfa, 0x56, 0x0d,
0x38, 0x32, 0x18, 0x85, 0x08, 0x58, 0x37, 0xf0,
0x4b, 0xdb, 0x59, 0xe7, 0xa4, 0x34, 0xc0, 0x1b,
0x01, 0xaf, 0x2d, 0xde, 0xa1, 0xaa, 0x5d, 0xd3,
0xec, 0xe1, 0xd4, 0xf7, 0xe6, 0x54, 0x68, 0xf0,
0x51, 0x97, 0xa7, 0x89, 0xea, 0x24, 0xad, 0xd3,
0x6e, 0x47, 0x93, 0x8b, 0x4b, 0xb4, 0xf7, 0x1c,
0x42, 0x06, 0x67, 0xe8, 0x99, 0xf6, 0xf5, 0x7b,
0x85, 0xb5, 0x65, 0xb5, 0xb5, 0xd2, 0x37, 0xf5,
0xf3, 0x02, 0xa6, 0x4d, 0x11, 0xa7, 0xdc, 0x51,
0x09, 0x7f, 0xa0, 0xd8, 0x88, 0x1c, 0x13, 0x71,
0xae, 0x9c, 0xb7, 0x7b, 0x34, 0xd6, 0x4e, 0x68,
0x26, 0x83, 0x51, 0xaf, 0x1d, 0xee, 0x8b, 0xbb,
0x69, 0x43, 0x2b, 0x9e, 0x8a, 0xbc, 0x02, 0x0e,
0xa0, 0x1b, 0xe0, 0xa8, 0x5f, 0x6f, 0xaf, 0x1b,
0x8f, 0xe7, 0x64, 0x71, 0x74, 0x11, 0x7e, 0xa8,
0xd8, 0xf9, 0x97, 0x06, 0xc3, 0xb6, 0xfb, 0xfb,
0xb7, 0x3d, 0x35, 0x9d, 0x3b, 0x52, 0xed, 0x54,
0xca, 0xf4, 0x81, 0x01, 0x2d, 0x1b, 0xc3, 0xa7,
0x00, 0x3d, 0x1a, 0x39, 0x54, 0xe1, 0xf6, 0xff,
0xed, 0x6f, 0x0b, 0x5a, 0x68, 0xda, 0x58, 0xdd,
0xa9, 0xcf, 0x5c, 0x4a, 0xe5, 0x09, 0x4e, 0xde,
0x9d, 0xbc, 0x3e, 0xee, 0x5a, 0x00, 0x3b, 0x2c,
0x87, 0x10, 0x65, 0x60, 0xdd, 0xd7, 0x56, 0xd1,
0x4c, 0x64, 0x45, 0xe4, 0x21, 0xec, 0x78, 0xf8,
0x25, 0x7a, 0x3e, 0x16, 0x5d, 0x09, 0x53, 0x14,
0xbe, 0x4f, 0xae, 0x87, 0xd8, 0xd1, 0xaa, 0x3c,
0xf6, 0x3e, 0xa4, 0x70, 0x8c, 0x5e, 0x70, 0xa4,
0xb3, 0x6b, 0x66, 0x73, 0xd3, 0xbf, 0x31, 0x06,
0x19, 0x62, 0x93, 0x15, 0xf2, 0x86, 0xe4, 0x52,
0x7e, 0x53, 0x4c, 0x12, 0x38, 0xcc, 0x34, 0x7d,
0x57, 0xf6, 0x42, 0x93, 0x8a, 0xc4, 0xee, 0x5c,
0x8a, 0xe1, 0x52, 0x8f, 0x56, 0x64, 0xf6, 0xa6,
0xd1, 0x91, 0x57, 0x70, 0xcd, 0x11, 0x76, 0xf5,
0x59, 0x60, 0x60, 0x3c, 0xc1, 0xc3, 0x0b, 0x7f,
0x58, 0x1a, 0x50, 0x91, 0xf1, 0x68, 0x8f, 0x6e,
0x74, 0x74, 0xa8, 0x51, 0x0b, 0xf7, 0x7a, 0x98,
0x37, 0xf2, 0x0a, 0x0e, 0xa4, 0x97, 0x04, 0xb8,
0x9b, 0xfd, 0xa0, 0xea, 0xf7, 0x0d, 0xe1, 0xdb,
0x03, 0xf0, 0x31, 0x29, 0xf8, 0xdd, 0x6b, 0x8b,
0x5d, 0xd8, 0x59, 0xa9, 0x29, 0xcf, 0x9a, 0x79,
0x89, 0x19, 0x63, 0x46, 0x09, 0x79, 0x6a, 0x11,
0xda, 0x63, 0x68, 0x48, 0x77, 0x23, 0xfb, 0x7d,
0x3a, 0x43, 0xcb, 0x02, 0x3b, 0x7a, 0x6d, 0x10,
0x2a, 0x9e, 0xac, 0xf1, 0xd4, 0x19, 0xf8, 0x23,
0x64, 0x1d, 0x2c, 0x5f, 0xf2, 0xb0, 0x5c, 0x23,
0x27, 0xf7, 0x27, 0x30, 0x16, 0x37, 0xb1, 0x90,
0xab, 0x38, 0xfb, 0x55, 0xcd, 0x78, 0x58, 0xd4,
0x7d, 0x43, 0xf6, 0x45, 0x5e, 0x55, 0x8d, 0xb1,
0x02, 0x65, 0x58, 0xb4, 0x13, 0x4b, 0x36, 0xf7,
0xcc, 0xfe, 0x3d, 0x0b, 0x82, 0xe2, 0x12, 0x11,
0xbb, 0xe6, 0xb8, 0x3a, 0x48, 0x71, 0xc7, 0x50,
0x06, 0x16, 0x3a, 0xe6, 0x7c, 0x05, 0xc7, 0xc8,
0x4d, 0x2f, 0x08, 0x6a, 0x17, 0x9a, 0x95, 0x97,
0x50, 0x68, 0xdc, 0x28, 0x18, 0xc4, 0x61, 0x38,
0xb9, 0xe0, 0x3e, 0x78, 0xdb, 0x29, 0xe0, 0x9f,
0x52, 0xdd, 0xf8, 0x4f, 0x91, 0xc1, 0xd0, 0x33,
0xa1, 0x7a, 0x8e, 0x30, 0x13, 0x82, 0x07, 0x9f,
0xd3, 0x31, 0x0f, 0x23, 0xbe, 0x32, 0x5a, 0x75,
0xcf, 0x96, 0xb2, 0xec, 0xb5, 0x32, 0xac, 0x21,
0xd1, 0x82, 0x33, 0xd3, 0x15, 0x74, 0xbd, 0x90,
0xf1, 0x2c, 0xe6, 0x5f, 0x8d, 0xe3, 0x02, 0xe8,
0xe9, 0xc4, 0xca, 0x96, 0xeb, 0x0e, 0xbc, 0x91,
0xf4, 0xb9, 0xea, 0xd9, 0x1b, 0x75, 0xbd, 0xe1,
0xac, 0x2a, 0x05, 0x37, 0x52, 0x9b, 0x1b, 0x3f,
0x5a, 0xdc, 0x21, 0xc3, 0x98, 0xbb, 0xaf, 0xa3,
0xf2, 0x00, 0xbf, 0x0d, 0x30, 0x89, 0x05, 0xcc,
0xa5, 0x76, 0xf5, 0x06, 0xf0, 0xc6, 0x54, 0x8a,
0x5d, 0xd4, 0x1e, 0xc1, 0xf2, 0xce, 0xb0, 0x62,
0xc8, 0xfc, 0x59, 0x42, 0x9a, 0x90, 0x60, 0x55,
0xfe, 0x88, 0xa5, 0x8b, 0xb8, 0x33, 0x0c, 0x23,
0x24, 0x0d, 0x15, 0x70, 0x37, 0x1e, 0x3d, 0xf6,
0xd2, 0xea, 0x92, 0x10, 0xb2, 0xc4, 0x51, 0xac,
0xf2, 0xac, 0xf3, 0x6b, 0x6c, 0xaa, 0xcf, 0x12,
0xc5, 0x6c, 0x90, 0x50, 0xb5, 0x0c, 0xfc, 0x1a,
0x15, 0x52, 0xe9, 0x26, 0xc6, 0x52, 0xa4, 0xe7,
0x81, 0x69, 0xe1, 0xe7, 0x9e, 0x30, 0x01, 0xec,
0x84, 0x89, 0xb2, 0x0d, 0x66, 0xdd, 0xce, 0x28,
0x5c, 0xec, 0x98, 0x46, 0x68, 0x21, 0x9f, 0x88,
0x3f, 0x1f, 0x42, 0x77, 0xce, 0xd0, 0x61, 0xd4,
0x20, 0xa7, 0xff, 0x53, 0xad, 0x37, 0xd0, 0x17,
0x35, 0xc9, 0xfc, 0xba, 0x0a, 0x78, 0x3f, 0xf2,
0xcc, 0x86, 0x89, 0xe8, 0x4b, 0x3c, 0x48, 0x33,
0x09, 0x7f, 0xc6, 0xc0, 0xdd, 0xb8, 0xfd, 0x7a,
0x66, 0x66, 0x65, 0xeb, 0x47, 0xa7, 0x04, 0x28,
0xa3, 0x19, 0x8e, 0xa9, 0xb1, 0x13, 0x67, 0x62,
0x70, 0xcf, 0xd7
};
static const uint8_t chacha20poly1305_dec_output013[] = {
0x74, 0xa6, 0x3e, 0xe4, 0xb1, 0xcb, 0xaf, 0xb0,
0x40, 0xe5, 0x0f, 0x9e, 0xf1, 0xf2, 0x89, 0xb5,
0x42, 0x34, 0x8a, 0xa1, 0x03, 0xb7, 0xe9, 0x57,
0x46, 0xbe, 0x20, 0xe4, 0x6e, 0xb0, 0xeb, 0xff,
0xea, 0x07, 0x7e, 0xef, 0xe2, 0x55, 0x9f, 0xe5,
0x78, 0x3a, 0xb7, 0x83, 0xc2, 0x18, 0x40, 0x7b,
0xeb, 0xcd, 0x81, 0xfb, 0x90, 0x12, 0x9e, 0x46,
0xa9, 0xd6, 0x4a, 0xba, 0xb0, 0x62, 0xdb, 0x6b,
0x99, 0xc4, 0xdb, 0x54, 0x4b, 0xb8, 0xa5, 0x71,
0xcb, 0xcd, 0x63, 0x32, 0x55, 0xfb, 0x31, 0xf0,
0x38, 0xf5, 0xbe, 0x78, 0xe4, 0x45, 0xce, 0x1b,
0x6a, 0x5b, 0x0e, 0xf4, 0x16, 0xe4, 0xb1, 0x3d,
0xf6, 0x63, 0x7b, 0xa7, 0x0c, 0xde, 0x6f, 0x8f,
0x74, 0xdf, 0xe0, 0x1e, 0x9d, 0xce, 0x8f, 0x24,
0xef, 0x23, 0x35, 0x33, 0x7b, 0x83, 0x34, 0x23,
0x58, 0x74, 0x14, 0x77, 0x1f, 0xc2, 0x4f, 0x4e,
0xc6, 0x89, 0xf9, 0x52, 0x09, 0x37, 0x64, 0x14,
0xc4, 0x01, 0x6b, 0x9d, 0x77, 0xe8, 0x90, 0x5d,
0xa8, 0x4a, 0x2a, 0xef, 0x5c, 0x7f, 0xeb, 0xbb,
0xb2, 0xc6, 0x93, 0x99, 0x66, 0xdc, 0x7f, 0xd4,
0x9e, 0x2a, 0xca, 0x8d, 0xdb, 0xe7, 0x20, 0xcf,
0xe4, 0x73, 0xae, 0x49, 0x7d, 0x64, 0x0f, 0x0e,
0x28, 0x46, 0xa9, 0xa8, 0x32, 0xe4, 0x0e, 0xf6,
0x51, 0x53, 0xb8, 0x3c, 0xb1, 0xff, 0xa3, 0x33,
0x41, 0x75, 0xff, 0xf1, 0x6f, 0xf1, 0xfb, 0xbb,
0x83, 0x7f, 0x06, 0x9b, 0xe7, 0x1b, 0x0a, 0xe0,
0x5c, 0x33, 0x60, 0x5b, 0xdb, 0x5b, 0xed, 0xfe,
0xa5, 0x16, 0x19, 0x72, 0xa3, 0x64, 0x23, 0x00,
0x02, 0xc7, 0xf3, 0x6a, 0x81, 0x3e, 0x44, 0x1d,
0x79, 0x15, 0x5f, 0x9a, 0xde, 0xe2, 0xfd, 0x1b,
0x73, 0xc1, 0xbc, 0x23, 0xba, 0x31, 0xd2, 0x50,
0xd5, 0xad, 0x7f, 0x74, 0xa7, 0xc9, 0xf8, 0x3e,
0x2b, 0x26, 0x10, 0xf6, 0x03, 0x36, 0x74, 0xe4,
0x0e, 0x6a, 0x72, 0xb7, 0x73, 0x0a, 0x42, 0x28,
0xc2, 0xad, 0x5e, 0x03, 0xbe, 0xb8, 0x0b, 0xa8,
0x5b, 0xd4, 0xb8, 0xba, 0x52, 0x89, 0xb1, 0x9b,
0xc1, 0xc3, 0x65, 0x87, 0xed, 0xa5, 0xf4, 0x86,
0xfd, 0x41, 0x80, 0x91, 0x27, 0x59, 0x53, 0x67,
0x15, 0x78, 0x54, 0x8b, 0x2d, 0x3d, 0xc7, 0xff,
0x02, 0x92, 0x07, 0x5f, 0x7a, 0x4b, 0x60, 0x59,
0x3c, 0x6f, 0x5c, 0xd8, 0xec, 0x95, 0xd2, 0xfe,
0xa0, 0x3b, 0xd8, 0x3f, 0xd1, 0x69, 0xa6, 0xd6,
0x41, 0xb2, 0xf4, 0x4d, 0x12, 0xf4, 0x58, 0x3e,
0x66, 0x64, 0x80, 0x31, 0x9b, 0xa8, 0x4c, 0x8b,
0x07, 0xb2, 0xec, 0x66, 0x94, 0x66, 0x47, 0x50,
0x50, 0x5f, 0x18, 0x0b, 0x0e, 0xd6, 0xc0, 0x39,
0x21, 0x13, 0x9e, 0x33, 0xbc, 0x79, 0x36, 0x02,
0x96, 0x70, 0xf0, 0x48, 0x67, 0x2f, 0x26, 0xe9,
0x6d, 0x10, 0xbb, 0xd6, 0x3f, 0xd1, 0x64, 0x7a,
0x2e, 0xbe, 0x0c, 0x61, 0xf0, 0x75, 0x42, 0x38,
0x23, 0xb1, 0x9e, 0x9f, 0x7c, 0x67, 0x66, 0xd9,
0x58, 0x9a, 0xf1, 0xbb, 0x41, 0x2a, 0x8d, 0x65,
0x84, 0x94, 0xfc, 0xdc, 0x6a, 0x50, 0x64, 0xdb,
0x56, 0x33, 0x76, 0x00, 0x10, 0xed, 0xbe, 0xd2,
0x12, 0xf6, 0xf6, 0x1b, 0xa2, 0x16, 0xde, 0xae,
0x31, 0x95, 0xdd, 0xb1, 0x08, 0x7e, 0x4e, 0xee,
0xe7, 0xf9, 0xa5, 0xfb, 0x5b, 0x61, 0x43, 0x00,
0x40, 0xf6, 0x7e, 0x02, 0x04, 0x32, 0x4e, 0x0c,
0xe2, 0x66, 0x0d, 0xd7, 0x07, 0x98, 0x0e, 0xf8,
0x72, 0x34, 0x6d, 0x95, 0x86, 0xd7, 0xcb, 0x31,
0x54, 0x47, 0xd0, 0x38, 0x29, 0x9c, 0x5a, 0x68,
0xd4, 0x87, 0x76, 0xc9, 0xe7, 0x7e, 0xe3, 0xf4,
0x81, 0x6d, 0x18, 0xcb, 0xc9, 0x05, 0xaf, 0xa0,
0xfb, 0x66, 0xf7, 0xf1, 0x1c, 0xc6, 0x14, 0x11,
0x4f, 0x2b, 0x79, 0x42, 0x8b, 0xbc, 0xac, 0xe7,
0x6c, 0xfe, 0x0f, 0x58, 0xe7, 0x7c, 0x78, 0x39,
0x30, 0xb0, 0x66, 0x2c, 0x9b, 0x6d, 0x3a, 0xe1,
0xcf, 0xc9, 0xa4, 0x0e, 0x6d, 0x6d, 0x8a, 0xa1,
0x3a, 0xe7, 0x28, 0xd4, 0x78, 0x4c, 0xa6, 0xa2,
0x2a, 0xa6, 0x03, 0x30, 0xd7, 0xa8, 0x25, 0x66,
0x87, 0x2f, 0x69, 0x5c, 0x4e, 0xdd, 0xa5, 0x49,
0x5d, 0x37, 0x4a, 0x59, 0xc4, 0xaf, 0x1f, 0xa2,
0xe4, 0xf8, 0xa6, 0x12, 0x97, 0xd5, 0x79, 0xf5,
0xe2, 0x4a, 0x2b, 0x5f, 0x61, 0xe4, 0x9e, 0xe3,
0xee, 0xb8, 0xa7, 0x5b, 0x2f, 0xf4, 0x9e, 0x6c,
0xfb, 0xd1, 0xc6, 0x56, 0x77, 0xba, 0x75, 0xaa,
0x3d, 0x1a, 0xa8, 0x0b, 0xb3, 0x68, 0x24, 0x00,
0x10, 0x7f, 0xfd, 0xd7, 0xa1, 0x8d, 0x83, 0x54,
0x4f, 0x1f, 0xd8, 0x2a, 0xbe, 0x8a, 0x0c, 0x87,
0xab, 0xa2, 0xde, 0xc3, 0x39, 0xbf, 0x09, 0x03,
0xa5, 0xf3, 0x05, 0x28, 0xe1, 0xe1, 0xee, 0x39,
0x70, 0x9c, 0xd8, 0x81, 0x12, 0x1e, 0x02, 0x40,
0xd2, 0x6e, 0xf0, 0xeb, 0x1b, 0x3d, 0x22, 0xc6,
0xe5, 0xe3, 0xb4, 0x5a, 0x98, 0xbb, 0xf0, 0x22,
0x28, 0x8d, 0xe5, 0xd3, 0x16, 0x48, 0x24, 0xa5,
0xe6, 0x66, 0x0c, 0xf9, 0x08, 0xf9, 0x7e, 0x1e,
0xe1, 0x28, 0x26, 0x22, 0xc7, 0xc7, 0x0a, 0x32,
0x47, 0xfa, 0xa3, 0xbe, 0x3c, 0xc4, 0xc5, 0x53,
0x0a, 0xd5, 0x94, 0x4a, 0xd7, 0x93, 0xd8, 0x42,
0x99, 0xb9, 0x0a, 0xdb, 0x56, 0xf7, 0xb9, 0x1c,
0x53, 0x4f, 0xfa, 0xd3, 0x74, 0xad, 0xd9, 0x68,
0xf1, 0x1b, 0xdf, 0x61, 0xc6, 0x5e, 0xa8, 0x48,
0xfc, 0xd4, 0x4a, 0x4c, 0x3c, 0x32, 0xf7, 0x1c,
0x96, 0x21, 0x9b, 0xf9, 0xa3, 0xcc, 0x5a, 0xce,
0xd5, 0xd7, 0x08, 0x24, 0xf6, 0x1c, 0xfd, 0xdd,
0x38, 0xc2, 0x32, 0xe9, 0xb8, 0xe7, 0xb6, 0xfa,
0x9d, 0x45, 0x13, 0x2c, 0x83, 0xfd, 0x4a, 0x69,
0x82, 0xcd, 0xdc, 0xb3, 0x76, 0x0c, 0x9e, 0xd8,
0xf4, 0x1b, 0x45, 0x15, 0xb4, 0x97, 0xe7, 0x58,
0x34, 0xe2, 0x03, 0x29, 0x5a, 0xbf, 0xb6, 0xe0,
0x5d, 0x13, 0xd9, 0x2b, 0xb4, 0x80, 0xb2, 0x45,
0x81, 0x6a, 0x2e, 0x6c, 0x89, 0x7d, 0xee, 0xbb,
0x52, 0xdd, 0x1f, 0x18, 0xe7, 0x13, 0x6b, 0x33,
0x0e, 0xea, 0x36, 0x92, 0x77, 0x7b, 0x6d, 0x9c,
0x5a, 0x5f, 0x45, 0x7b, 0x7b, 0x35, 0x62, 0x23,
0xd1, 0xbf, 0x0f, 0xd0, 0x08, 0x1b, 0x2b, 0x80,
0x6b, 0x7e, 0xf1, 0x21, 0x47, 0xb0, 0x57, 0xd1,
0x98, 0x72, 0x90, 0x34, 0x1c, 0x20, 0x04, 0xff,
0x3d, 0x5c, 0xee, 0x0e, 0x57, 0x5f, 0x6f, 0x24,
0x4e, 0x3c, 0xea, 0xfc, 0xa5, 0xa9, 0x83, 0xc9,
0x61, 0xb4, 0x51, 0x24, 0xf8, 0x27, 0x5e, 0x46,
0x8c, 0xb1, 0x53, 0x02, 0x96, 0x35, 0xba, 0xb8,
0x4c, 0x71, 0xd3, 0x15, 0x59, 0x35, 0x22, 0x20,
0xad, 0x03, 0x9f, 0x66, 0x44, 0x3b, 0x9c, 0x35,
0x37, 0x1f, 0x9b, 0xbb, 0xf3, 0xdb, 0x35, 0x63,
0x30, 0x64, 0xaa, 0xa2, 0x06, 0xa8, 0x5d, 0xbb,
0xe1, 0x9f, 0x70, 0xec, 0x82, 0x11, 0x06, 0x36,
0xec, 0x8b, 0x69, 0x66, 0x24, 0x44, 0xc9, 0x4a,
0x57, 0xbb, 0x9b, 0x78, 0x13, 0xce, 0x9c, 0x0c,
0xba, 0x92, 0x93, 0x63, 0xb8, 0xe2, 0x95, 0x0f,
0x0f, 0x16, 0x39, 0x52, 0xfd, 0x3a, 0x6d, 0x02,
0x4b, 0xdf, 0x13, 0xd3, 0x2a, 0x22, 0xb4, 0x03,
0x7c, 0x54, 0x49, 0x96, 0x68, 0x54, 0x10, 0xfa,
0xef, 0xaa, 0x6c, 0xe8, 0x22, 0xdc, 0x71, 0x16,
0x13, 0x1a, 0xf6, 0x28, 0xe5, 0x6d, 0x77, 0x3d,
0xcd, 0x30, 0x63, 0xb1, 0x70, 0x52, 0xa1, 0xc5,
0x94, 0x5f, 0xcf, 0xe8, 0xb8, 0x26, 0x98, 0xf7,
0x06, 0xa0, 0x0a, 0x70, 0xfa, 0x03, 0x80, 0xac,
0xc1, 0xec, 0xd6, 0x4c, 0x54, 0xd7, 0xfe, 0x47,
0xb6, 0x88, 0x4a, 0xf7, 0x71, 0x24, 0xee, 0xf3,
0xd2, 0xc2, 0x4a, 0x7f, 0xfe, 0x61, 0xc7, 0x35,
0xc9, 0x37, 0x67, 0xcb, 0x24, 0x35, 0xda, 0x7e,
0xca, 0x5f, 0xf3, 0x8d, 0xd4, 0x13, 0x8e, 0xd6,
0xcb, 0x4d, 0x53, 0x8f, 0x53, 0x1f, 0xc0, 0x74,
0xf7, 0x53, 0xb9, 0x5e, 0x23, 0x37, 0xba, 0x6e,
0xe3, 0x9d, 0x07, 0x55, 0x25, 0x7b, 0xe6, 0x2a,
0x64, 0xd1, 0x32, 0xdd, 0x54, 0x1b, 0x4b, 0xc0,
0xe1, 0xd7, 0x69, 0x58, 0xf8, 0x93, 0x29, 0xc4,
0xdd, 0x23, 0x2f, 0xa5, 0xfc, 0x9d, 0x7e, 0xf8,
0xd4, 0x90, 0xcd, 0x82, 0x55, 0xdc, 0x16, 0x16,
0x9f, 0x07, 0x52, 0x9b, 0x9d, 0x25, 0xed, 0x32,
0xc5, 0x7b, 0xdf, 0xf6, 0x83, 0x46, 0x3d, 0x65,
0xb7, 0xef, 0x87, 0x7a, 0x12, 0x69, 0x8f, 0x06,
0x7c, 0x51, 0x15, 0x4a, 0x08, 0xe8, 0xac, 0x9a,
0x0c, 0x24, 0xa7, 0x27, 0xd8, 0x46, 0x2f, 0xe7,
0x01, 0x0e, 0x1c, 0xc6, 0x91, 0xb0, 0x6e, 0x85,
0x65, 0xf0, 0x29, 0x0d, 0x2e, 0x6b, 0x3b, 0xfb,
0x4b, 0xdf, 0xe4, 0x80, 0x93, 0x03, 0x66, 0x46,
0x3e, 0x8a, 0x6e, 0xf3, 0x5e, 0x4d, 0x62, 0x0e,
0x49, 0x05, 0xaf, 0xd4, 0xf8, 0x21, 0x20, 0x61,
0x1d, 0x39, 0x17, 0xf4, 0x61, 0x47, 0x95, 0xfb,
0x15, 0x2e, 0xb3, 0x4f, 0xd0, 0x5d, 0xf5, 0x7d,
0x40, 0xda, 0x90, 0x3c, 0x6b, 0xcb, 0x17, 0x00,
0x13, 0x3b, 0x64, 0x34, 0x1b, 0xf0, 0xf2, 0xe5,
0x3b, 0xb2, 0xc7, 0xd3, 0x5f, 0x3a, 0x44, 0xa6,
0x9b, 0xb7, 0x78, 0x0e, 0x42, 0x5d, 0x4c, 0xc1,
0xe9, 0xd2, 0xcb, 0xb7, 0x78, 0xd1, 0xfe, 0x9a,
0xb5, 0x07, 0xe9, 0xe0, 0xbe, 0xe2, 0x8a, 0xa7,
0x01, 0x83, 0x00, 0x8c, 0x5c, 0x08, 0xe6, 0x63,
0x12, 0x92, 0xb7, 0xb7, 0xa6, 0x19, 0x7d, 0x38,
0x13, 0x38, 0x92, 0x87, 0x24, 0xf9, 0x48, 0xb3,
0x5e, 0x87, 0x6a, 0x40, 0x39, 0x5c, 0x3f, 0xed,
0x8f, 0xee, 0xdb, 0x15, 0x82, 0x06, 0xda, 0x49,
0x21, 0x2b, 0xb5, 0xbf, 0x32, 0x7c, 0x9f, 0x42,
0x28, 0x63, 0xcf, 0xaf, 0x1e, 0xf8, 0xc6, 0xa0,
0xd1, 0x02, 0x43, 0x57, 0x62, 0xec, 0x9b, 0x0f,
0x01, 0x9e, 0x71, 0xd8, 0x87, 0x9d, 0x01, 0xc1,
0x58, 0x77, 0xd9, 0xaf, 0xb1, 0x10, 0x7e, 0xdd,
0xa6, 0x50, 0x96, 0xe5, 0xf0, 0x72, 0x00, 0x6d,
0x4b, 0xf8, 0x2a, 0x8f, 0x19, 0xf3, 0x22, 0x88,
0x11, 0x4a, 0x8b, 0x7c, 0xfd, 0xb7, 0xed, 0xe1,
0xf6, 0x40, 0x39, 0xe0, 0xe9, 0xf6, 0x3d, 0x25,
0xe6, 0x74, 0x3c, 0x58, 0x57, 0x7f, 0xe1, 0x22,
0x96, 0x47, 0x31, 0x91, 0xba, 0x70, 0x85, 0x28,
0x6b, 0x9f, 0x6e, 0x25, 0xac, 0x23, 0x66, 0x2f,
0x29, 0x88, 0x28, 0xce, 0x8c, 0x5c, 0x88, 0x53,
0xd1, 0x3b, 0xcc, 0x6a, 0x51, 0xb2, 0xe1, 0x28,
0x3f, 0x91, 0xb4, 0x0d, 0x00, 0x3a, 0xe3, 0xf8,
0xc3, 0x8f, 0xd7, 0x96, 0x62, 0x0e, 0x2e, 0xfc,
0xc8, 0x6c, 0x77, 0xa6, 0x1d, 0x22, 0xc1, 0xb8,
0xe6, 0x61, 0xd7, 0x67, 0x36, 0x13, 0x7b, 0xbb,
0x9b, 0x59, 0x09, 0xa6, 0xdf, 0xf7, 0x6b, 0xa3,
0x40, 0x1a, 0xf5, 0x4f, 0xb4, 0xda, 0xd3, 0xf3,
0x81, 0x93, 0xc6, 0x18, 0xd9, 0x26, 0xee, 0xac,
0xf0, 0xaa, 0xdf, 0xc5, 0x9c, 0xca, 0xc2, 0xa2,
0xcc, 0x7b, 0x5c, 0x24, 0xb0, 0xbc, 0xd0, 0x6a,
0x4d, 0x89, 0x09, 0xb8, 0x07, 0xfe, 0x87, 0xad,
0x0a, 0xea, 0xb8, 0x42, 0xf9, 0x5e, 0xb3, 0x3e,
0x36, 0x4c, 0xaf, 0x75, 0x9e, 0x1c, 0xeb, 0xbd,
0xbc, 0xbb, 0x80, 0x40, 0xa7, 0x3a, 0x30, 0xbf,
0xa8, 0x44, 0xf4, 0xeb, 0x38, 0xad, 0x29, 0xba,
0x23, 0xed, 0x41, 0x0c, 0xea, 0xd2, 0xbb, 0x41,
0x18, 0xd6, 0xb9, 0xba, 0x65, 0x2b, 0xa3, 0x91,
0x6d, 0x1f, 0xa9, 0xf4, 0xd1, 0x25, 0x8d, 0x4d,
0x38, 0xff, 0x64, 0xa0, 0xec, 0xde, 0xa6, 0xb6,
0x79, 0xab, 0x8e, 0x33, 0x6c, 0x47, 0xde, 0xaf,
0x94, 0xa4, 0xa5, 0x86, 0x77, 0x55, 0x09, 0x92,
0x81, 0x31, 0x76, 0xc7, 0x34, 0x22, 0x89, 0x8e,
0x3d, 0x26, 0x26, 0xd7, 0xfc, 0x1e, 0x16, 0x72,
0x13, 0x33, 0x63, 0xd5, 0x22, 0xbe, 0xb8, 0x04,
0x34, 0x84, 0x41, 0xbb, 0x80, 0xd0, 0x9f, 0x46,
0x48, 0x07, 0xa7, 0xfc, 0x2b, 0x3a, 0x75, 0x55,
0x8c, 0xc7, 0x6a, 0xbd, 0x7e, 0x46, 0x08, 0x84,
0x0f, 0xd5, 0x74, 0xc0, 0x82, 0x8e, 0xaa, 0x61,
0x05, 0x01, 0xb2, 0x47, 0x6e, 0x20, 0x6a, 0x2d,
0x58, 0x70, 0x48, 0x32, 0xa7, 0x37, 0xd2, 0xb8,
0x82, 0x1a, 0x51, 0xb9, 0x61, 0xdd, 0xfd, 0x9d,
0x6b, 0x0e, 0x18, 0x97, 0xf8, 0x45, 0x5f, 0x87,
0x10, 0xcf, 0x34, 0x72, 0x45, 0x26, 0x49, 0x70,
0xe7, 0xa3, 0x78, 0xe0, 0x52, 0x89, 0x84, 0x94,
0x83, 0x82, 0xc2, 0x69, 0x8f, 0xe3, 0xe1, 0x3f,
0x60, 0x74, 0x88, 0xc4, 0xf7, 0x75, 0x2c, 0xfb,
0xbd, 0xb6, 0xc4, 0x7e, 0x10, 0x0a, 0x6c, 0x90,
0x04, 0x9e, 0xc3, 0x3f, 0x59, 0x7c, 0xce, 0x31,
0x18, 0x60, 0x57, 0x73, 0x46, 0x94, 0x7d, 0x06,
0xa0, 0x6d, 0x44, 0xec, 0xa2, 0x0a, 0x9e, 0x05,
0x15, 0xef, 0xca, 0x5c, 0xbf, 0x00, 0xeb, 0xf7,
0x3d, 0x32, 0xd4, 0xa5, 0xef, 0x49, 0x89, 0x5e,
0x46, 0xb0, 0xa6, 0x63, 0x5b, 0x8a, 0x73, 0xae,
0x6f, 0xd5, 0x9d, 0xf8, 0x4f, 0x40, 0xb5, 0xb2,
0x6e, 0xd3, 0xb6, 0x01, 0xa9, 0x26, 0xa2, 0x21,
0xcf, 0x33, 0x7a, 0x3a, 0xa4, 0x23, 0x13, 0xb0,
0x69, 0x6a, 0xee, 0xce, 0xd8, 0x9d, 0x01, 0x1d,
0x50, 0xc1, 0x30, 0x6c, 0xb1, 0xcd, 0xa0, 0xf0,
0xf0, 0xa2, 0x64, 0x6f, 0xbb, 0xbf, 0x5e, 0xe6,
0xab, 0x87, 0xb4, 0x0f, 0x4f, 0x15, 0xaf, 0xb5,
0x25, 0xa1, 0xb2, 0xd0, 0x80, 0x2c, 0xfb, 0xf9,
0xfe, 0xd2, 0x33, 0xbb, 0x76, 0xfe, 0x7c, 0xa8,
0x66, 0xf7, 0xe7, 0x85, 0x9f, 0x1f, 0x85, 0x57,
0x88, 0xe1, 0xe9, 0x63, 0xe4, 0xd8, 0x1c, 0xa1,
0xfb, 0xda, 0x44, 0x05, 0x2e, 0x1d, 0x3a, 0x1c,
0xff, 0xc8, 0x3b, 0xc0, 0xfe, 0xda, 0x22, 0x0b,
0x43, 0xd6, 0x88, 0x39, 0x4c, 0x4a, 0xa6, 0x69,
0x18, 0x93, 0x42, 0x4e, 0xb5, 0xcc, 0x66, 0x0d,
0x09, 0xf8, 0x1e, 0x7c, 0xd3, 0x3c, 0x99, 0x0d,
0x50, 0x1d, 0x62, 0xe9, 0x57, 0x06, 0xbf, 0x19,
0x88, 0xdd, 0xad, 0x7b, 0x4f, 0xf9, 0xc7, 0x82,
0x6d, 0x8d, 0xc8, 0xc4, 0xc5, 0x78, 0x17, 0x20,
0x15, 0xc5, 0x52, 0x41, 0xcf, 0x5b, 0xd6, 0x7f,
0x94, 0x02, 0x41, 0xe0, 0x40, 0x22, 0x03, 0x5e,
0xd1, 0x53, 0xd4, 0x86, 0xd3, 0x2c, 0x9f, 0x0f,
0x96, 0xe3, 0x6b, 0x9a, 0x76, 0x32, 0x06, 0x47,
0x4b, 0x11, 0xb3, 0xdd, 0x03, 0x65, 0xbd, 0x9b,
0x01, 0xda, 0x9c, 0xb9, 0x7e, 0x3f, 0x6a, 0xc4,
0x7b, 0xea, 0xd4, 0x3c, 0xb9, 0xfb, 0x5c, 0x6b,
0x64, 0x33, 0x52, 0xba, 0x64, 0x78, 0x8f, 0xa4,
0xaf, 0x7a, 0x61, 0x8d, 0xbc, 0xc5, 0x73, 0xe9,
0x6b, 0x58, 0x97, 0x4b, 0xbf, 0x63, 0x22, 0xd3,
0x37, 0x02, 0x54, 0xc5, 0xb9, 0x16, 0x4a, 0xf0,
0x19, 0xd8, 0x94, 0x57, 0xb8, 0x8a, 0xb3, 0x16,
0x3b, 0xd0, 0x84, 0x8e, 0x67, 0xa6, 0xa3, 0x7d,
0x78, 0xec, 0x00
};
static const uint8_t chacha20poly1305_dec_assoc013[] = {
0xb1, 0x69, 0x83, 0x87, 0x30, 0xaa, 0x5d, 0xb8,
0x77, 0xe8, 0x21, 0xff, 0x06, 0x59, 0x35, 0xce,
0x75, 0xfe, 0x38, 0xef, 0xb8, 0x91, 0x43, 0x8c,
0xcf, 0x70, 0xdd, 0x0a, 0x68, 0xbf, 0xd4, 0xbc,
0x16, 0x76, 0x99, 0x36, 0x1e, 0x58, 0x79, 0x5e,
0xd4, 0x29, 0xf7, 0x33, 0x93, 0x48, 0xdb, 0x5f,
0x01, 0xae, 0x9c, 0xb6, 0xe4, 0x88, 0x6d, 0x2b,
0x76, 0x75, 0xe0, 0xf3, 0x74, 0xe2, 0xc9
};
static const uint8_t chacha20poly1305_dec_nonce013[] = {
0x05, 0xa3, 0x93, 0xed, 0x30, 0xc5, 0xa2, 0x06
};
static const uint8_t chacha20poly1305_dec_key013[] = {
0xb3, 0x35, 0x50, 0x03, 0x54, 0x2e, 0x40, 0x5e,
0x8f, 0x59, 0x8e, 0xc5, 0x90, 0xd5, 0x27, 0x2d,
0xba, 0x29, 0x2e, 0xcb, 0x1b, 0x70, 0x44, 0x1e,
0x65, 0x91, 0x6e, 0x2a, 0x79, 0x22, 0xda, 0x64
};
static const struct chacha20poly1305_testvec chacha20poly1305_dec_vectors[] = {
{ chacha20poly1305_dec_input001, chacha20poly1305_dec_output001, chacha20poly1305_dec_assoc001, chacha20poly1305_dec_nonce001, chacha20poly1305_dec_key001,
sizeof(chacha20poly1305_dec_input001), sizeof(chacha20poly1305_dec_assoc001), sizeof(chacha20poly1305_dec_nonce001) },
{ chacha20poly1305_dec_input002, chacha20poly1305_dec_output002, chacha20poly1305_dec_assoc002, chacha20poly1305_dec_nonce002, chacha20poly1305_dec_key002,
sizeof(chacha20poly1305_dec_input002), sizeof(chacha20poly1305_dec_assoc002), sizeof(chacha20poly1305_dec_nonce002) },
{ chacha20poly1305_dec_input003, chacha20poly1305_dec_output003, chacha20poly1305_dec_assoc003, chacha20poly1305_dec_nonce003, chacha20poly1305_dec_key003,
sizeof(chacha20poly1305_dec_input003), sizeof(chacha20poly1305_dec_assoc003), sizeof(chacha20poly1305_dec_nonce003) },
{ chacha20poly1305_dec_input004, chacha20poly1305_dec_output004, chacha20poly1305_dec_assoc004, chacha20poly1305_dec_nonce004, chacha20poly1305_dec_key004,
sizeof(chacha20poly1305_dec_input004), sizeof(chacha20poly1305_dec_assoc004), sizeof(chacha20poly1305_dec_nonce004) },
{ chacha20poly1305_dec_input005, chacha20poly1305_dec_output005, chacha20poly1305_dec_assoc005, chacha20poly1305_dec_nonce005, chacha20poly1305_dec_key005,
sizeof(chacha20poly1305_dec_input005), sizeof(chacha20poly1305_dec_assoc005), sizeof(chacha20poly1305_dec_nonce005) },
{ chacha20poly1305_dec_input006, chacha20poly1305_dec_output006, chacha20poly1305_dec_assoc006, chacha20poly1305_dec_nonce006, chacha20poly1305_dec_key006,
sizeof(chacha20poly1305_dec_input006), sizeof(chacha20poly1305_dec_assoc006), sizeof(chacha20poly1305_dec_nonce006) },
{ chacha20poly1305_dec_input007, chacha20poly1305_dec_output007, chacha20poly1305_dec_assoc007, chacha20poly1305_dec_nonce007, chacha20poly1305_dec_key007,
sizeof(chacha20poly1305_dec_input007), sizeof(chacha20poly1305_dec_assoc007), sizeof(chacha20poly1305_dec_nonce007) },
{ chacha20poly1305_dec_input008, chacha20poly1305_dec_output008, chacha20poly1305_dec_assoc008, chacha20poly1305_dec_nonce008, chacha20poly1305_dec_key008,
sizeof(chacha20poly1305_dec_input008), sizeof(chacha20poly1305_dec_assoc008), sizeof(chacha20poly1305_dec_nonce008) },
{ chacha20poly1305_dec_input009, chacha20poly1305_dec_output009, chacha20poly1305_dec_assoc009, chacha20poly1305_dec_nonce009, chacha20poly1305_dec_key009,
sizeof(chacha20poly1305_dec_input009), sizeof(chacha20poly1305_dec_assoc009), sizeof(chacha20poly1305_dec_nonce009) },
{ chacha20poly1305_dec_input010, chacha20poly1305_dec_output010, chacha20poly1305_dec_assoc010, chacha20poly1305_dec_nonce010, chacha20poly1305_dec_key010,
sizeof(chacha20poly1305_dec_input010), sizeof(chacha20poly1305_dec_assoc010), sizeof(chacha20poly1305_dec_nonce010) },
{ chacha20poly1305_dec_input011, chacha20poly1305_dec_output011, chacha20poly1305_dec_assoc011, chacha20poly1305_dec_nonce011, chacha20poly1305_dec_key011,
sizeof(chacha20poly1305_dec_input011), sizeof(chacha20poly1305_dec_assoc011), sizeof(chacha20poly1305_dec_nonce011) },
{ chacha20poly1305_dec_input012, chacha20poly1305_dec_output012, chacha20poly1305_dec_assoc012, chacha20poly1305_dec_nonce012, chacha20poly1305_dec_key012,
sizeof(chacha20poly1305_dec_input012), sizeof(chacha20poly1305_dec_assoc012), sizeof(chacha20poly1305_dec_nonce012) },
{ chacha20poly1305_dec_input013, chacha20poly1305_dec_output013, chacha20poly1305_dec_assoc013, chacha20poly1305_dec_nonce013, chacha20poly1305_dec_key013,
sizeof(chacha20poly1305_dec_input013), sizeof(chacha20poly1305_dec_assoc013), sizeof(chacha20poly1305_dec_nonce013),
true }
};
static const uint8_t xchacha20poly1305_enc_input001[] = {
0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,
0x2d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x73, 0x20,
0x61, 0x72, 0x65, 0x20, 0x64, 0x72, 0x61, 0x66,
0x74, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20,
0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
0x6f, 0x66, 0x20, 0x73, 0x69, 0x78, 0x20, 0x6d,
0x6f, 0x6e, 0x74, 0x68, 0x73, 0x20, 0x61, 0x6e,
0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65,
0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x2c, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,
0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6f,
0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x20, 0x62, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x61, 0x74, 0x20, 0x61,
0x6e, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69,
0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72,
0x69, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20,
0x75, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x2d, 0x44, 0x72, 0x61,
0x66, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
0x6c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x20,
0x63, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65,
0x6d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x20,
0x2f, 0xe2, 0x80, 0x9c, 0x77, 0x6f, 0x72, 0x6b,
0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x67,
0x72, 0x65, 0x73, 0x73, 0x2e, 0x2f, 0xe2, 0x80,
0x9d
};
static const uint8_t xchacha20poly1305_enc_output001[] = {
0x1a, 0x6e, 0x3a, 0xd9, 0xfd, 0x41, 0x3f, 0x77,
0x54, 0x72, 0x0a, 0x70, 0x9a, 0xa0, 0x29, 0x92,
0x2e, 0xed, 0x93, 0xcf, 0x0f, 0x71, 0x88, 0x18,
0x7a, 0x9d, 0x2d, 0x24, 0xe0, 0xf5, 0xea, 0x3d,
0x55, 0x64, 0xd7, 0xad, 0x2a, 0x1a, 0x1f, 0x7e,
0x86, 0x6d, 0xb0, 0xce, 0x80, 0x41, 0x72, 0x86,
0x26, 0xee, 0x84, 0xd7, 0xef, 0x82, 0x9e, 0xe2,
0x60, 0x9d, 0x5a, 0xfc, 0xf0, 0xe4, 0x19, 0x85,
0xea, 0x09, 0xc6, 0xfb, 0xb3, 0xa9, 0x50, 0x09,
0xec, 0x5e, 0x11, 0x90, 0xa1, 0xc5, 0x4e, 0x49,
0xef, 0x50, 0xd8, 0x8f, 0xe0, 0x78, 0xd7, 0xfd,
0xb9, 0x3b, 0xc9, 0xf2, 0x91, 0xc8, 0x25, 0xc8,
0xa7, 0x63, 0x60, 0xce, 0x10, 0xcd, 0xc6, 0x7f,
0xf8, 0x16, 0xf8, 0xe1, 0x0a, 0xd9, 0xde, 0x79,
0x50, 0x33, 0xf2, 0x16, 0x0f, 0x17, 0xba, 0xb8,
0x5d, 0xd8, 0xdf, 0x4e, 0x51, 0xa8, 0x39, 0xd0,
0x85, 0xca, 0x46, 0x6a, 0x10, 0xa7, 0xa3, 0x88,
0xef, 0x79, 0xb9, 0xf8, 0x24, 0xf3, 0xe0, 0x71,
0x7b, 0x76, 0x28, 0x46, 0x3a, 0x3a, 0x1b, 0x91,
0xb6, 0xd4, 0x3e, 0x23, 0xe5, 0x44, 0x15, 0xbf,
0x60, 0x43, 0x9d, 0xa4, 0xbb, 0xd5, 0x5f, 0x89,
0xeb, 0xef, 0x8e, 0xfd, 0xdd, 0xb4, 0x0d, 0x46,
0xf0, 0x69, 0x23, 0x63, 0xae, 0x94, 0xf5, 0x5e,
0xa5, 0xad, 0x13, 0x1c, 0x41, 0x76, 0xe6, 0x90,
0xd6, 0x6d, 0xa2, 0x8f, 0x97, 0x4c, 0xa8, 0x0b,
0xcf, 0x8d, 0x43, 0x2b, 0x9c, 0x9b, 0xc5, 0x58,
0xa5, 0xb6, 0x95, 0x9a, 0xbf, 0x81, 0xc6, 0x54,
0xc9, 0x66, 0x0c, 0xe5, 0x4f, 0x6a, 0x53, 0xa1,
0xe5, 0x0c, 0xba, 0x31, 0xde, 0x34, 0x64, 0x73,
0x8a, 0x3b, 0xbd, 0x92, 0x01, 0xdb, 0x71, 0x69,
0xf3, 0x58, 0x99, 0xbc, 0xd1, 0xcb, 0x4a, 0x05,
0xe2, 0x58, 0x9c, 0x25, 0x17, 0xcd, 0xdc, 0x83,
0xb7, 0xff, 0xfb, 0x09, 0x61, 0xad, 0xbf, 0x13,
0x5b, 0x5e, 0xed, 0x46, 0x82, 0x6f, 0x22, 0xd8,
0x93, 0xa6, 0x85, 0x5b, 0x40, 0x39, 0x5c, 0xc5,
0x9c
};
static const uint8_t xchacha20poly1305_enc_assoc001[] = {
0xf3, 0x33, 0x88, 0x86, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4e, 0x91
};
static const uint8_t xchacha20poly1305_enc_nonce001[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17
};
static const uint8_t xchacha20poly1305_enc_key001[] = {
0x1c, 0x92, 0x40, 0xa5, 0xeb, 0x55, 0xd3, 0x8a,
0xf3, 0x33, 0x88, 0x86, 0x04, 0xf6, 0xb5, 0xf0,
0x47, 0x39, 0x17, 0xc1, 0x40, 0x2b, 0x80, 0x09,
0x9d, 0xca, 0x5c, 0xbc, 0x20, 0x70, 0x75, 0xc0
};
static const struct chacha20poly1305_testvec xchacha20poly1305_enc_vectors[] = {
{ xchacha20poly1305_enc_input001, xchacha20poly1305_enc_output001, xchacha20poly1305_enc_assoc001, xchacha20poly1305_enc_nonce001, xchacha20poly1305_enc_key001,
sizeof(xchacha20poly1305_enc_input001), sizeof(xchacha20poly1305_enc_assoc001), sizeof(xchacha20poly1305_enc_nonce001) }
};
static const uint8_t xchacha20poly1305_dec_input001[] = {
0x1a, 0x6e, 0x3a, 0xd9, 0xfd, 0x41, 0x3f, 0x77,
0x54, 0x72, 0x0a, 0x70, 0x9a, 0xa0, 0x29, 0x92,
0x2e, 0xed, 0x93, 0xcf, 0x0f, 0x71, 0x88, 0x18,
0x7a, 0x9d, 0x2d, 0x24, 0xe0, 0xf5, 0xea, 0x3d,
0x55, 0x64, 0xd7, 0xad, 0x2a, 0x1a, 0x1f, 0x7e,
0x86, 0x6d, 0xb0, 0xce, 0x80, 0x41, 0x72, 0x86,
0x26, 0xee, 0x84, 0xd7, 0xef, 0x82, 0x9e, 0xe2,
0x60, 0x9d, 0x5a, 0xfc, 0xf0, 0xe4, 0x19, 0x85,
0xea, 0x09, 0xc6, 0xfb, 0xb3, 0xa9, 0x50, 0x09,
0xec, 0x5e, 0x11, 0x90, 0xa1, 0xc5, 0x4e, 0x49,
0xef, 0x50, 0xd8, 0x8f, 0xe0, 0x78, 0xd7, 0xfd,
0xb9, 0x3b, 0xc9, 0xf2, 0x91, 0xc8, 0x25, 0xc8,
0xa7, 0x63, 0x60, 0xce, 0x10, 0xcd, 0xc6, 0x7f,
0xf8, 0x16, 0xf8, 0xe1, 0x0a, 0xd9, 0xde, 0x79,
0x50, 0x33, 0xf2, 0x16, 0x0f, 0x17, 0xba, 0xb8,
0x5d, 0xd8, 0xdf, 0x4e, 0x51, 0xa8, 0x39, 0xd0,
0x85, 0xca, 0x46, 0x6a, 0x10, 0xa7, 0xa3, 0x88,
0xef, 0x79, 0xb9, 0xf8, 0x24, 0xf3, 0xe0, 0x71,
0x7b, 0x76, 0x28, 0x46, 0x3a, 0x3a, 0x1b, 0x91,
0xb6, 0xd4, 0x3e, 0x23, 0xe5, 0x44, 0x15, 0xbf,
0x60, 0x43, 0x9d, 0xa4, 0xbb, 0xd5, 0x5f, 0x89,
0xeb, 0xef, 0x8e, 0xfd, 0xdd, 0xb4, 0x0d, 0x46,
0xf0, 0x69, 0x23, 0x63, 0xae, 0x94, 0xf5, 0x5e,
0xa5, 0xad, 0x13, 0x1c, 0x41, 0x76, 0xe6, 0x90,
0xd6, 0x6d, 0xa2, 0x8f, 0x97, 0x4c, 0xa8, 0x0b,
0xcf, 0x8d, 0x43, 0x2b, 0x9c, 0x9b, 0xc5, 0x58,
0xa5, 0xb6, 0x95, 0x9a, 0xbf, 0x81, 0xc6, 0x54,
0xc9, 0x66, 0x0c, 0xe5, 0x4f, 0x6a, 0x53, 0xa1,
0xe5, 0x0c, 0xba, 0x31, 0xde, 0x34, 0x64, 0x73,
0x8a, 0x3b, 0xbd, 0x92, 0x01, 0xdb, 0x71, 0x69,
0xf3, 0x58, 0x99, 0xbc, 0xd1, 0xcb, 0x4a, 0x05,
0xe2, 0x58, 0x9c, 0x25, 0x17, 0xcd, 0xdc, 0x83,
0xb7, 0xff, 0xfb, 0x09, 0x61, 0xad, 0xbf, 0x13,
0x5b, 0x5e, 0xed, 0x46, 0x82, 0x6f, 0x22, 0xd8,
0x93, 0xa6, 0x85, 0x5b, 0x40, 0x39, 0x5c, 0xc5,
0x9c
};
static const uint8_t xchacha20poly1305_dec_output001[] = {
0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74,
0x2d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x73, 0x20,
0x61, 0x72, 0x65, 0x20, 0x64, 0x72, 0x61, 0x66,
0x74, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20,
0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20,
0x6f, 0x66, 0x20, 0x73, 0x69, 0x78, 0x20, 0x6d,
0x6f, 0x6e, 0x74, 0x68, 0x73, 0x20, 0x61, 0x6e,
0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65,
0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x2c, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,
0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6f,
0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x64,
0x20, 0x62, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65,
0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x20, 0x61, 0x74, 0x20, 0x61,
0x6e, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e,
0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69,
0x6e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72,
0x69, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20,
0x75, 0x73, 0x65, 0x20, 0x49, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x65, 0x74, 0x2d, 0x44, 0x72, 0x61,
0x66, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
0x20, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
0x6c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x20,
0x63, 0x69, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65,
0x6d, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20,
0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x20,
0x2f, 0xe2, 0x80, 0x9c, 0x77, 0x6f, 0x72, 0x6b,
0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x67,
0x72, 0x65, 0x73, 0x73, 0x2e, 0x2f, 0xe2, 0x80,
0x9d
};
static const uint8_t xchacha20poly1305_dec_assoc001[] = {
0xf3, 0x33, 0x88, 0x86, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4e, 0x91
};
static const uint8_t xchacha20poly1305_dec_nonce001[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17
};
static const uint8_t xchacha20poly1305_dec_key001[] = {
0x1c, 0x92, 0x40, 0xa5, 0xeb, 0x55, 0xd3, 0x8a,
0xf3, 0x33, 0x88, 0x86, 0x04, 0xf6, 0xb5, 0xf0,
0x47, 0x39, 0x17, 0xc1, 0x40, 0x2b, 0x80, 0x09,
0x9d, 0xca, 0x5c, 0xbc, 0x20, 0x70, 0x75, 0xc0
};
static const struct chacha20poly1305_testvec xchacha20poly1305_dec_vectors[] = {
{ xchacha20poly1305_dec_input001, xchacha20poly1305_dec_output001, xchacha20poly1305_dec_assoc001, xchacha20poly1305_dec_nonce001, xchacha20poly1305_dec_key001,
sizeof(xchacha20poly1305_dec_input001), sizeof(xchacha20poly1305_dec_assoc001), sizeof(xchacha20poly1305_dec_nonce001) }
};
static bool chacha20_selftest(void)
{
enum {
MAXIMUM_TEST_BUFFER_LEN = 1UL << 10,
OUTRAGEOUSLY_HUGE_BUFFER_LEN = 4096 * 35 + 17 /* 143k */
};
size_t i, j, k;
uint32_t derived_key[CHACHA20_KEY_WORDS];
uint8_t *offset_input = NULL, *computed_output = NULL, *massive_input = NULL;
uint8_t offset_key[CHACHA20_KEY_SIZE + 1]
__attribute__((aligned(__alignof__(unsigned long))));
struct chacha20_ctx state;
bool success = true;
offset_input = malloc(MAXIMUM_TEST_BUFFER_LEN + 1);
computed_output = malloc(MAXIMUM_TEST_BUFFER_LEN + 1);
massive_input = malloc(OUTRAGEOUSLY_HUGE_BUFFER_LEN);
if (!computed_output || !offset_input || !massive_input) {
printf("chacha20 self-test malloc: FAIL\n");
success = false;
goto out;
}
for (i = 0; i < ARRAY_SIZE(chacha20_testvecs); ++i) {
/* Boring case */
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN + 1);
memset(&state, 0, sizeof(state));
chacha20_init(&state, chacha20_testvecs[i].key,
chacha20_testvecs[i].nonce);
chacha20(&state, computed_output, chacha20_testvecs[i].input,
chacha20_testvecs[i].ilen);
if (memcmp(computed_output, chacha20_testvecs[i].output,
chacha20_testvecs[i].ilen)) {
printf("chacha20 self-test %zu: FAIL\n", i + 1);
success = false;
}
for (k = chacha20_testvecs[i].ilen;
k < MAXIMUM_TEST_BUFFER_LEN + 1; ++k) {
if (computed_output[k]) {
printf("chacha20 self-test %zu (zero check): FAIL\n",
i + 1);
success = false;
break;
}
}
/* Unaligned case */
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN + 1);
memset(&state, 0, sizeof(state));
memcpy(offset_input + 1, chacha20_testvecs[i].input,
chacha20_testvecs[i].ilen);
memcpy(offset_key + 1, chacha20_testvecs[i].key,
CHACHA20_KEY_SIZE);
chacha20_init(&state, offset_key + 1, chacha20_testvecs[i].nonce);
chacha20(&state, computed_output + 1, offset_input + 1,
chacha20_testvecs[i].ilen);
if (memcmp(computed_output + 1, chacha20_testvecs[i].output,
chacha20_testvecs[i].ilen)) {
printf("chacha20 self-test %zu (unaligned): FAIL\n",
i + 1);
success = false;
}
if (computed_output[0]) {
printf("chacha20 self-test %zu (unaligned, zero check): FAIL\n",
i + 1);
success = false;
}
for (k = chacha20_testvecs[i].ilen + 1;
k < MAXIMUM_TEST_BUFFER_LEN + 1; ++k) {
if (computed_output[k]) {
printf("chacha20 self-test %zu (unaligned, zero check): FAIL\n",
i + 1);
success = false;
break;
}
}
/* Chunked case */
if (chacha20_testvecs[i].ilen <= CHACHA20_BLOCK_SIZE)
goto next_test;
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN + 1);
memset(&state, 0, sizeof(state));
chacha20_init(&state, chacha20_testvecs[i].key,
chacha20_testvecs[i].nonce);
chacha20(&state, computed_output, chacha20_testvecs[i].input,
CHACHA20_BLOCK_SIZE);
chacha20(&state, computed_output + CHACHA20_BLOCK_SIZE,
chacha20_testvecs[i].input + CHACHA20_BLOCK_SIZE,
chacha20_testvecs[i].ilen - CHACHA20_BLOCK_SIZE);
if (memcmp(computed_output, chacha20_testvecs[i].output,
chacha20_testvecs[i].ilen)) {
printf("chacha20 self-test %zu (chunked): FAIL\n",
i + 1);
success = false;
}
for (k = chacha20_testvecs[i].ilen;
k < MAXIMUM_TEST_BUFFER_LEN + 1; ++k) {
if (computed_output[k]) {
printf("chacha20 self-test %zu (chunked, zero check): FAIL\n",
i + 1);
success = false;
break;
}
}
next_test:
/* Sliding unaligned case */
if (chacha20_testvecs[i].ilen > CHACHA20_BLOCK_SIZE + 1 ||
!chacha20_testvecs[i].ilen)
continue;
for (j = 1; j < CHACHA20_BLOCK_SIZE; ++j) {
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN + 1);
memset(&state, 0, sizeof(state));
memcpy(offset_input + j, chacha20_testvecs[i].input,
chacha20_testvecs[i].ilen);
chacha20_init(&state, chacha20_testvecs[i].key,
chacha20_testvecs[i].nonce);
chacha20(&state, computed_output + j, offset_input + j,
chacha20_testvecs[i].ilen);
if (memcmp(computed_output + j,
chacha20_testvecs[i].output,
chacha20_testvecs[i].ilen)) {
printf("chacha20 self-test %zu (unaligned, slide %zu): FAIL\n",
i + 1, j);
success = false;
}
for (k = j; k < j; ++k) {
if (computed_output[k]) {
printf("chacha20 self-test %zu (unaligned, slide %zu, zero check): FAIL\n",
i + 1, j);
success = false;
break;
}
}
for (k = chacha20_testvecs[i].ilen + j;
k < MAXIMUM_TEST_BUFFER_LEN + 1; ++k) {
if (computed_output[k]) {
printf("chacha20 self-test %zu (unaligned, slide %zu, zero check): FAIL\n",
i + 1, j);
success = false;
break;
}
}
}
}
for (i = 0; i < ARRAY_SIZE(hchacha20_testvecs); ++i) {
memset(&derived_key, 0, sizeof(derived_key));
hchacha20(derived_key, hchacha20_testvecs[i].nonce,
hchacha20_testvecs[i].key);
cpu_to_le32_array(derived_key, ARRAY_SIZE(derived_key));
if (memcmp(derived_key, hchacha20_testvecs[i].output,
CHACHA20_KEY_SIZE)) {
printf("hchacha20 self-test %zu: FAIL\n", i + 1);
success = false;
}
}
out:
free(offset_input);
free(computed_output);
free(massive_input);
return success;
}
static bool poly1305_selftest(void)
{
bool success = true;
size_t i, j;
for (i = 0; i < ARRAY_SIZE(poly1305_testvecs); ++i) {
struct poly1305_ctx poly1305;
uint8_t out[POLY1305_MAC_SIZE];
memset(out, 0, sizeof(out));
memset(&poly1305, 0, sizeof(poly1305));
poly1305_init(&poly1305, poly1305_testvecs[i].key);
poly1305_update(&poly1305, poly1305_testvecs[i].input,
poly1305_testvecs[i].ilen);
poly1305_final(&poly1305, out);
if (memcmp(out, poly1305_testvecs[i].output,
POLY1305_MAC_SIZE)) {
printf("poly1305 self-test %zu: FAIL\n", i + 1);
success = false;
}
if (poly1305_testvecs[i].ilen <= 1)
continue;
for (j = 1; j < poly1305_testvecs[i].ilen - 1; ++j) {
memset(out, 0, sizeof(out));
memset(&poly1305, 0, sizeof(poly1305));
poly1305_init(&poly1305, poly1305_testvecs[i].key);
poly1305_update(&poly1305, poly1305_testvecs[i].input,
j);
poly1305_update(&poly1305,
poly1305_testvecs[i].input + j,
poly1305_testvecs[i].ilen - j);
poly1305_final(&poly1305, out);
if (memcmp(out, poly1305_testvecs[i].output,
POLY1305_MAC_SIZE)) {
printf("poly1305 self-test %zu (split %zu): FAIL\n",
i + 1, j);
success = false;
}
}
}
return success;
}
static void
chacha20poly1305_selftest_encrypt_bignonce(uint8_t *dst, const uint8_t *src,
const size_t src_len, const uint8_t *ad,
const size_t ad_len,
const uint8_t nonce[12],
const uint8_t key[CHACHA20POLY1305_KEY_SIZE])
{
struct poly1305_ctx poly1305_state;
struct chacha20_ctx chacha20_state;
union {
uint8_t block0[POLY1305_KEY_SIZE];
uint64_t lens[2];
} b = {{ 0 }};
chacha20_init(&chacha20_state, key, 0);
chacha20_state.counter[1] = get_unaligned_le32(nonce + 0);
chacha20_state.counter[2] = get_unaligned_le32(nonce + 4);
chacha20_state.counter[3] = get_unaligned_le32(nonce + 8);
chacha20(&chacha20_state, b.block0, b.block0, sizeof(b.block0));
poly1305_init(&poly1305_state, b.block0);
poly1305_update(&poly1305_state, ad, ad_len);
poly1305_update(&poly1305_state, pad0, (0x10 - ad_len) & 0xf);
chacha20(&chacha20_state, dst, src, src_len);
poly1305_update(&poly1305_state, dst, src_len);
poly1305_update(&poly1305_state, pad0, (0x10 - src_len) & 0xf);
b.lens[0] = cpu_to_le64(ad_len);
b.lens[1] = cpu_to_le64(src_len);
poly1305_update(&poly1305_state, (uint8_t *)b.lens, sizeof(b.lens));
poly1305_final(&poly1305_state, dst + src_len);
memzero_explicit(&chacha20_state, sizeof(chacha20_state));
memzero_explicit(&b, sizeof(b));
}
static void
chacha20poly1305_selftest_encrypt(uint8_t *dst, const uint8_t *src, const size_t src_len,
const uint8_t *ad, const size_t ad_len,
const uint8_t *nonce, const size_t nonce_len,
const uint8_t key[CHACHA20POLY1305_KEY_SIZE])
{
if (nonce_len == 8)
chacha20poly1305_encrypt(dst, src, src_len, ad, ad_len,
get_unaligned_le64(nonce), key);
else if (nonce_len == 12)
chacha20poly1305_selftest_encrypt_bignonce(dst, src, src_len,
ad, ad_len, nonce,
key);
else
assert(0);
}
static bool
decryption_success(bool func_ret, bool expect_failure, int memcmp_result)
{
if (expect_failure)
return !func_ret;
return func_ret && !memcmp_result;
}
static bool chacha20poly1305_selftest(void)
{
enum { MAXIMUM_TEST_BUFFER_LEN = 1UL << 12 };
size_t i;
uint8_t *computed_output = NULL, *heap_src = NULL;
bool success = true, ret;
heap_src = malloc(MAXIMUM_TEST_BUFFER_LEN);
computed_output = malloc(MAXIMUM_TEST_BUFFER_LEN);
if (!heap_src || !computed_output) {
printf("chacha20poly1305 self-test malloc: FAIL\n");
success = false;
goto out;
}
for (i = 0; i < ARRAY_SIZE(chacha20poly1305_enc_vectors); ++i) {
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN);
chacha20poly1305_selftest_encrypt(computed_output,
chacha20poly1305_enc_vectors[i].input,
chacha20poly1305_enc_vectors[i].ilen,
chacha20poly1305_enc_vectors[i].assoc,
chacha20poly1305_enc_vectors[i].alen,
chacha20poly1305_enc_vectors[i].nonce,
chacha20poly1305_enc_vectors[i].nlen,
chacha20poly1305_enc_vectors[i].key);
if (memcmp(computed_output,
chacha20poly1305_enc_vectors[i].output,
chacha20poly1305_enc_vectors[i].ilen +
POLY1305_MAC_SIZE)) {
printf("chacha20poly1305 encryption self-test %zu: FAIL\n",
i + 1);
success = false;
}
}
for (i = 0; i < ARRAY_SIZE(chacha20poly1305_dec_vectors); ++i) {
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN);
ret = chacha20poly1305_decrypt(computed_output,
chacha20poly1305_dec_vectors[i].input,
chacha20poly1305_dec_vectors[i].ilen,
chacha20poly1305_dec_vectors[i].assoc,
chacha20poly1305_dec_vectors[i].alen,
get_unaligned_le64(chacha20poly1305_dec_vectors[i].nonce),
chacha20poly1305_dec_vectors[i].key);
if (!decryption_success(ret,
chacha20poly1305_dec_vectors[i].failure,
memcmp(computed_output,
chacha20poly1305_dec_vectors[i].output,
chacha20poly1305_dec_vectors[i].ilen -
POLY1305_MAC_SIZE))) {
printf("chacha20poly1305 decryption self-test %zu: FAIL\n",
i + 1);
success = false;
}
}
for (i = 0; i < ARRAY_SIZE(xchacha20poly1305_enc_vectors); ++i) {
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN);
xchacha20poly1305_encrypt(computed_output,
xchacha20poly1305_enc_vectors[i].input,
xchacha20poly1305_enc_vectors[i].ilen,
xchacha20poly1305_enc_vectors[i].assoc,
xchacha20poly1305_enc_vectors[i].alen,
xchacha20poly1305_enc_vectors[i].nonce,
xchacha20poly1305_enc_vectors[i].key);
if (memcmp(computed_output,
xchacha20poly1305_enc_vectors[i].output,
xchacha20poly1305_enc_vectors[i].ilen +
POLY1305_MAC_SIZE)) {
printf("xchacha20poly1305 encryption self-test %zu: FAIL\n",
i + 1);
success = false;
}
}
for (i = 0; i < ARRAY_SIZE(xchacha20poly1305_dec_vectors); ++i) {
memset(computed_output, 0, MAXIMUM_TEST_BUFFER_LEN);
ret = xchacha20poly1305_decrypt(computed_output,
xchacha20poly1305_dec_vectors[i].input,
xchacha20poly1305_dec_vectors[i].ilen,
xchacha20poly1305_dec_vectors[i].assoc,
xchacha20poly1305_dec_vectors[i].alen,
xchacha20poly1305_dec_vectors[i].nonce,
xchacha20poly1305_dec_vectors[i].key);
if (!decryption_success(ret,
xchacha20poly1305_dec_vectors[i].failure,
memcmp(computed_output,
xchacha20poly1305_dec_vectors[i].output,
xchacha20poly1305_dec_vectors[i].ilen -
POLY1305_MAC_SIZE))) {
printf("xchacha20poly1305 decryption self-test %zu: FAIL\n",
i + 1);
success = false;
}
}
out:
free(heap_src);
free(computed_output);
return success;
}
int main(int argc, char *argv[])
{
bool failure = false;
failure |= !chacha20_selftest();
failure |= !poly1305_selftest();
failure |= !chacha20poly1305_selftest();
if (!failure)
printf("All tests pass.\n");
return failure;
}
#!/bin/bash
vob=`zenity --file-selection`
size=`stat -c %s "$vob"`
twentypercent=`echo $size \* .2 | bc | xargs printf "%1.0f"`
(( twentypercent++ ))
directory=`dirname "$vob"`
outvob="$directory/out.vob"
audiotrack="$directory/audiotrack.txt"
tail -c +$twentypercent "$vob" | head -c 164857600 > "$outvob"
vlc "$outvob"
rm "$outvob"
zenity --entry --text="Please enter the correct audio track number. This must be a digit." --entry-text=1 > "$audiotrack"
track=`cat $audiotrack`
zenity --info --text="You've set the audio track for $vob to $track."
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/module.h>
#include <linux/random.h>
#include <asm/unaligned.h>
/* Change this value to 1, 2, or 3. */
#define USE_METHOD 1
#define POLY1305_BLOCK_SIZE 16
#define POLY1305_KEY_SIZE 32
#define POLY1305_MAC_SIZE 16
struct poly1305_ctx {
/* key */
u32 r[5];
/* finalize key */
u32 s[4];
/* accumulator */
u32 h[5];
/* partial buffer */
u8 buf[POLY1305_BLOCK_SIZE];
/* bytes used in partial buffer */
unsigned int buflen;
};
static inline u32 le32_to_cpuvp(const void *p)
{
return le32_to_cpup(p);
}
static inline u64 mlt(u64 a, u64 b)
{
return a * b;
}
static inline u32 sr(u64 v, u_char n)
{
return v >> n;
}
static inline u32 and(u32 v, u32 mask)
{
return v & mask;
}
static void poly1305_init(struct poly1305_ctx *ctx, const u8 key[static POLY1305_KEY_SIZE])
{
#if USE_METHOD == 3
u32 t0, t1, t2, t3;
#endif
memset(ctx, 0, sizeof(struct poly1305_ctx));
/* r &= 0xffffffc0ffffffc0ffffffc0fffffff */
#if USE_METHOD == 1
ctx->r[0] = (le32_to_cpuvp(key + 0) >> 0) & 0x3ffffff;
ctx->r[1] = (le32_to_cpuvp(key + 3) >> 2) & 0x3ffff03;
ctx->r[2] = (le32_to_cpuvp(key + 6) >> 4) & 0x3ffc0ff;
ctx->r[3] = (le32_to_cpuvp(key + 9) >> 6) & 0x3f03fff;
ctx->r[4] = (le32_to_cpuvp(key + 12) >> 8) & 0x00fffff;
#elif USE_METHOD == 2
ctx->r[0] = (le32_to_cpuvp(key + 0) >> 0) & 0x3ffffff;
ctx->r[1] = (get_unaligned_le32(key + 3) >> 2) & 0x3ffff03;
ctx->r[2] = (get_unaligned_le32(key + 6) >> 4) & 0x3ffc0ff;
ctx->r[3] = (get_unaligned_le32(key + 9) >> 6) & 0x3f03fff;
ctx->r[4] = (le32_to_cpuvp(key + 12) >> 8) & 0x00fffff;
#elif USE_METHOD == 3
t0 = le32_to_cpuvp(key + 0);
t1 = le32_to_cpuvp(key + 4);
t2 = le32_to_cpuvp(key + 8);
t3 = le32_to_cpuvp(key + 12);
ctx->r[0] = t0 & 0x3ffffff; t0 >>= 26; t0 |= t1 << 6;
ctx->r[1] = t0 & 0x3ffff03; t1 >>= 20; t1 |= t2 << 12;
ctx->r[2] = t1 & 0x3ffc0ff; t2 >>= 14; t2 |= t3 << 18;
ctx->r[3] = t2 & 0x3f03fff; t3 >>= 8;
ctx->r[4] = t3 & 0x00fffff;
#else
#error "USE_METHOD should be 1, 2, or 3."
#endif
ctx->s[0] = le32_to_cpuvp(key + 16);
ctx->s[1] = le32_to_cpuvp(key + 20);
ctx->s[2] = le32_to_cpuvp(key + 24);
ctx->s[3] = le32_to_cpuvp(key + 28);
}
static unsigned int poly1305_generic_blocks(struct poly1305_ctx *ctx, const u8 *src, unsigned int srclen, u32 hibit)
{
u32 r0, r1, r2, r3, r4;
u32 s1, s2, s3, s4;
u32 h0, h1, h2, h3, h4;
u64 d0, d1, d2, d3, d4;
#if USE_METHOD == 3
u32 t0, t1, t2, t3;
#endif
r0 = ctx->r[0];
r1 = ctx->r[1];
r2 = ctx->r[2];
r3 = ctx->r[3];
r4 = ctx->r[4];
s1 = r1 * 5;
s2 = r2 * 5;
s3 = r3 * 5;
s4 = r4 * 5;
h0 = ctx->h[0];
h1 = ctx->h[1];
h2 = ctx->h[2];
h3 = ctx->h[3];
h4 = ctx->h[4];
while (likely(srclen >= POLY1305_BLOCK_SIZE)) {
/* h += m[i] */
#if USE_METHOD == 1
h0 += (le32_to_cpuvp(src + 0) >> 0) & 0x3ffffff;
h1 += (le32_to_cpuvp(src + 3) >> 2) & 0x3ffffff;
h2 += (le32_to_cpuvp(src + 6) >> 4) & 0x3ffffff;
h3 += (le32_to_cpuvp(src + 9) >> 6) & 0x3ffffff;
h4 += (le32_to_cpuvp(src + 12) >> 8) | hibit;
#elif USE_METHOD == 2
h0 += (le32_to_cpuvp(src + 0) >> 0) & 0x3ffffff;
h1 += (get_unaligned_le32(src + 3) >> 2) & 0x3ffffff;
h2 += (get_unaligned_le32(src + 6) >> 4) & 0x3ffffff;
h3 += (get_unaligned_le32(src + 9) >> 6) & 0x3ffffff;
h4 += (le32_to_cpuvp(src + 12) >> 8) | hibit;
#elif USE_METHOD == 3
t0 = le32_to_cpuvp(src + 0);
t1 = le32_to_cpuvp(src + 4);
t2 = le32_to_cpuvp(src + 8);
t3 = le32_to_cpuvp(src + 12);
h0 += t0 & 0x3ffffff;
h1 += sr((((u64)t1 << 32) | t0), 26) & 0x3ffffff;
h2 += sr((((u64)t2 << 32) | t1), 20) & 0x3ffffff;
h3 += sr((((u64)t3 << 32) | t2), 14) & 0x3ffffff;
h4 += (t3 >> 8) | hibit;
#else
#error "USE_METHOD should be 1, 2, or 3."
#endif
/* h *= r */
d0 = mlt(h0, r0) + mlt(h1, s4) + mlt(h2, s3) + mlt(h3, s2) + mlt(h4, s1);
d1 = mlt(h0, r1) + mlt(h1, r0) + mlt(h2, s4) + mlt(h3, s3) + mlt(h4, s2);
d2 = mlt(h0, r2) + mlt(h1, r1) + mlt(h2, r0) + mlt(h3, s4) + mlt(h4, s3);
d3 = mlt(h0, r3) + mlt(h1, r2) + mlt(h2, r1) + mlt(h3, r0) + mlt(h4, s4);
d4 = mlt(h0, r4) + mlt(h1, r3) + mlt(h2, r2) + mlt(h3, r1) + mlt(h4, r0);
/* (partial) h %= p */
d1 += sr(d0, 26); h0 = and(d0, 0x3ffffff);
d2 += sr(d1, 26); h1 = and(d1, 0x3ffffff);
d3 += sr(d2, 26); h2 = and(d2, 0x3ffffff);
d4 += sr(d3, 26); h3 = and(d3, 0x3ffffff);
h0 += sr(d4, 26) * 5; h4 = and(d4, 0x3ffffff);
h1 += h0 >> 26; h0 = h0 & 0x3ffffff;
src += POLY1305_BLOCK_SIZE;
srclen -= POLY1305_BLOCK_SIZE;
}
ctx->h[0] = h0;
ctx->h[1] = h1;
ctx->h[2] = h2;
ctx->h[3] = h3;
ctx->h[4] = h4;
return srclen;
}
static void poly1305_update(struct poly1305_ctx *ctx, const u8 *src, unsigned int srclen)
{
unsigned int bytes;
if (unlikely(ctx->buflen)) {
bytes = min(srclen, POLY1305_BLOCK_SIZE - ctx->buflen);
memcpy(ctx->buf + ctx->buflen, src, bytes);
src += bytes;
srclen -= bytes;
ctx->buflen += bytes;
if (ctx->buflen == POLY1305_BLOCK_SIZE) {
poly1305_generic_blocks(ctx, ctx->buf, POLY1305_BLOCK_SIZE, 1 << 24);
ctx->buflen = 0;
}
}
if (likely(srclen >= POLY1305_BLOCK_SIZE)) {
bytes = poly1305_generic_blocks(ctx, src, srclen, 1 << 24);
src += srclen - bytes;
srclen = bytes;
}
if (unlikely(srclen)) {
ctx->buflen = srclen;
memcpy(ctx->buf, src, srclen);
}
}
static void poly1305_finish(struct poly1305_ctx *ctx, u8 *dst)
{
__le32 *mac = (__le32 *)dst;
u32 h0, h1, h2, h3, h4;
u32 g0, g1, g2, g3, g4;
u32 mask;
u64 f = 0;
if (unlikely(ctx->buflen)) {
ctx->buf[ctx->buflen++] = 1;
memset(ctx->buf + ctx->buflen, 0, POLY1305_BLOCK_SIZE - ctx->buflen);
poly1305_generic_blocks(ctx, ctx->buf, POLY1305_BLOCK_SIZE, 0);
}
/* fully carry h */
h0 = ctx->h[0];
h1 = ctx->h[1];
h2 = ctx->h[2];
h3 = ctx->h[3];
h4 = ctx->h[4];
h2 += (h1 >> 26); h1 = h1 & 0x3ffffff;
h3 += (h2 >> 26); h2 = h2 & 0x3ffffff;
h4 += (h3 >> 26); h3 = h3 & 0x3ffffff;
h0 += (h4 >> 26) * 5; h4 = h4 & 0x3ffffff;
h1 += (h0 >> 26); h0 = h0 & 0x3ffffff;
/* compute h + -p */
g0 = h0 + 5;
g1 = h1 + (g0 >> 26); g0 &= 0x3ffffff;
g2 = h2 + (g1 >> 26); g1 &= 0x3ffffff;
g3 = h3 + (g2 >> 26); g2 &= 0x3ffffff;
g4 = h4 + (g3 >> 26) - (1 << 26); g3 &= 0x3ffffff;
/* select h if h < p, or h + -p if h >= p */
mask = (g4 >> ((sizeof(u32) * 8) - 1)) - 1;
g0 &= mask;
g1 &= mask;
g2 &= mask;
g3 &= mask;
g4 &= mask;
mask = ~mask;
h0 = (h0 & mask) | g0;
h1 = (h1 & mask) | g1;
h2 = (h2 & mask) | g2;
h3 = (h3 & mask) | g3;
h4 = (h4 & mask) | g4;
/* h = h % (2^128) */
h0 = (h0 >> 0) | (h1 << 26);
h1 = (h1 >> 6) | (h2 << 20);
h2 = (h2 >> 12) | (h3 << 14);
h3 = (h3 >> 18) | (h4 << 8);
/* mac = (h + s) % (2^128) */
f = (f >> 32) + h0 + ctx->s[0]; mac[0] = cpu_to_le32(f);
f = (f >> 32) + h1 + ctx->s[1]; mac[1] = cpu_to_le32(f);
f = (f >> 32) + h2 + ctx->s[2]; mac[2] = cpu_to_le32(f);
f = (f >> 32) + h3 + ctx->s[3]; mac[3] = cpu_to_le32(f);
}
static int __init mod_init(void)
{
ktime_t start;
s64 elapsed_ns;
unsigned int i, j;
u8 key[POLY1305_KEY_SIZE];
u8 data[POLY1305_BLOCK_SIZE];
u8 big_data[8 * POLY1305_BLOCK_SIZE];
u8 output[POLY1305_MAC_SIZE];
struct poly1305_ctx ctx;
get_random_bytes(key, POLY1305_KEY_SIZE);
get_random_bytes(data, POLY1305_BLOCK_SIZE);
get_random_bytes(big_data, 8 * POLY1305_BLOCK_SIZE);
start = ktime_get();
for (i = 0; i < 4096 * 128; ++i) {
poly1305_init(&ctx, key);
for (j = 0; j < 128; ++j) {
poly1305_update(&ctx, data, POLY1305_BLOCK_SIZE);
poly1305_update(&ctx, big_data, 8 * POLY1305_BLOCK_SIZE);
}
poly1305_finish(&ctx, output);
}
elapsed_ns = ktime_to_ns(ktime_sub(ktime_get(), start));
pr_info("poly1305 benchmark: %lld nanoseconds\n", elapsed_ns);
return -EINVAL; // We don't actually want to insert this module...
}
static void __exit mod_exit(void)
{
}
module_init(mod_init);
module_exit(mod_exit);
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("Poly1305 Generic C Benchmarker");
MODULE_AUTHOR("Jason A. Donenfeld <Jason@zx2c4.com>");
#include <QCoreApplication>
#include <QContactManager>
#include <QContact>
#include <QContactDetail>
#include <QVersitContactExporter>
#include <QVersitDocument>
#include <QVersitWriter>
#include <QFile>
#include <QDebug>
QTM_USE_NAMESPACE
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
foreach (const QString &managerName, QContactManager::availableManagers()) {
qDebug() << "Exporting" << managerName;
QContactManager manager(managerName);
QVersitContactExporter exporter;
if (!exporter.exportContacts(manager.contacts()))
qDebug() << exporter.errorMap().count() << "contacts failed";
qDebug() << exporter.documents().count() << "contacts succeeded";
QFile stdout;
stdout.open(1, QIODevice::WriteOnly);
QVersitWriter writer(&stdout);
writer.startWriting(exporter.documents());
writer.waitForFinished();
}
}
. .
© Copyright 1996 - 2021 Jason A. Donenfeld. All Rights Reserved.